putenv: port to Solaris 10
[gnulib.git] / ChangeLog
1 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
2
3         putenv: port to Solaris 10
4         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
5         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
6         is not what is wanted here.
7         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
8         declaration, not for its existence.
9
10 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
11
12         mktime: fix configure typo
13         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
14
15 2013-03-12  Eric Blake  <eblake@redhat.com>
16
17         regex-tests: skip UTF-8 test on mingw
18         * modules/regex-tests (Depends-on): Add localcharset.
19         * tests/test-regex.c (main): Use it to skip test on mingw.
20
21 2013-03-11  Eric Blake  <eblake@redhat.com>
22
23         tests: make it easier to bypass alarm time in debugger
24         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
25         * tests/test-memmem.c (main): Likewise.
26         * tests/test-passfd.c (main): Likewise.
27         * tests/test-ptsname.c (main): Likewise.
28         * tests/test-ptsname_r.c (main): Likewise.
29         * tests/test-strcasestr.c (main): Likewise.
30         * tests/test-strstr.c (main): Likewise.
31
32         regex: port to mingw's recent addition of undeclared alarm
33         * doc/posix-functions/alarm.texi (alarm): Document that alarm
34         exists but still doesn't work in newer mingw.
35         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
36         not existence.  Ensure SIGALRM is not trapped.
37         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
38         * m4/regex.m4 (gl_REGEX): Likewise.
39         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
40         * tests/test-regex.c (main): Use correct probe for alarm.
41
42         putenv: avoid compilation warning on mingw
43         * lib/putenv.c (_unsetenv): Protect variable declaration.
44         (putenv): Fix indentation.
45
46 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
47
48         unistd: don't prevent Tru64 Unix from using gnulib strtod.
49         * lib/unistd.in.h: be careful not to include un-needed system
50         stdlib.h from here, because that prevents gnulib stdlib.h from
51         defining rpl_strtod correctly.
52
53 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
54
55         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
56         changesets, but for the 'precision 0' test.
57         * tests/test-vasprintf-posix.c (test_function): Don't insist on
58         round-to-even, since POSIX says rounding is implementation-defined
59         and OS X 10.8.2 rounds 1.51 to 1 here.
60
61         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
62         changeset.
63         * tests/test-vasprintf-posix.c (test_function): Don't insist on
64         round-to-even, since POSIX says rounding is implementation-defined
65         and OS X 10.8.2 rounds 1.5 to 1 here.
66
67 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
68
69         vasnprintf-posix-tests: allow rounding 1.5 to 1
70         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
71         round-to-even, since POSIX says rounding is implementation-defined
72         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
73         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
74
75         bootstrap: port to FreeBSD
76         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
77         that treat '--' differently.  Reported by Mats Erik Andersson in
78         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
79
80 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
81
82         regex: rename remaining __attribute calls to __attribute__.
83         2012-02-25 changed definition of __attribute, but left some uses
84         unchanged, preventing compilation of regex module on most non-gcc
85         environments.
86         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
87         (lookup_collation_sequence_value, build_range_exp)
88         (build_collating_symbol): Set attributes with newly renamed
89         __attribute__ decorator.
90         * lib/regex_internal.c (re_string_peek_byte_case)
91         (re_node_set_compare, re_node_set_contains): Likewise.
92         * lib/regexec.c (acquire_init_state_context): Likewise.
93
94 2013-03-06  Bruno Haible  <bruno@clisp.org>
95
96         execute: Revert last change, but use a different condition.
97         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
98         on Windows.
99
100 2013-03-05  Eric Blake  <eblake@redhat.com>
101
102         execute: drop dead code
103         * lib/execute.c (nonintr_close, nonintr_open): Delete.
104
105 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
106
107         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
108         * m4/non-recursive-gnulib-prefix-hack.m4
109         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
110         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
111         <http://bugs.gnu.org/10305#237>.
112
113 2013-03-04  Eric Blake  <eblake@redhat.com>
114
115         test-getsockopt: avoid compiler warning
116         * tests/test-getsockopt.c (includes): Ensure close is declared.
117
118 2013-03-02  Bruno Haible  <bruno@clisp.org>
119
120         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
121         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
122
123 2013-03-02  Bruno Haible  <bruno@clisp.org>
124
125         gettext: Update to version 0.18.2.
126         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
127         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
128                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
129
130 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
131
132         regex: merge patches from libc
133
134         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
135         * lib/regex_internal.h (__attribute__): Rename from __attribute.
136         All uses changed.
137         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
138         (re_string_wchar_at, re_string_elem_size_at):
139         Mark function as possibly unused.
140
141         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
142         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
143         elements compare against the byte sequence of it, not its name.
144
145 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
146
147         putenv: port better to native Windows
148         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
149         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
150         (_unsetenv): Use _putenv if available.
151         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
152         a bit less likely to cause damage.
153         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
154         Fix the wrong value with SetEnvironmentVariable.
155         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
156         code better.
157
158 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
159
160         regex: ignore old-style-definition warnings
161         * lib/regex.c: Add pragma to ignore these warnings.
162         Problem reported for GNU tar by Pavel Raiskup.
163
164 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
165
166         getcwd: support coreutils better
167         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
168         but this might not be correct in coreutils, which disables
169         the raw decl checks.  Problem reported by Nagendra in
170         <http://bugs.gnu.org/10305#192>.
171         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
172         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
173         Test the getcwd function, not any macro, since getcwd.c wants the
174         function.
175         * m4/getcwd.m4 (gl_FUNC_GETCWD):
176         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
177         compile, as might happen if there's a macro but no function.
178
179         strtod: support coreutils better
180         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
181         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
182         disables the raw decl checks.  This assumes there is an underlying
183         strtod, but that's a safe assumption these days.
184         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
185
186         mountlist: port to HP NonStop
187         Reported by Joachim Schmitz in
188         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
189         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
190         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
191
192 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
193
194         extern-inline: avoid compilation error with HP-UX cc
195         Reported by Richard Lloyd in
196         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
197         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
198         Suppress extern inline with HP-UX cc.  This should be safe,
199         though it may hurt performance.  Perhaps someone with some HP-UX
200         experience can come up with a higher-performance fix.
201
202 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
203
204         putenv: fix heap corruption with mixed putenv/_putenv
205         Problem reported by Michael Goffioul in
206         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
207         * lib/putenv.c (putenv) [HAVE__PUTENV]:
208         Rely on _putenv to allocate the new environment.
209         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
210         * modules/putenv (configure.ac): Use it.
211
212 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
213
214         unsetenv etc.: port to Solaris 11 + GNU Emacs
215         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
216         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
217         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
218         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
219         idea but is too painful to fix right now), and without this gnulib
220         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
221         compiling unsetenv.c on Solaris 11.  Fix the problem for
222         unsetenv.c, and fix other similar occurrences.
223
224 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
225
226         secure_getenv: fix C++ declaration typo
227         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
228         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
229         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
230
231 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
232
233         careadlinkat: stop exporting careadlinkatcwd
234         Only Emacs used it directly, and Emacs no longer needs it.
235         * NEWS: Document this simplification.
236         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
237         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
238         for readlink.
239         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
240         Don't include stdlib.h; no longer needed.
241         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
242         * lib/relocwrapper.c: Adjust comment to match new dependencies.
243         * modules/areadlink (Depends-on): Add readlink.
244         (Maintainer): Add self.
245         * modules/careadlinkat (Depends-on): Remove readlink.
246
247         extensions: port better to HP-UX
248         This is merged from git Autoconf.
249         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
250         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
251         so that it's compatible with the value used when compiling.
252
253         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
254         Problem reported by Mats Erik Andersson in
255         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
256         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
257         openpty function exists, not merely when we intend to replace it.
258         This corrects the 2013-01-31 patch, which mistakenly defined
259         HAVE_OPENPTY even on hosts that lacked it.
260
261 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
262
263         secure_getenv: fix include typo
264         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
265
266         secure_getenv: port better to FreeBSD and Solaris
267         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
268         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
269         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
270         This works better on BSDish platforms.
271         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
272         Test for issetugid if __secure_getenv is missing.
273
274 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
275
276         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
277         Some of these changes are merged in from git Autoconf.
278         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
279         When deciding whether to define _XOPEN_SOURCE, inspect the
280         preprocessor macro __hpux instead of the more-heavyweight
281         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
282         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
283         as the key for __EXTENSIONS__.
284
285         unistd: avoid namespace pollution on non-glibc systems
286         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
287         This avoids namespace pollution on non-glibc systems, by causing
288         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
289         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
290         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
291
292 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
293
294         tmpdir: use secure_getenv
295         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
296         Define to secure_getenv, not getenv.
297         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
298         as that's now secure_getenv's job.
299         * modules/tmpdir (Depends-on): Add secure_getenv.
300
301         tempname: use secure_getenv
302         * lib/tempname.c (__secure_getenv) [!_LIBC]:
303         Define to secure_getenv, not getenv.
304         * modules/tempname (Depends-on):
305         Add secure_getenv.
306
307         secure_getenv: new module
308         * MODULES.html.sh (Extra functions based on ANSI C 89):
309         Add secure_getenv.
310         * doc/glibc-functions/secure_getenv.texi: New file.
311         * doc/gnulib.texi: Include it.
312         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
313         New files.
314         * lib/stdlib.in.h (secure_getenv): New decl.
315         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
316         * modules/stdlib (stdlib.h):
317         Add secure_getenv checks.
318
319 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
320
321         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
322         Reported for OS X 10.8.2 by Assaf Gordon in
323         <http://bugs.gnu.org/13516>.
324         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
325         !HAVE_OPENAT && !HAVE_FDOPENDIR.
326         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
327         so that they can be kept in sync more easily.  Avoid PATH_MAX
328         test on the Hurd.  Sync from test-getcwd.c for errno tests after
329         mkdir or chdir failure.
330         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
331         lib/getcwd.c.
332         (test_abort_bug): Do not test for the deep directory bug unless we
333         have openat support.  Avoid PATH_MAX test on the Hurd.
334
335         regex-tests, regex: fix bug: memset undeclared
336         * tests/test-regex.c: Don't include regex.h twice.  Include
337         string.h, to declare memset.  Christensen's report also mentioned
338         this issue.
339         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
340         test-regex.c, to avoid future problems like this.  Remove
341         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
342         twice.
343
344         regex-tests: fix link errors on older Solaris
345         These need to link with @LIBINTL@ to get libintl_gettext.
346         Problem reported by Tom G. Christensen in
347         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
348         * modules/regex-tests (test_regex_LDADD): New macro.
349
350 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
351
352         regex-tests: new module
353         * modules/regex-tests, tests/test-regex.c: New files.
354
355         regex: fix off-by-one error in configure test
356         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
357
358 2013-01-31  Eric Blake  <eblake@redhat.com>
359
360         regex: avoid infinite configure test
361         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
362
363 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
364
365         openpty: fix bug where HAVE_OPENPTY wasn't defined
366         See the thread starting at:
367         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
368         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
369         openpty function exists, not merely when we intend to replace it.
370
371 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
372
373         sys_time: port to Solaris 2.6
374         There is a circularity problem on Solaris 2.6, where <time.h> includes
375         <sys/time.h> for struct timespec.  The include nesting is gnulib
376         <time.h>, system <time.h>, gnulib <sys/time.h>, system
377         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
378         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
379         <sys/siginfo.h>; the last, innermost file needs struct
380         timestruc_t, which is defined in <sys/time.h>, which has not been
381         fully parsed.  Problem reported by Tom G. Christensen in
382         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
383         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
384         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
385         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
386         uses split double-inclusion guards.
387
388 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
389
390         regex: test for buffer overrun
391         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
392         for the just-fixed regex bug.
393
394 2013-01-29  Andreas Schwab  <schwab@suse.de>
395
396         regex: fix buffer overrun in regexp matcher [BZ #15078]
397         * lib/regexec.c (extend_buffers): Add parameter min_len.
398         (check_matching): Pass minimum needed length.
399         (clean_state_log_if_needed): Likewise.
400         (get_subexp): Likewise.
401
402 2013-01-28  Pádraig Brady  <P@draigBrady.com>
403
404         mountlist: don't consider "devtmpfs" as dummy
405         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
406         as there is storage associcated with it.
407
408 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
409
410         futimens-tests, utimens-tests: Depend on gettext.
411         This works around a problem introduced in my 2013-01-12 patch,
412         which added @LIBINTL@ to these modules.
413         * modules/futimens-tests (Depends-on):
414         * modules/utimens-tests (Depends-on): Add gettext.
415
416 2013-01-26  Eric Blake  <eblake@redhat.com>
417
418         test-getpeername: fix typo
419         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
420
421 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
422
423         bootstrap: remove the need for a sorted .gitignore file
424         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
425         rename to insert_if_absent(), so that we don't need or generate
426         a sorted .gitignore file.  We do require a .gitignore with no
427         existing duplicate entries and enforce that.
428         (sort_patterns): Remove this function as we now use the simpler
429         technigue of inserting blacklist entries at the top of the file,
430         assuming gnulib won't be inserting !whitelist entries.
431
432 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
433
434         readlinkat: don't depend on gl_FUNC_OPENAT
435         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
436         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
437         renameat.m4, symlinkat.m4; but one thing at a time.
438
439         statat: new module, split out from fstatat
440         GNU Emacs needs the POSIX-specified fstatat, but not the
441         gnulib-specified statat and lstat.  Split the latter two into a
442         new module 'statat'.
443         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
444         * lib/openat.h, lib/statat.c (STATAT_INLINE):
445         Rename from FSTATAT_INLINE. All uses changed.
446         * modules/fstatat (Files): Remove lib/statat.c.
447         (gl_MODULE_INDICATOR([fstatat])): Remove.
448         (lib_SOURCES): Remove.
449         (Maintainer): Add self.
450         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
451         * tests/test-fstatat.c (BASE): Don't define if already defined.
452         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
453
454 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
455
456         tests: don't assume fd 99 is closed
457         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
458         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
459         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
460         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
461         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
462         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
463         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
464         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
465         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
466         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
467         * tests/test-fwrite.c, tests/test-getpeername.c:
468         * tests/test-getsockname.c, tests/test-getsockopt.c:
469         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
470         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
471         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
472         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
473         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
474         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
475         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
476         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
477         * tests/test-unlinkat.c, tests/test-unlockpt.c:
478         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
479         Close file descriptor 99, instead of assuming it's already closed.
480
481 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
482
483         stpncpy: port to OS X 10.8
484         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
485         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
486
487 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
488
489         unistd: port to recent mingw
490         * lib/unistd.in.h: Remove special invocation convention for mingw,
491         which breaks for the latest mingw version.  See John W. Eaton in
492         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
493
494         largefile: port better to Mac OS X 10.5
495         This patch is backported from Autoconf git.
496         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
497         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
498         with ino_t size being different for configuration time versus
499         build/run time.  Problem reported by PHO in
500         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
501
502 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
503
504         doc: clarify -Werror
505         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
506         clarify that it's intended for developers, not for ordinary builds,
507         and mention --enable-gcc-warnings as one possible use.
508
509 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
510
511         stdint: fix build with Android's Bionic fox x86
512         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
513         was already included as _SSIZE_T_DEFINED_ might also be defined
514         in include/machine/_types.h, which is included by stdio.h
515
516 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
517
518         net_if-tests: port to Solaris 7 + GCC 3.4.6
519         Problem reported by Tom G. Christensen in
520         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
521         * tests/test-net_if.c (ni): Move to next the code that uses it,
522         so that it's declared only if needed.
523
524 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
525
526         net_if-tests: port to older Solaris
527         Problem reported by Tom G. Christensen in
528         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
529         * modules/net_if-tests (NET_IF_LIB): New substitution.
530         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
531         (HAVE_IF_NAMEINDEX): New C macro.
532         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
533
534         system-quote-tests: port to older Solaris
535         Problem reported by Tom G. Christensen in
536         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
537         * tests/test-system-quote-child.c (fopen, fread): Undef.
538
539         c-xvasprintf etc.: fix link errors on older Solaris
540         These need to link with @LIBINTL@ to get libintl_gettext.
541         Problem reported by Tom G. Christensen in
542         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
543         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
544         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
545         * modules/futimens-tests (test_futimens_LDADD):
546         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
547
548 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
549
550         locale: port to Solaris 2.6 and 7 + GNU gettext
551         * lib/locale.in.h: Just include_next <locale.h> when
552         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
553         when combining the localename module with GNU gettext 0.18.2.
554         Problem reported by Tom G. Christensen in
555         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
556
557 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
558
559         stdlib: port to Solaris 2.6
560         Also, the code worked on Solaris 7 through 9 only by accident.
561         Problem reported by Tom G. Christensen in
562         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
563         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
564         simply include the system stdlib.h.
565         * lib/getopt.in.h (__need_system_stdlib_h):
566         * lib/pthread.in.h (__need_system_stdlib_h):
567         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
568         Define when including <stdlib.h>, to avoid problems at least for
569         the pthread case on Solaris 2.6 and 7.  These .h files can get by
570         with the system stdlib.h.
571
572 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
573
574         doc: update main copyright year
575         * doc/gnulib.texi: Update copyright date.
576
577         doc: improve ISO 8601 discussion
578         * doc/parse-datetime.texi (Combined date and time of day items):
579         Specify more carefully what formats are supported and what is
580         done with excess precision.
581
582 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
583
584         doc: avoid small caps
585         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
586         they're more trouble than they're worth.  Suggested by Karl Berry
587         in <http://bugs.gnu.org/13360>.
588
589         regex: conform to strict C
590         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
591         From Aharon Robbins.
592
593         gnulib-tool: fix incompatibility with autopoint 0.18.2
594         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
595         Problem reported by Tom G. Christensen in
596         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
597
598 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
599
600         fprintftime: bring back and reword fwrite comment
601         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
602
603         stdio: remove now-unnecessary stdio.c
604         Since stdio.in.h no longer uses inline functions, we no longer
605         need to compile the extern versions.
606         * lib/stdio.c: Remove.
607         * modules/stdio (Files): Remove lib/stdio.c.
608         (lib_SOURCES): Remove.
609
610         unicodeio: depend on stdio, not ignore-value
611         * lib/unicodeio.c: Do not include ignore-value.h.
612         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
613         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
614
615         fprintftime: depend on stdio, not ignore-value
616         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
617         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
618         since the stdio module arranges to silence that warning now.
619         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
620
621 2012-10-04  Simon Josefsson  <simon@josefsson.org>
622
623         stdint-tests: Fix expanded-before-required-warning.
624         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
625
626 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
627
628         fwrite: silence __wur only for older glibc versions
629         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
630         This will help us remove this workaround some time in the far future.
631
632 2013-01-03  Eric Blake  <eblake@redhat.com>
633
634         fwrite: silence __wur without using inline
635         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
636         just gcc, and in a way that avoids inline issues.
637         * modules/stdio (Depends-on): Drop extern-inline.
638
639 2013-01-03  Jim Meyering  <jim@meyering.net>
640
641         update-copyright: avoid copyright notice date corruption
642         Given a sequence of copyright year numbers in which the final
643         one was a two-digit number that happened to be a substring of
644         a preceding four-digit year number, we would mistakenly update
645         the substring (from two- to four-digit) rather than the two-digit
646         number at the end, which, combined with the addition of the current
647         4-digit year number would yield two 5-digit year numbers, e.g.,
648         here, it would convert the first "99" to "1999, 2013" rather than
649         the final one:
650           1991, 99
651           11999, 20131, 1999
652         * build-aux/update-copyright: Tighten a regexp.
653         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
654         Reported by Joseph Myers in
655         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
656
657 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
658
659         regex: omit needless signed-pointer casts
660         * lib/regcomp.c (build_charclass, build_charclass_op):
661         Use char *, not unsigned char *, for class name and extra.
662         The char values are always nonnegative so there's no need to
663         insist on unsigned char * here, and using char * removes the need
664         for casts.  Reported by Aharon Robbins in
665         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
666
667         regex: support Gawk, which never uses alloca
668         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
669         Do not include in this case.  Gawk doesn't supply a substitute
670         alloca.h and doesn't need one.
671
672         regex: port __libc_lock_define usage to C89
673         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
674         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
675         does not conform to C89, as it has an empty macro argument.
676         Reported by Aharon Robbins in
677         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
678
679 2013-01-01  Eric Blake  <eblake@redhat.com>
680
681         maint: update all copyright year number ranges
682         Run "make update-copyright".
683
684         version-etc: bump copyright year reported in --version
685         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
686
687 2012-12-31  Eric Blake  <eblake@redhat.com>
688
689         sigprocmask-tests: skip test if pid is unexpectedly large
690         * tests/test-sigprocmask.c (main): Add range check.
691
692         git-version-gen: avoid test -z portability glitch
693         * build-aux/git-version-gen: Prefer portable test spelling, since
694         git-version-gen is run on more than just developer machines.
695
696 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
697
698         git-version-gen: add --fallback option to use if git is not present
699         * build-aux/git-version-gen: Add support for the new option --fallback,
700         which comes into play when there is no $tarball_version_file and
701         git is not working.
702         (scriptversion): Update.
703
704         maint.mk: handle missing git with more grace
705         * top/maint.mk (no-submodule-changes, public-submodule-commit):
706         Quietly proceed if git is not present.
707
708 2012-12-31  Eric Blake  <eblake@redhat.com>
709
710         dup2: work around cygwin bug
711         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
712         * lib/dup2.c (rpl_dup2): Work around it.
713         * doc/posix-functions/dup2.texi (dup2): Document it.
714
715 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
716
717         regex: remove unnecessary dependency on localcharset.h
718         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
719         hasn't been needed for years.
720         * modules/regex (Depends-on): Remove localcharset.
721
722         regex: revert single-byte change
723         * lib/regexec.c (check_node_accept_bytes): Revert previous change
724         to this function.  This was alredy fixed in a different way, at
725         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
726         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
727         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
728
729         regex: simplify based on Gawk version
730         * lib/regex_internal.c (re_dfa_add_node): Simplify.
731         Reported by Aharon Robbins in
732         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
733
734 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
735
736         regex: check that pattern char is single-byte
737         Reported by Aharon Robbins in
738         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
739         * lib/regexec.c (check_node_accept_bytes):
740         Return 0 if the pattern string has a multibyte character here.
741
742         regex: implement rational ranges
743         Reported by Aharon Robbins in
744         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
745         * lib/regcomp.c (build_range_exp) [!_LIBC]:
746         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
747         Implement rational ranges.
748
749         regex: avoid redefining __wctype
750         Reported by Aharon Robbins in
751         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
752         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
753         #undef before defining.
754
755         regex: port to hosts where malloc (0) == NULL
756         Reported by Aharon Robbins in
757         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
758         * lib/regex_internal.c (re_node_set_alloc):
759         Don't assume that malloc (0) yields nonnull.
760         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
761         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
762         * modules/regex (Files): Add m4/eealloc.m4.
763
764         regex: port to C89
765         Reported by Aharon Robbins in
766         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
767         * lib/regcomp.c (init_word_char): Declaration before statement.
768
769         regex: merge glibc changes
770         Also, copy the license wording from glibc.  This simplifies
771         merging changes.  gnulib-tool will change the wording to GPL as
772         appropriate, when importing it to other packages.  The only
773         glibc change made since the last merge, which needs merging, is:
774         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
775         * lib/regex_internal.h (gettext): Remove use of INTUSE.
776
777         * users.txt: Add Emacs.
778
779         doc: omit mention of version when not needed
780         * doc/gnulib-intro.texi (Portability and Application Code):
781         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
782         Don't mention particular dates or versions when not necessary, so
783         that the documentation won't go out of date so quickly.
784
785         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
786
787 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
788
789         bootstrap: pass --force to autoreconf.
790         * build-aux/bootstrap (AUTORECONFFLAGS): New.
791         Add "--force" so that Automake's ylwrap and other such tools
792         be updated at each bootstrap invocation.
793         Use it.
794
795 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
796
797         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
798         The earlier patch forgot to update one of the #if conditions, causing
799         a problem on Debian testing i386 reported by Mats Erik Andersson
800         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
801         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
802         (__argp_fmtstream_puts, argp_fmtstream_puts)
803         (__argp_fmtstream_write, argp_fmtstream_write)
804         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
805
806         * doc/gnulib-readme.texi: Minor fixups.
807         (Portability guidelines): Modernize URLs.  Remove some repetition.
808         (Indent with spaces not TABs): Reword to avoid too-long lines.
809         Remove some '@ifset standalone' stuff that isn't used.
810
811         * doc/gnulib-readme.texi (Portability guidelines):
812         ctype.h, not ctime.h.
813
814         Correct name of POSIX.1-2001.
815         * doc/posix-functions/fgetc.texi (fgetc):
816         * doc/posix-functions/fgets.texi (fgets):
817         * doc/posix-functions/fread.texi (fread):
818         * doc/posix-functions/fscanf.texi (fscanf):
819         * doc/posix-functions/getc.texi (getc):
820         * doc/posix-functions/getchar.texi (getchar):
821         * doc/posix-functions/scanf.texi (scanf):
822         POSIX.1-2001, not POSIX-2001.
823
824         doc: move README into manual
825         * README: Move contents to new file doc/gnulib-readme.texi.
826         Replace with a one-line summary.
827         * doc/gnulib.texi (Brief Overview): New section,
828         with old intro preface.  Include gnulib-readme.texi for contents.
829         (Philosophy): Rename from "Introduction", since this
830         section no longer introduces the rest.  Write a new preface.
831         * doc/gnulib-readme.texi: New file, with the old contents of
832         README texinfo-ized.  This way, the README info appears
833         in the online and printed manual.
834
835 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
836
837         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
838         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
839         c_vasprintf() prototype.
840
841 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
842
843         c-vasprintf: Fix "empty declaration" warning reported by GCC.
844         * lib/c-vasprintf.h: Remove stray semicolon.
845
846 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
847
848         gettext: avoid obsolete macro AM_PROG_MKDIR_P
849         It is obsolete and is planned to be removed from Automake 1.14; see
850         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
851         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
852         (installdirs-data, installdirs-data-yes):
853         Use $(MKDIR_P), not $(mkdir_p).
854         * m4/intl.m4 (AM_INTL_SUBDIR):
855         * m4/po.m4 (AM_PO_SUBDIRS):
856         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
857
858 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
859
860         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
861         On this platform, we are not optimizing but we are using
862         the substitute for extern inlines, so compile as if
863         C99-style extern inline, or a substitute, is available.
864         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
865         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
866         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
867         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
868         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
869         Declare as ARGP_FS_EI, not as extern.
870         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
871         (__option_is_short, _option_is_end, __option_is_end)
872         [!_LIBC && __USE_EXTERN_INLINES]:
873         Declare as ARGP_EI, not as extern.
874
875 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
876
877         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
878         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
879         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
880         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
881         ...), as the latter is fatal with older Autoconfs.
882         Problem reported and fix suggested by Eric Blake in thread starting at
883         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
884
885 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
886
887         AC_PROG_MKDIR_P: don't workaround if not buggy
888         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
889         Define only for Autoconf versions before 2.62.
890         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
891         undocumented m4_PACKAGE_VERSION, for consistency with the
892         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
893         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
894         was introduced in 2.62.
895
896 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
897
898         New 'c-*printf' modules for formatted output in C locale.
899
900         New module 'c-vasnprintf'.
901         * modules/c-vasnprintf: New file.
902         * lib/c-vasnprintf.c: New file.
903         * lib/c-vasnprintf.h: New file.
904
905         New module 'c-snprintf'.
906         * modules/c-snprintf: New file.
907         * modules/c-snprintf-tests: New file.
908         * lib/c-snprintf.c: New file.
909         * lib/c-snprintf.h: New file.
910         * tests/test-c-snprintf.c: New file.
911         * tests/test-c-snprintf.sh: New file.
912
913         New module 'c-vsnprintf'.
914         * modules/c-vsnprintf: New file.
915         * modules/c-vsnprintf-tests: New file.
916         * lib/c-vsnprintf.c: New file.
917         * lib/c-vsnprintf.h: New file.
918         * tests/test-c-vsnprintf.c: New file.
919         * tests/test-c-vsnprintf.sh: New file.
920
921         New module 'c-vasprintf'.
922         * modules/c-vasprintf: New file.
923         * modules/c-vasprintf-tests: New file.
924         * lib/c-asprintf.c: New file.
925         * lib/c-vasprintf.c: New file.
926         * lib/c-vasprintf.h: New file.
927         * tests/test-c-vasprintf.c  +: New file.
928         * tests/test-c-vasprintf.sh: New file.
929
930         New module 'c-xvasprintf'.
931         * modules/c-xvasprintf: New file.
932         * modules/c-xvasprintf-tests: New file.
933         * lib/c-xasprintf.c: New file.
934         * lib/c-xvasprintf.c: New file.
935         * lib/c-xvasprintf.h: New file.
936         * tests/test-c-xvasprintf.c: New file.
937         * tests/test-c-xvasprintf.sh: New file.
938
939 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
940
941         argp: better 'inline'
942         Use extern-inline module to declare extern inline functions.
943         This avoids some bogus warning diagnostics.  Problem discovered
944         when modifying GNU tar to use the manywarnings module.
945         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
946         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
947         Define based on extern-inline.
948         * modules/argp (Depends-on): Add extern-inline.
949
950 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
951
952         filemode, sys_stat: Handle MPX files a la AIX.
953         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
954         * lib/sys_stat.in.h (S_ISMPX): New macro.
955         * tests/test-sys_stat.c: Add tests for MPX files.
956
957 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
958
959         x-to-1: honor $PERL
960         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
961         a chance to use his preferred version of Perl.  This is typically
962         required by Darwin users whose default /usr/bin/perl does not have all
963         the libraries required by help2man, and who need to use their MacPorts
964         installation of Perl instead.
965
966 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
967
968         gnu-web-doc-update: add all the new files, even in new directories
969         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
970         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
971         Use it.
972         (main): Don't use cvsutils to get the list of unknown files,
973         just add all the existing files and directories.
974
975 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
976
977         gnu-web-doc-update: improve --help
978         * build-aux/gnu-web-doc-update: Move comments into --help.
979
980 2012-12-07  Eric Wong  <normalperson@yhbt.net>
981
982         mountlist: recognize more "dummy" file systems
983         * lib/mountlist.c (ME_DUMMY_0):
984         Add these dummy FS names to the list:
985         - "debugfs" virtual filesystem for kernel debugging
986         - "devpts" PTY slave filesystem
987         - "devtmpfs" device filesystem on top of tmpfs/ramfs
988         - "fusectl" control filesystem for FUSE
989         - "mqueue" enumerates POSIX message queues
990         - "rpc_pipefs" kernel <-> userspace bridge for NFS
991         - "sysfs" is for exporting kernel objects
992         - "devfs" device filesystem for Linux 2.4 and FreeBSD
993
994 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
995
996         extern-inline: avoid incompatibility with Darwin Libc
997         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
998         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
999         Problem reported by Akim Demaille in
1000         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1001
1002 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1003
1004         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1005         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1006         let it handle password prompting.
1007
1008 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1009
1010         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1011         * lib/canonicalize.c (canonicalize_filename_mode):
1012         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1013         fetching the current directory.  Don't overrun the beginning of
1014         rpath if there's no slashes after the MS-Windows drive letter.
1015
1016 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1017
1018         maint.mk: avoid extra forks
1019         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1020         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1021         So use that instead of "$(shell test -f FILE && echo FILE)".
1022
1023 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1024
1025         vasnprintf: fix ASCII_ONLY typo
1026         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1027         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1028         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1029         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1030         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1031
1032 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1033
1034         list, oset, xlist, xoset: fix extern inline issue with C99
1035         This was introduced by my recent changes for 'inline'.
1036         Problem reported for gettext by Daiki Ueno in
1037         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1038         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1039         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1040         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1041         (gl_list_previous_node, gl_list_get_at)
1042         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1043         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1044         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1045         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1046         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1047         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1048         (gl_list_iterator_free, gl_sortedlist_search)
1049         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1050         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1051         (gl_sortedlist_remove):
1052         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1053         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1054         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1055         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1056         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1057         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1058         (gl_list_add_at, gl_sortedlist_add):
1059         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1060         Wrap these extern decls inside "#if 0", because they are implemented
1061         as inline functions, and extern inline is not what's wanted here.
1062         It would simplify these .h files to remove the extern decls entirely,
1063         although a downside would be less-clear separation between
1064         specification and implementation.
1065
1066 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1067
1068         sys_stat: no 'static inline'
1069         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1070         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1071
1072         extern-inline: no 'static inline'
1073         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1074         Do not require AC_C_INLINE.
1075         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1076         'static inline', for older compilers.
1077
1078         snippet/warn-on-use: no 'static inline'
1079         * build-aux/snippet/warn-on-use.h:
1080         Remove unnecessary 'inline' in comment.
1081
1082         rbtree-list, rbtreehash-list: no 'static inline'
1083         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1084         * lib/gl_anytree_list2.h (node_at):
1085         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1086         (gl_oset_first, add_nodes_to_buckets):
1087         Now static, not static inline.
1088
1089         regex: no 'static inline'
1090         * lib/regex_internal.c (calc_state_hash):
1091         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1092         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1093         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1094         Now static, not static inline.
1095         (inline) [__GNUC__ < 3 && _LIBC]:
1096         Remove macro; no longer needed.
1097
1098         xvasprintf: no 'static inline'
1099         * lib/xvasprintf.c (xstrcat):
1100         Now static, not static inline.
1101         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1102         Do not require AC_C_INLINE.
1103
1104         parse-datetime, parse-duration: no 'static inline'
1105         * lib/parse-datetime.y (to_uchar):
1106         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1107         (scale_n_add):
1108         Now static, not static inline.
1109         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1110         * modules/parse-duration (configure.ac):
1111         Do not require AC_C_INLINE.
1112
1113         getaddrinfo: no 'static inline'
1114         * lib/getaddrinfo.c (validate_family):
1115         Now static, not static inline.
1116         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1117         Do not require AC_C_INLINE.
1118
1119         ftruncate, fts, lstat, openat, raise: no 'static inline'
1120         * lib/ftruncate.c (chsize_nothrow):
1121         * lib/fts.c (opendirat, diropen):
1122         * lib/lstat.c (orig_lstat):
1123         * lib/openat.c (orig_openat):
1124         * lib/raise.c (raise_nothrow):
1125         Now static, not static inline.
1126         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1127         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1128         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1129         * m4/openat.m4 (gl_PREREQ_OPENAT):
1130         * m4/raise.m4 (gl_PREREQ_RAISE):
1131         Do not require AC_C_INLINE.
1132
1133         fflush, stat: no 'static inline'
1134         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1135         (clear_ungetc_buffer, disable_seek_optimization)
1136         (restore_seek_optimization, update_fpos_cache):
1137         * lib/stat.c (orig_stat):
1138         Now static, not static inline.
1139         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1140         (update_fpos_cache):
1141         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1142         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1143         * m4/stat.m4 (gl_PREREQ_STAT):
1144         Do not require AC_C_INLINE.
1145
1146         error, filevercmp: no 'static inline'
1147         * lib/error.c (is_open, flush_stdout):
1148         * lib/filevercmp.c (order):
1149         Now static, not static inline.
1150         * m4/error.m4 (gl_PREREQ_ERROR):
1151         * modules/filevercmp (configure.ac):
1152         Do not require AC_C_INLINE.
1153
1154         dup, execute, fatal-signal, etc.: no 'static inline'
1155         * lib/dup.c (dup_nothrow):
1156         * lib/execute.c (nonintr_close, nonintr_open):
1157         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1158         * lib/fopen.c (orig_fopen):
1159         * lib/freadseek.c (freadptrinc):
1160         * lib/freopen.c (orig_freopen):
1161         * lib/fstat.c (orig_fstat, fstat_nothrow):
1162         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1163         (get_rusage_as_via_iterator):
1164         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1165         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1166         * lib/isatty.c (_isatty_nothrow):
1167         * lib/open.c (orig_open):
1168         * lib/read.c (read_nothrow):
1169         * lib/sigprocmask.c (signal_nothrow):
1170         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1171         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1172         * lib/wait-process.c (unregister_slave_subprocess):
1173         * lib/write.c (write_nothrow):
1174         Now static, not static inline.
1175         * lib/spawn-pipe.c (nonintr_open): Define only if
1176         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1177         * m4/dup.m4 (gl_PREREQ_DUP):
1178         * m4/execute.m4 (gl_EXECUTE):
1179         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1180         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1181         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1182         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1183         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1184         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1185         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1186         * m4/open.m4 (gl_PREREQ_OPEN):
1187         * m4/read.m4 (gl_PREREQ_READ):
1188         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1189         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1190         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1191         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1192         * m4/write.m4 (gl_PREREQ_WRITE):
1193         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1194         Do not require AC_C_INLINE.
1195
1196         c-strtod, memcoll, readutmp: no 'static inline'
1197         * lib/c-strtod.c (c_locale):
1198         * lib/memcoll.c (strcoll_loop):
1199         * lib/readutmp.c (desirable_utmp_entry):
1200         Now static, not static inline.
1201         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1202         * m4/memcoll.m4 (gl_MEMCOLL):
1203         * m4/readutmp.m4 (gl_READUTMP):
1204         Do not require AC_C_INLINE.
1205
1206         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1207         * lib/arctwo.c (to_uchar):
1208         * lib/md4.c (set_uint32):
1209         * lib/md5.c (set_uint32):
1210         * lib/sha1.c (set_uint32):
1211         * lib/sha256.c (set_uint32):
1212         * lib/sha512.c (set_uint64):
1213         Now static, not static inline.  This is a bit simpler, and doesn't
1214         affect performance with GCC and default optimization.
1215         * m4/arctwo.m4 (gl_ARCTWO):
1216         * m4/md4.m4 (gl_MD4):
1217         * m4/md5.m4 (gl_MD5):
1218         * m4/sha1.m4 (gl_SHA1):
1219         * m4/sha256.m4 (gl_SHA256):
1220         * m4/sha512.m4 (gl_SHA512):
1221         Do not require AC_C_INLINE.
1222
1223         cond, lock, thread: better 'inline'
1224         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1225         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1226         New macros.  Use them instead of static inline, for header functions.
1227         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1228         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1229         * lib/glthread/lock.c (gl_waitqueue_init)
1230         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1231         * lib/glthread/thread.c (get_current_thread_handle):
1232         Change 'static inline' to 'inline'.
1233         * lib/glthread/cond.h, lib/glthread/thread.h:
1234         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1235         * m4/cond.m4 (gl_COND):
1236         * m4/lock.m4 (gl_PREREQ_LOCK):
1237         * m4/thread.m4 (gl_THREAD):
1238         Do not require AC_C_INLINE.
1239         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1240
1241         chdir-long, cycle-check, savewd: better 'inline'
1242         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1243         (find_non_slash):
1244         * lib/cycle-check.c (is_zero_or_power_of_two):
1245         * lib/savewd.c (savewd_delegating):
1246         Change 'static inline' to 'inline'.
1247         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1248         Replace all remaining uses of 'static inline' with it.
1249         * lib/savewd.h:
1250         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1251         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1252         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1253         * m4/savewd.m4 (gl_SAVEWD):
1254         Do not require AC_C_INLINE.
1255         * modules/savewd (Depends-on): Add extern-inline.
1256
1257         base32, base64: no need for 'inline'
1258         * lib/base32.c (to_uchar, get_8, decode_8):
1259         * lib/base64.c (to_uchar, get_4, decode_4):
1260         Change 'static inline' to 'inline'.
1261         * m4/base32.m4 (gl_PREREQ_BASE32):
1262         * m4/base64.m4 (gl_PREREQ_BASE64):
1263         Do not require AC_C_INLINE.
1264
1265         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1266         * lib/gl_array_oset.c (gl_array_nx_add_at):
1267         (gl_array_remove_at):
1268         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1269         (add_to_bucket, remove_from_bucket):
1270         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1271         Change 'static inline' to 'static', as it's simpler to omit
1272         'inline' unless there's a significant performance advantage.
1273
1274         list, oset, xlist, xoset, xsublist: simplify via extern inline
1275         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1276         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1277         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1278         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1279         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1280         New macro.  Replace all uses of 'static inline' with it.
1281         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1282         instead of as macros FOO that are defined to static inline
1283         functions FOO_inline.
1284         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1285         * lib/gl_xsublist.c:
1286         Reimplement from scratch, by defining the corresponding *_INLINE
1287         macro and including the corresponding .h file.  This is simpler.
1288         * modules/list, modules/oset, modules/xlist, modules/xoset:
1289         (Files): Remove m4/gl_list.m4.
1290         (configure.ac): Remove gl_LIST.
1291         * m4/gl_list.m4: Remove.
1292         * modules/list, modules/oset, modules/xlist, modules/xoset:
1293         * modules/xsublist:
1294         (Depends-on): Depend on extern-inline, not inline.
1295
1296         xalloc: better 'inline'
1297         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1298         New macro.  Replace all uses of 'static inline' with it.
1299         (static_inline): Remove.
1300         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1301         Let 'extern inline' do the work automatically, instead of doing
1302         it by hand.
1303         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1304         Remove.  All uses removed.
1305         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1306
1307         gethrxtime: better 'inline'
1308         * lib/xtime.c: New file.
1309         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1310         * lib/xtime.h (XTIME_INCLUDE):
1311         New macros.  Replace all uses of 'static inline' with them.
1312         * lib/gethrxtime.c (gethrxtime): Define only if
1313         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1314         this source file is now always compiled, because of the extern inline.
1315         * lib/gethrxtime.h, lib/xtime.h:
1316         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1317         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1318         if gethrtime works, as they're not needed in that case.
1319         (gl_XTIME): Do not require AC_C_INLINE.
1320         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1321         compiled now.  Move the check into gl_GETHRXTIME.
1322         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1323         (Depends-on): Add extern-inline.
1324         (configure.ac): gethrxtime is always compiled now.
1325         (lib_SOURCES): Add gethrxtime.c.
1326
1327         wctype-h: better 'inline'
1328         * lib/wctype-h.c: New file.
1329         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1330         New macro.  Replace all uses of 'static inline' with it.
1331         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1332         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1333         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1334         (Depends-on): Add extern-inline.
1335
1336         unistd: better 'inline'
1337         * lib/unistd.c: New file.
1338         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1339         New macro.  Replace all uses of 'static inline' with it.
1340         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1341         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1342         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1343         (Depends-on): Add extern-inline.
1344
1345         sys_socket: better 'inline'
1346         * lib/sys_socket.c: New file.
1347         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1348         New macro.  Replace all uses of 'static inline' with it.
1349         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1350         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1351         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1352         (Depends-on): Add extern-inline.
1353
1354         stdio: better 'inline'
1355         * lib/stdio.c: New file.
1356         * lib/stdio.in.h (_GL_STDIO_INLINE):
1357         New macro.  Replace all uses of 'static inline' with it.
1358         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1359         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1360         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1361         (Depends-on): Add extern-inline.
1362
1363         sigaction: better 'inline'
1364         * lib/sig-handler.c: New file.
1365         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1366         New macro.  Replace all uses of 'static inline' with it.
1367         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1368         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1369         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1370         (Depends-on): Add extern-inline.
1371
1372         selinux-h: better 'inline'
1373         * lib/se-context.c, lib/se-selinux.c: New files.
1374         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1375         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1376         New macro.  Replace all uses of 'static inline' with it.
1377         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1378         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1379         New macro.  Replace all uses of 'static inline' with it.
1380         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1381         * modules/selinux-h (Files, lib_SOURCES):
1382         Add lib/se-context.c, lib/se-selinux.c.
1383         (Depends-on): Add extern-inline.
1384         (configure.ac): Do not require AC_C_INLINE.
1385
1386         pthread: better 'inline'
1387         * lib/pthread.c: New file.
1388         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1389         New macro.  Replace all uses of 'static inline' with it.
1390         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1391         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1392         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1393         * modules/pthread (Files): Add lib/pthread.c.
1394         (Depends-on): Add extern-inline.
1395
1396         math: better 'inline'
1397         * lib/math.c: New file.
1398         * lib/math.in.h (_GL_MATH_INLINE):
1399         New macro.  Replace all uses of 'static inline' with it.
1400         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1401         * m4/math_h.m4 (gl_MATH_H):
1402         Do not require AC_C_INLINE.
1403         * modules/math (Files, lib_SOURCES):
1404         Add lib/math.c.
1405         (Depends-on): Add extern-inline.
1406
1407         count-one-bits: better 'inline'
1408         * lib/count-one-bits.c: New file.
1409         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1410         New macro.  Replace all uses of 'static inline' with it.
1411         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1412         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1413         Do not require AC_C_INLINE.
1414         * modules/count-one-bits (Files, lib_SOURCES):
1415         Add lib/count-one-bits.c.
1416         (Depends-on): Add extern-inline.
1417
1418         count-leading-zeros: better 'inline'
1419         * lib/count-leading-zeros.c: New file.
1420         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1421         New macro.  Replace all uses of 'static inline' with it.
1422         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1423         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1424         Do not require AC_C_INLINE.
1425         * modules/count-leading-zeros (Files, lib_SOURCES):
1426         Add lib/count-leading-zeros.c.
1427         (Depends-on): Add extern-inline.
1428
1429         bitrotate: better 'inline'
1430         * lib/bitrotate.c: New file.
1431         * lib/bitrotate.h (BITROTATE_INLINE):
1432         New macros.
1433         Replace all uses of 'static inline' with them.
1434         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1435         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1436         (Depends-on): Add extern-inline.
1437         (configure.ac): Do not require AC_C_INLINE.
1438
1439 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1440
1441         maint.mk: avoid gratuitous failure
1442         Reported by Stefano Lattarini in
1443         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1444         * top/maint.mk (public-submodule-commit): Quote more safely.
1445
1446 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1447
1448         canonicalize, canonicalize-lgpl: support MS-Windows file names
1449         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1450         for test cases, which it'd be nice to add at some point.
1451         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1452         * lib/canonicalize.c (canonicalize_filename_mode):
1453         * lib/canonicalize-lgpl.c (__realpath):
1454         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1455         slash is at the beginning of the file name.  Use ISSLASH, instead
1456         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1457         the first character with '/'.  Test for
1458         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1459         with a drive letter.
1460         * lib/canonicalize.c (SLASHES): New macro.
1461         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1462
1463 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1464
1465         fts: introduce FTS_VERBATIM
1466         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1467         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1468         * lib/fts.c (fts_open): Honor it.
1469
1470 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1471
1472         getlogin-tests: allow errno == ENXIO
1473         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1474         with errno == ENXIO (No controlling tty).
1475         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1476         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1477         with errno == ENOENT.  This was reported to happen in various
1478         situations on GNU/Linux.
1479
1480 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1481
1482         getlogin-tests: allow errno == ENOENT
1483         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1484         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1485         when running a test in an Emacs shell buffer.
1486
1487 2012-11-08  Jim Meyering  <jim@meyering.net>
1488
1489         tests/nap.h: avoid warning about unused variable
1490         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1491
1492         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1493         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1494         white space before each of the special-cased file names, to avoid
1495         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1496         in http://bugs.gnu.org/12830.
1497
1498 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1501         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1502         fails with errno == EBADF when fd is opened with O_PATH.
1503         Reported by Jim Meyering in
1504         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1505         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1506         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1507
1508 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1509
1510         test-utimens: speed up by taking shorter naps
1511         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1512         New functions.
1513         (nap): Use them, to do a better job of guessing the delay.
1514         On Fedora 17 with ext4 atop md atop hard disks, this made
1515         test-utimens run 10x faster, because the test napped for
1516         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1517         <http://bugs.gnu.org/12820#11>.
1518
1519 2012-11-07  Jim Meyering  <jim@meyering.net>
1520
1521         mountlist.c: fix a compilation failure
1522         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1523         I introduced while transforming commit v0.0-7683-g613bcb6
1524
1525 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1526
1527         errno: port to LynxOS 178 2.2.2
1528         Problem reported by Joel Brobecker in
1529         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1530         * doc/posix-headers/errno.texi (errno.h): Document this.
1531         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1532         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1533         Supply a string for EILSEQ.
1534         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1535
1536 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1537
1538         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1539         Linux kernel 2.6.39 introduced O_PATH (see
1540         <http://lwn.net/Articles/433854/>) and this is a better fallback
1541         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1542         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1543         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1544         * lib/fcntl.in.h (O_ACCMODE):
1545         * tests/test-fcntl-h.c (main):
1546         Do not reject O_ACCMODE merely because it has more than the
1547         minimal number of bits, as POSIX allows extensions here.
1548
1549 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1550
1551         mountlist: do not classify a bind-mounted dir entry as "dummy"
1552         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1553         the "none"-testing clause.
1554         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1555         exception for bind-mounted directories.
1556
1557 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1558
1559         quote: provide a means to escape strings with nul characters
1560         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1561         (quote, quote_n): Rename formal arguments for consistency with
1562         quotearg.
1563
1564 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1565
1566         test-raise: don't assume 199 is an invalid signal
1567         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1568
1569         sh-quote-tests: port to Solaris 9
1570         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1571         Problem reported by Dagobert Michelsen in
1572         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1573
1574 2012-10-28  Jim Meyering  <jim@meyering.net>
1575
1576         maint.mk: rename a new configurable variable
1577         * top/maint.mk (_gl_translatable_string_re): Rename from
1578         translation-markers: _gl_ prefix to insulate from user Makefile code,
1579         and the _re suffix to inform that it's a regular expression.
1580
1581 2012-10-26  Eric Blake  <eblake@redhat.com>
1582
1583         maint.mk: let packages tweak sc_po_check pattern
1584         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1585         finding files with other translation markers.
1586
1587 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1588
1589         euidaccess: speed up 'configure' on GNU hosts
1590         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1591         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1592         it's needed only in this case.  Use AC_CHECK_DECLS, not
1593         AC_CHECK_DECLS_ONCE.
1594         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1595         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1596
1597         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1598
1599 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1600
1601         fchmodat, fchownat, fstatat: port to non-inlining compilers
1602         Problem reported for FreeBSD 9 by Jim Meyering in
1603         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1604         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1605         New files, which define FCHMODAT_INLINE etc.
1606         * lib/fchmodat.c (FCHMODAT_INLINE):
1607         * lib/fchownat.c (FCHOWNAT_INLINE):
1608         * lib/fstatat.c (FSTATAT_INLINE):
1609         Remove, as chmodat.c etc. now do this.
1610         * modules/fchmodat (Files): Add lib/chmodat.c.
1611         * modules/fchownat (Files): Add lib/chownat.c.
1612         * modules/fstatat (Files): Add lib/statat.c.
1613
1614 2012-10-15  Jim Meyering  <jim@meyering.net>
1615
1616         fchmodat.c, fchownat.c: compile-impeding typos
1617         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1618         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1619         Introduced in commit v0.0-7636-gd202279.
1620
1621 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1622
1623         fcntl-h: support GNU flags like O_IGNORE_CTTY
1624         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1625         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1626         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1627         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1628         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1629         Define to 0 if not already defined.
1630         * tests/test-fcntl-h.c: Test these new flags.
1631
1632 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1633
1634         faccessat, etc.: support AT_FDCWD-only use
1635         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1636         this function only if its first argument is AT_FDCWD.
1637         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1638         values other than AT_FDCWD, so it doesn't want all the openat
1639         machinery with fchdir etc.
1640         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1641         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1642         * modules/unlinkat (Files):
1643         Remove lib/openat-priv.h, as at-internal supplies this file.
1644         Removing this file here allows us to support programs like Emacs
1645         that avoid at-internal.
1646
1647         faccessat: speed up 'configure' on mainstream hosts
1648         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1649         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1650         since it's only on unusual platforms that we need to check for
1651         'access', and it's better not to slow 'configure' down on all
1652         platforms.
1653
1654         faccessat: port to Solaris 10
1655         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1656         Needed on Solaris 10, which doesn't have AT_EACCESS,
1657         so we need the Gnulib fcntl.h, which defines it.
1658
1659 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1660         canonicalize: fix C89 compilation
1661         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1662         declarations so C89 is supported.  Also remove the comment
1663         referencing memorty allocation as the suggested feature could
1664         not be implemented as suggested.
1665         Reported by Michael Goffioul.
1666
1667 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1668
1669         group-member: omit unnecessary dependencies
1670         This is for Emacs, which has its own allocator and where we
1671         don't want to use xalloc.
1672         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1673         since we no longer use xmalloc.  Do not include stdbool.h, since
1674         the changes below happen to remove the only use of bool.
1675         (GROUPBUF_SIZE): New constant.
1676         (struct group_info): Remove n_groups member.  Add groupbuf member.
1677         This lets us get the groups without using malloc, usually.
1678         (free_group_info, get_group_info): Adjust to this.
1679         (get_group_info): Return the number of groups found, or -1 on error.
1680         Use plain malloc not xmalloc, and treat its failure as if there
1681         are no groups, as the user already loses in case of error.
1682         (group_member): Simplify, based on changes to get_group_info.
1683         * modules/group-member (Depends-on): Remove dependencies on
1684         xalloc and stdbool.  Add dependency on xalloc-oversized.
1685
1686 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1687
1688         gethrxtime: port to C++
1689         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1690
1691 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1692
1693         ptsname: fix macro-name typo
1694         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1695
1696 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1697
1698         inttostr: Relax license.
1699         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1700
1701 2012-10-03  Eric Blake  <eblake@redhat.com>
1702
1703         ptsname_r: support ptys returned by FreeBSD posix_openpt
1704         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1705         lives in /dev/pts/.
1706
1707 2012-10-02  Eric Blake  <eblake@redhat.com>
1708
1709         pselect: reject invalid file descriptors
1710         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
1711         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
1712         * modules/pselect (Depends-on): Add dup2.
1713         * doc/posix-functions/pselect.texi (pselect): Document this.
1714
1715         select: reject invalid file descriptors
1716         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
1717         * lib/select.c (rpl_select) [!win32]: Work around it.
1718         * modules/select (Depends-on): Add dup2.
1719         * doc/posix-functions/select.texi (select): Document this.
1720
1721         select: enhance test
1722         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
1723         New functions.
1724         (test_function): Enhance test.
1725         (do_select_bad_fd): Avoid any stale errno values.
1726
1727         ptsname: reject invalid file descriptors
1728         http://www.austingroupbugs.net/view.php?id=503
1729         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
1730         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
1731         * modules/stdlib (Makefile.am): Replace witness.
1732         * lib/stdlib.in.h (ptsname): Allow for replacement.
1733         * modules/ptsname (configure.ac): Trigger replacement.
1734         * doc/posix-functions/ptsname.texi (ptsname): Document this.
1735
1736 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
1737
1738         hash-pjw-bare: new module
1739         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
1740         * lib/hash-pjw-bare.h: Likewise.
1741         * modules/hash-pjw-bare: New file.
1742         * MODULES.html.sh (Misc): Add it.
1743
1744 2012-10-02  Eric Blake  <eblake@redhat.com>
1745
1746         manywarnings: cater to more gcc infelicities
1747         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
1748         -Wuninitialized without -O.
1749
1750 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
1751
1752         select, poll tests: Make setsockopt invocation effective.
1753         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
1754         the bind() call.
1755         * tests/test-select.h (open_server_socket): Likewise.
1756
1757 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         sockets, sys_stat: restore AC_C_INLINE
1760         This undoes the 2012-09-22 patch.
1761         * m4/sockets.m4 (gl_SOCKETS):
1762         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1763         Restore AC_C_INLINE, since MSVC requires __inline or _inline
1764         and does not support plain 'inline'.  Reported by Bruno Haible in
1765         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
1766
1767 2012-09-30  Bruno Haible  <bruno@clisp.org>
1768
1769         localeconv tests: Avoid test failure on OpenIndiana.
1770         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
1771         skip the 'grouping' and 'mon_grouping' tests.
1772         Reported by Jim Meyering.
1773
1774 2012-09-30  Bruno Haible  <bruno@clisp.org>
1775
1776         havelib: Follow libtool developments.
1777         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
1778         Suggested by Simon Josefsson.
1779
1780 2012-09-29  Jim Meyering  <meyering@redhat.com>
1781
1782         fstatat.c: fix a compile-impeding typo
1783         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
1784         Introduced in commit v0.0-7636-gd202279.
1785         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
1786
1787 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
1788
1789         extern-inline: provide a -Wundef safe config.h
1790         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
1791         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
1792         to produce a -Wundef warning free config.h.
1793
1794 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1795
1796         hash-pjw: relax license to LGPLv2+
1797         * modules/hash-pjw (License): Relax, with consent of author.
1798
1799 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1800
1801         maint.mk: fix strict vs. lazy variable issues with RELEASE
1802         * top/maint.mk (_equal): New function.
1803         (member_check): Strip the result to avoid spurious spaces.
1804         (url_dir_list): Do not use ifeq, which is strict, as it will
1805         require RELEASE_TYPE to be defined.
1806         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
1807         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
1808         (announcement_Cc_alpha,announcement_mail_headers_alpha)
1809         (announcement_Cc_beta,announcement_mail_headers_beta)
1810         (announcement_Cc_stable,announcement_mail_headers_stable): these.
1811         (release): Do not depend on $(release-type), as it forces its
1812         evaluation.  Bounce to it.
1813
1814 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1815
1816         maint.mk: formatting changes
1817         * top/maint.mk: Indent bodies of if's.
1818
1819 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
1820
1821         maint.mk: factor the validation of RELEASE_TYPE
1822         With help from Jim Meyering.
1823         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
1824         * top/maint.mk (_empty, _sp): Move their definition earlier.
1825         (member-check, release-type): New.
1826         Use the latter instead of $(RELEASE_TYPE).
1827         Remove now useless local checks.
1828
1829 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1830
1831         maint.mk: provide "make upload" to ease uploading
1832         See
1833         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
1834         Do not depend simply on the current $(VERSION), as there may have been
1835         new commits since the tarball generation.  Rather, rely on $(RELEASE),
1836         as "make release-commit" already does.
1837
1838         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
1839         "make TYPE".
1840
1841         * top/maint.mk (upload_command, upload, release): New.
1842         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
1843         (VERSION): first word of $(RELEASE) is always right.
1844         (emit_upload_commands): Adjust.
1845         * top/README-release: Update.
1846
1847 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1848
1849         maint.mk: silent rules
1850         With help from Stefano Lattarini.
1851         * top/maint.mk (writable-files): Use $(AM_V_GEN).
1852         (announcement): Use $(AM_V_at).
1853
1854 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1855
1856         localename: port gl_locale_name_thread_unsafe to FreeBSD
1857         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
1858         and use the simpler FreeBSD implementation on Mac OS X as well.
1859         Original idea suggested by Ed Maste in
1860         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
1861
1862 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1863
1864         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
1865         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
1866         * lib/mbuiter.c, lib/xsize.c: New files.
1867         * lib/binary-io.h (BINARY_IO_INLINE):
1868         * lib/eealloc.h (EEALLOC_INLINE):
1869         * lib/mbfile.h (MBFILE_INLINE):
1870         * lib/mbiter.h (MBITER_INLINE):
1871         * lib/mbuiter.h (MBUITER_INLINE):
1872         * lib/xsize.h (XSIZE_INLINE):
1873         New macros.
1874         Replace all uses of 'static inline' with them.
1875         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1876         * m4/eealloc.m4 (gl_EEALLOC):
1877         * m4/mbfile.m4 (gl_MBFILE):
1878         * m4/mbiter.m4 (gl_MBITER):
1879         * m4/xsize.m4 (gl_XSIZE):
1880         Do not require AC_C_INLINE.
1881         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1882         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1883         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
1884         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
1885         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
1886         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
1887         * modules/binary-io, modules/eealloc, modules/mbfile:
1888         * modules/mbiter, modules/mbuiter:
1889         (Depends-on): Add extern-inline.
1890
1891         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
1892         * lib/pipe-filter-aux.c: New file.
1893         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
1894         Replace all uses of 'static inline' with it.
1895         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1896         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
1897         (filter_retcode): No real need for inline here.
1898         * modules/pipe-filter-gi, modules/pipe-filter-ii:
1899         (Files): Add lib/pipe-filter-aux.c.
1900         (Depends-on): Add extern-inline.
1901         (configure.ac): Do not require AC_C_INLINE.
1902         (lib_SOURCES): Add pipe-filter-aux.c.
1903
1904         fdutimensat: omit unnecessary AC_C_INLINE
1905         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
1906
1907         fchmodat, fchownat, fstatat: use extern-inline
1908         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
1909         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
1910         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
1911         New macros.
1912         * lib/openat.h:
1913         Replace all uses of 'static inline' with them.
1914         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1915         * modules/fchmodat, modules/fchownat, modules/fstatat:
1916         * modules/openat-h:
1917         (Depends-on):
1918         Add extern-inline.
1919         (configure.ac): Remove AC_C_INLINE.
1920
1921         acl, mbchar, priv-set: use extern-inline
1922         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
1923         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
1924         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
1925         New macros.
1926         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
1927         Replace all uses of 'static inline' with it.
1928         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1929         * m4/acl.m4 (gl_FUNC_ACL):
1930         * m4/mbchar.m4 (gl_MBCHAR):
1931         * m4/priv-set.m4 (gl_PRIV_SET):
1932         Remove AC_C_INLINE, since 'inline' is no longer used directly.
1933         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
1934         Add extern-inline.
1935
1936         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
1937         * m4/sockets.m4 (gl_SOCKETS):
1938         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1939         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
1940         environments where it's already guaranteed to work, so we needn't
1941         check for it at 'configure'-time.
1942
1943         tls-tests: omit unnecessary 'inline'
1944         * tests/test-tls.c (perhaps_yield): No longer inline.
1945         Simplicity and portability trump efficiency in test cases.
1946
1947         utimens-tests: avoid unnecessary 'inline'
1948         * modules/fdutimensat-tests (configure.ac):
1949         * modules/futimens-tests (configure.ac):
1950         * modules/utimens-tests (configure.ac):
1951         * modules/utimensat-tests (configure.ac):
1952         Remove AC_C_INLINE.
1953         * tests/test-utimens-common.h (ctime_compare):
1954         No longer inline.  Simplicity and portability trump efficiency here.
1955
1956         misc: don't limit commentary to inline functions
1957         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
1958         * lib/xalloc-oversized.h, lib/xsize.h:
1959         Contrast macros to functions in general, not just to inline functions,
1960         when the commentary does not apply only to inline functions.
1961
1962 2012-09-20  Jim Meyering  <meyering@redhat.com>
1963
1964         non-recursive-gnulib-prefix-hack: new module
1965         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
1966         the file that originated in Bison.
1967         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
1968         largely copied from a snippet that resided in bison's configure.ac.
1969         * modules/non-recursive-gnulib-prefix-hack: New file.
1970         * MODULES.html.sh (Support for maintaining and releasing projects):
1971         Add it.
1972
1973 2012-09-18  Jim Meyering  <meyering@redhat.com>
1974
1975         maint.mk: generalize _gl_tight_scope for non-recursive make
1976         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
1977         that *.h would describe additional .h files in the directory
1978         specified by $(_gl_TS_dir).  I.e., add this...
1979         (_gl_TS_other_headers): New variable.
1980
1981         maint.mk: exempt trailing blanks found in "binary" files
1982         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
1983         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
1984         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1985
1986 2012-09-17  Jim Meyering  <meyering@redhat.com>
1987
1988         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
1989         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
1990         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
1991         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1992
1993 2012-09-17  Jim Meyering  <meyering@redhat.com>
1994
1995         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
1996         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
1997         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
1998         It is not in the same category as "exit (0)" or "exit (1)", and
1999         besides, I know of no symbolic name for that 77.  Reported by
2000         Richard W.M. Jones in
2001         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2002
2003 2012-09-17  Jim Meyering  <meyering@redhat.com>
2004
2005         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2006         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2007         all uses of #define, not just those that start in column 1.
2008         Richard W.M. Jones reported a false positive in
2009         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2010
2011 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2012
2013         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2014         * lib/localcharset.c (locale_charset) [DARWIN7]:
2015         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2016         as these two values are incompatible.  Problem reported by Max Horn.
2017         For more discussion, please see
2018         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2019
2020         doc: document sticky-EOF issue
2021         * doc/posix-functions/fgetc.texi (fgetc):
2022         * doc/posix-functions/fgets.texi (fgets):
2023         * doc/posix-functions/fread.texi (fread):
2024         * doc/posix-functions/fscanf.texi (fscanf):
2025         * doc/posix-functions/getc.texi (getc):
2026         * doc/posix-functions/getchar.texi (getchar):
2027         * doc/posix-functions/scanf.texi (scanf):
2028         Mention that glibc and default Solaris do not conform to
2029         C99 and POSIX-2001 or later, with respect to how getchar
2030         etc. behave when feof reports nonzero.
2031
2032 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2033
2034         poll: fix poll(0, NULL, msec)
2035         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2036         but nfd is 0.  In that case poll should behave like select.
2037
2038 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2039             Paolo Bonzini <bonzini@gnu.org>
2040
2041         poll: fix for systems that can't recv() on a non-socket
2042         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2043         is readable.  In this case POLLHUP will not be supported.
2044         * doc/posix-functions/poll.texi: Document this.
2045
2046 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2047
2048         poll/select: document portability problems not fixed by Gnulib.
2049         * doc/posix-functions/poll.texi: poll does not work well on
2050         pipes under Windows.  It has the same limitations as select on
2051         BeOS.
2052         * doc/posix-functions/select.texi: select does not work well
2053         on pipes under Windows.
2054
2055 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2056
2057         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2058         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2059         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2060         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2061
2062 2012-09-06  Eric Blake  <eblake@redhat.com>
2063
2064         net_if: give more details about the bug being fixed
2065         * doc/posix-headers/net_if.texi: Add clarification.
2066
2067 2012-09-05  Eric Blake  <eblake@redhat.com>
2068
2069         net_if: new module
2070         * modules/net_if: New module, borrowing ideas from netinet_in.
2071         * m4/net_if_h.m4: New file.
2072         * lib/net_if.in.h: Likewise.
2073         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2074         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2075         * tests/test-net_if.c: Make function checks conditional.
2076         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2077
2078 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2079
2080         readutmp: fix non-portable UT_PID use
2081         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2082         Use `UT_PID (u) > 0' as absolute condition.
2083
2084 2012-09-04  Jim Meyering  <meyering@redhat.com>
2085
2086         fts: reduce two or more trailing spaces to just one, usually
2087         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2088         or more slashes, trim all but the final one.  But if a name consists
2089         solely of two slashes, don't modify it.  If it consists solely of
2090         three or more slashes, strip all but one.
2091
2092         This is part of the solution to a minor problem with rm:
2093         it would print a bogus ELOOP diagnostic when failing to remove
2094         the slash-decorated name of a symlink-to-directory:
2095
2096             $ mkdir d && ln -s d s && env rm -r s/
2097             rm: cannot remove 's': Too many levels of symbolic links
2098
2099         With the change below and a trivial don't-trim-trailing-slashes
2100         adjustment to remove.c, it does this:
2101
2102             $ env rm -r s/
2103             rm: cannot remove 's/': Not a directory
2104
2105         Improved by: Eric Blake
2106
2107         fts: when there is no risk of overlap, use memcpy, not memmove
2108         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2109
2110 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2111
2112         stdbool: be more compatible with mixed C/C++ compiles
2113         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2114         Define to bool, true, false, respectively, as GCC's builtin
2115         stdbool.h does.  Problem reported by Michael Goffioul in
2116         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2117
2118 2012-08-28  Jim Meyering  <meyering@redhat.com>
2119
2120         revert last change: it was not needed
2121         * tests/test-vc-list-files-git.sh: There's already a test for
2122         a working git, just below.
2123
2124 2012-08-28  Jim Meyering  <meyering@redhat.com>
2125
2126         tests: test-vc-list-files-git.sh: skip if git is not available
2127         * tests/test-vc-list-files-git.sh: Skip this test when git is
2128         not available.
2129
2130 2012-08-26  Bruno Haible  <bruno@clisp.org>
2131
2132         gnulib-tool: Remove no-op option --no-changelog.
2133         * gnulib-tool (func_usage): Don't mention --no-changelog.
2134         (do_changelog): Remove variable.
2135         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2136
2137 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2138
2139         doc: remove fdl-1.2.texi
2140         It is no longer used or maintained, and its use of @acronym
2141         is problematic.  See the thread containing
2142         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2143         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2144         * doc/old-licenses/fdl-1.2.texi: Remove.
2145
2146         execinfo: port to FreeBSD
2147         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2148         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2149         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2150         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2151
2152 2012-08-23  Jim Meyering  <meyering@redhat.com>
2153
2154         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2155         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2156         to placate gcc's -Wold-style-declaration.
2157
2158 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2159
2160         doc: do not use @acronym
2161         * doc/inet_ntoa.texi (inet_ntoa):
2162         * doc/parse-datetime.texi (Seconds since the Epoch)
2163         (Specifying time zone rules):
2164         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2165         Don't use @acronym.  Problem reported by John Darlington in
2166         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2167
2168 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2169
2170         stdnoreturn: port to newer GCCs
2171         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2172         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2173         Problem reported by Jim Meyering in
2174         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2175         Also, rename the 'test' function to a void a clash with the
2176         already-supplied 'main' function; this fixes a bug that incorrectly
2177         rejected GCC 4.7.1's <stdnoreturn.h>.
2178         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2179         Document GCC problem.
2180
2181 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2182
2183         pipe-filter: fix comment typo
2184         * lib/pipe-filter.h: Mention correct function.
2185
2186 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2187
2188         execinfo: new module
2189         This is for Emacs.  Currently, it provides a no-effect stub
2190         on all platforms where it does not already work.
2191         It already works on glibc-based systems, and on Solaris 11.
2192         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2193         New files.
2194         * doc/glibc-headers/execinfo.texi (execinfo.h):
2195         * MODULES.html.sh (Misc): Document it.
2196
2197 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2198
2199         extern-inline: support old GCC 'inline'
2200         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2201         if available.  This applies to GCC versions 2.7 through 4.2, or
2202         when newer GCC is using -fgnu89-inline.  The goal is to address
2203         some of the performance issues mentioned by Bruno Haible in
2204         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2205
2206 2012-08-20  Eric Blake  <eblake@redhat.com>
2207
2208         maint.mk: avoid redundant file name in message
2209         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2210         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2211         (sc_makefile_path_separator_check): Remove bogus $(ME).
2212
2213 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2214
2215         timer-time: fix link order when static linking on glibc
2216         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2217         _after_ -lrt so that it's significant.
2218
2219 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2220
2221         timespec: omit unnecessary AC_C_INLINE
2222         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2223
2224         stat-time: omit unnecessary AC_C_INLINE
2225         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2226         Do not require AC_C_INLINE.
2227
2228         ignore-value: omit unnecessary AC_C_INLINE
2229         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2230
2231         sys_select: avoid 'static inline'
2232         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2233
2234         mktime: avoid 'static inline'
2235         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2236         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2237
2238 2012-08-19  Bruno Haible  <bruno@clisp.org>
2239
2240         gnulib-tool: Improve coding style.
2241         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2242         func_emit_lib_Makefile_am.
2243         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2244
2245 2012-08-19  Bruno Haible  <bruno@clisp.org>
2246
2247         gnulib-tool: Fix indentation.
2248         * gnulib-tool (func_import): Fix indentation.
2249
2250 2012-08-19  Bruno Haible  <bruno@clisp.org>
2251
2252         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2253         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2254         on the list of removed files.
2255
2256 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2257
2258         test-parse-datetime: avoid glibc leap-second glitch
2259         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2260         with the 2012 rules.  Problem reported by Bruce Dubbs in
2261         <http://bugs.gnu.org/12206>.
2262
2263 2012-08-14  Bruno Haible  <bruno@clisp.org>
2264
2265         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2266         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2267         from argument.
2268         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2269
2270 2012-08-14  Eric Blake  <eblake@redhat.com>
2271
2272         ldexp: relax license
2273         * modules/ldexp (License): Trivial relax, since the module only
2274         provides a permissively licensed m4 file.
2275
2276 2012-08-13  Bruno Haible  <bruno@clisp.org>
2277
2278         gnulib-tool: Fix persistence of --witness-c-macro option.
2279         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2280         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2281
2282 2012-08-11  Eric Blake  <eblake@redhat.com>
2283
2284         count-leading-zeros: use a lookup table on non-gcc compilers
2285         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2286         alternate implementation, suggested by Jim Meyering.
2287
2288 2012-08-10  Eric Blake  <eblake@redhat.com>
2289
2290         count-leading-zeros: new module
2291         * modules/count-leading-zeros: New module.
2292         * m4/count-leading-zeros.m4: New file.
2293         * lib/count-leading-zeros.h: Likewise.
2294         * modules/count-leading-zeros-tests: New test.
2295         * tests/test-count-leading-zeros.c: New file.
2296         * MODULES.html.sh (Integer arithmetic functions): Document it.
2297
2298 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2299             Jim Meyering  <meyering@redhat.com>
2300
2301         maintainer-makefile: Fix syntax error with dash.
2302         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2303         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2304
2305 2012-08-05  Jim Meyering  <meyering@redhat.com>
2306
2307         extern-inline: also ignore -Wmissing-declarations
2308         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2309         required with gcc-4.8.0-to-be.
2310
2311         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2312         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2313         for /error ?([^,]*)/.  This avoids false-positives for strings like
2314         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2315
2316 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2317
2318         gnumakefile: better interaction with Automake-NG
2319         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2320         Automake-NG always contain a definition of VPATH, even in non-VPATH
2321         builds (its value being simply '.' in that case).  So, in the
2322         'clean-GNUmakefile' rule, to determine whether running under a
2323         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2324         '$(VPATH)' expands to the empty string.
2325
2326 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2327
2328         base64: Use extern C scope in header file, for C++.
2329         * lib/base64.h: Add C++ namespace protection.
2330
2331 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2332
2333         stat-time, timespec, u64: support naive out-of-dir builds
2334         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2335         Use '#include "foo.h"', not '#include <foo.h>', when including
2336         one's own interface.  This works better when configuring with
2337         out-of-directory builds, since packages need not add an
2338         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2339
2340 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2341
2342         utimens: use extern-inline
2343         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2344         * lib/utimens.h: Add copyright notice, since this is now large enough
2345         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2346         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2347         * modules/utimens (Depends-on): Add extern-inline.
2348
2349         u64: use extern-inline
2350         * lib/u64.c: New file.
2351         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2352         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2353         * modules/u64 (Files): Add lib/u64.c.
2354         (Depends-on): Add extern-inline.
2355         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2356         does that now.
2357         (lib_SOURCES): Add u64.c.
2358
2359         timespec: use extern-inline
2360         * lib/timespec.c: New file.
2361         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2362         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2363         * modules/timespec (Files): Add lib/timespec.c.
2364         (Depends-on): Add extern-inline.
2365         (lib_SOURCES): Add timespec.c.
2366
2367         stat-time: use extern-inline
2368         * lib/stat-time.c: New file.
2369         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2370         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2371         * modules/stat-time (Files): Add lib/stat-time.c.
2372         (Depends-on): Add extern-inline.
2373         (lib_SOURCES): Add stat-time.c.
2374
2375         extern-inline: new module
2376         * modules/extern-inline, m4/extern-inline.m4: New files.
2377         This is for better support of 'extern inline' a la ISO C99,
2378         with a portable alternative on compilers that do not support
2379         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2380         of the Emacs executable, when compiled with debugging disabled,
2381         which is a typical way that Emacs is built while developing.
2382
2383 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2384
2385         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2386         * build-aux/do-release-commit-and-tag: Move variable definitions
2387         together.
2388         ($branch): Instead of defaulting to "master", default to the current
2389         branch (as gnu-web-doc-update does).
2390         (help): Display the current values of the option arguments.
2391         * top/maint.mk (release-commit): New.
2392         * top/README-release: Simplify the corresponding step.
2393
2394 2012-07-30  Eric Blake  <eblake@redhat.com>
2395
2396         passfd: fix comment on recvfd
2397         * lib/passfd.c (recvfd): Fix comment.
2398         Reported by Jann Horn <jannhorn@googlemail.com>.
2399
2400 2012-07-30  Jim Meyering  <meyering@redhat.com>
2401
2402         maint.mk: avoid a sub-shell
2403         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2404
2405 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2406
2407         maint.mk: use silent-rules support from Automake
2408         * top/maint.mk (news-check, vc-diff-check, announcement)
2409         (no-submodule-changes, alpha beta stable, release-prep)
2410         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2411
2412 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2413
2414         maint.mk: provide a web-manual-update target
2415         * top/maint.mk: here.
2416         * top/README-release: Use it to simplify the web manual update step.
2417
2418 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2419
2420         README-release: shorten the circuit to post a news
2421         * top/README-release: Point directly to the news submission form.
2422
2423 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2424
2425         gnu-web-doc-update: fix --help
2426         * build-aux/gnu-web-doc-update: The information "top level" was written
2427         twice.
2428
2429 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2430
2431         maint.mk: absolute VPATH issue
2432         * top/maint.mk (release-prep): Help Git find .git/.
2433         From Jim Meyering.
2434
2435 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2436
2437         gitlog-to-changelog: fix previous change
2438         * build-aux/gitlog-to-changelog: Fix condition.
2439         Add missing ";".
2440
2441 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2442
2443         gitlog-to-changelog: don't expect .git to be in $srcdir
2444         Reported by Bruno Haible.
2445         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2446         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2447         Use it.
2448
2449 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2450
2451         maint.mk: absolute VPATH build fix
2452         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2453         $(srcdir) is not a parent of $(builddir).
2454
2455 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2456
2457         clean-temp: Fix memory leak.
2458         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2459         'files' members of tmpdir.
2460
2461 2012-07-27  Jim Meyering  <meyering@redhat.com>
2462
2463         maint.mk: new rule: refresh-gnulib-patches
2464         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2465         Use this rule to refresh them.
2466         * top/maint.mk (refresh-gnulib-patches): New rule.
2467
2468 2012-07-24  Bruno Haible  <bruno@clisp.org>
2469
2470         gnulib-tool: Fix handling of inctests variable.
2471         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2472         Reported by Nick Bowler <nbowler@elliptictech.com>.
2473
2474 2012-07-22  Bruno Haible  <bruno@clisp.org>
2475
2476         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2477         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2478         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2479         Remove exemption for getpass.h.
2480         Suggested by Eric Blake.
2481
2482 2012-07-20  Eric Blake  <eblake@redhat.com>
2483
2484         verify: document conflict with -Wnested-externs
2485         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2486
2487         maint.mk: forbid exit(-1)
2488         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2489
2490 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2491
2492         fsusage: port back to Solaris
2493         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2494         error (fsd not declared) on Solaris 10.  Reported privately by
2495         Andrew Borodin.
2496
2497 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2498
2499         gnu-web-doc-update: fix error messages
2500         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2501
2502         gnu-web-doc-update: check the requirements.
2503         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2504         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2505         * build-aux/bootstrap (find_tool): Comment change.
2506
2507 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2508
2509         maint.mk: minor simplication.
2510         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2511         for default values.
2512
2513 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2514
2515         gitlog-to-changelog: VPATH build issues
2516         If builddir is not a subdirectory of srcdir, running git from it will
2517         fail.
2518         * build-aux/gitlog-to-changelog (--srcdir): New option.
2519
2520 2012-07-15  Bruno Haible  <bruno@clisp.org>
2521
2522         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2523         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2524         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2525         Remove exemption for fpending.h.
2526         Suggested by Eric Blake.
2527
2528 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2529
2530         pthread_sigmask: fix bug on FreeBSD 9
2531         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2532         Include string.h.
2533         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2534         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2535         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2536         but pthread_sigmask (1729, NULL, NULL) returns zero.
2537         See <http://bugs.gnu.org/11884>.
2538         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2539         by inspecting whether the main call changed the old mask.
2540
2541 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2542
2543         README-release: make it more legible
2544         * top/README-release: Improve typography slightly.
2545
2546 2012-07-15  Jim Meyering  <meyering@redhat.com>
2547
2548         maint: require that each sc_... command start with "@"
2549         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2550         "make sc_maint" helps us avoid this nit.
2551
2552 2012-07-15  Jim Meyering  <meyering@redhat.com>
2553
2554         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2555         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2556
2557 2012-07-13  Eric Blake  <eblake@redhat.com>
2558
2559         maint.mk: new syntax check for HAVE_DECL checks
2560         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2561         * cfg.mk
2562         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2563         Exempt some false positives.
2564         Based on a report by Karel Zak.
2565
2566         argp: make HAVE_DECL usage consistent
2567         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2568         macros, not whether they are defined.
2569         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2570         convention with other declaration checks.
2571         Reported by Karel Zak, with suggestions from Paul Eggert.
2572
2573         stat-time: relax license to LGPLv2+
2574         * modules/stat-time (License): Relax, with consent of all authors.
2575
2576         strndup: fix m4 usage error
2577         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2578         defined, to either 0 or 1.
2579         Reported by Karel Zak.
2580
2581 2012-07-11  Jim Meyering  <meyering@redhat.com>
2582
2583         maint: enable the sc_avoid_if_before_free syntax-check rule
2584         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2585         (if_before_free_offenders_): Define.
2586         (if_before_free_basename_re_): Define.
2587         Exempt current files with useless if-before-free.
2588
2589 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2590
2591         gettext: do not assume '#define ... defined ...' behavior
2592         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2593         Do not use '#define FOO ... defined BAR ...', as the C standard says
2594         it's not portable to expect that this works after macro expansion.
2595         Problem reported for gzip by Steven M. Schweda in
2596         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2597
2598 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2599
2600         getloadavg: clean out old Emacs and Autoconf cruft
2601         See Glenn Morris in <http://bugs.gnu.org/11905>.
2602         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2603         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2604         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2605         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2606
2607 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2608
2609         bootstrap: let warn be like tests/init.sh's warn_
2610         Reported by Jim Meyering.
2611         * build-aux/bootstrap (warn): Remove, replaced by...
2612         (warnf_, warn_): these.
2613         Adjust callers.
2614         Shorten messages that no longer fit in 80 columns.
2615
2616 2012-07-09  Bruno Haible  <bruno@clisp.org>
2617
2618         getopt: Simplify after Emacs changed.
2619         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2620         (gl_GETOPT_IFELSE): Remove macro.
2621
2622 2012-07-09  Jim Meyering  <meyering@redhat.com>
2623
2624         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2625         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2626
2627         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2628         Bugs in both of those conspired to make the
2629         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2630         _sc_search_regexp's handling of non-empty $in_files would filter
2631         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2632         choice of in_files value meant there would be no match in most
2633         projects, due to the presence of two or more Makefile.in files.
2634         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2635         Fix a bug in how a non-empty $$in_files was processed:
2636         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2637         in spite of the name, it's a regexp, not a list of file names.
2638
2639 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2640
2641         getloadavg, getopt: fix commentary re configure.in
2642         Autoconf is deprecating the name 'configure.in', so change it to
2643         to the new name 'configure.ac' in a couple of places.
2644         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2645         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2646         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2647         Emacs has renamed it to configure.ac, and it no longer refers
2648         to these macros anyway.
2649
2650         timespec: mark functions with const attributes
2651         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2652         Mark with _GL_ATTRIBUTE_CONST.
2653
2654 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2655
2656         canonicalize[-lgpl]: handle "guessing" values when cross-building
2657         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2658         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2659         matches "*yes" instead of just "yes".  Regression introduced in commit
2660         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2661
2662 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2663             Bruno Haible  <bruno@clisp.org>
2664
2665         canonicalize: make the right guess when cross-compiling to GNU
2666         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2667         determine whether cross-compiling to glibc systems, so as to
2668         include GNU/Hurd.
2669
2670 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2671
2672         timespec-sub: avoid duplicate include
2673         * lib/timespec-sub.c: Do not include <config.h> twice.
2674         Reported by Juanma Barranquero.
2675
2676 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2677
2678         bootstrap: use a more consistent error reporting scheme
2679         * build-aux/bootstrap (warn, die): New.
2680         Use them.
2681
2682 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2683
2684         sys_time: allow too-wide tv_sec
2685         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2686         timeval even if tv_sec is wider than time_t.  This allows
2687         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2688         as without this patch gnulib replaces struct timeval
2689         and OpenBSD futimes therefore has a type mismatch.
2690         * doc/posix-headers/sys_time.texi: Mention this.
2691
2692         pthread: check for both pthread_create and pthread_join
2693         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2694         alter the check so that it tests for both pthread_create and
2695         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2696         Suggested by Bruno Haible and Richard Yao in
2697         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2698
2699         parse-datetime: doc tuneup
2700         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2701         spacing issues.
2702
2703 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2704
2705         do-release-commit-and-tag: fix the previous commit
2706         * build-aux/do-release-commit-and-tag: Actually the test was right,
2707         but the comment and the error message were misleading.
2708         Fix comment, and improve error message.
2709         Perform check first, so that NEWS is not modified uselessly.
2710
2711         do-release-commit-and-tag: fix typo
2712         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
2713         _not_ start with a stub.
2714
2715 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2716
2717         pthread: check for pthread_create, not pthread_join
2718         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
2719         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
2720         pthread_join in libc.  I hope this removes the need for all the
2721         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
2722         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
2723
2724 2012-07-04  Jim Meyering  <meyering@redhat.com>
2725
2726         parse-datetime: fix failure to diagnose invalid input
2727         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
2728         rather than diagnosing the invalid input.  Now it reports this:
2729         date: invalid date '\260'
2730         * lib/parse-datetime.y (to_uchar): Define.
2731         (yylex): Don't sign-extend "other" bytes.
2732         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
2733         Thanks to Bruno Haible for the patch to this file.
2734         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
2735         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
2736
2737 2012-07-03  Jim Meyering  <meyering@redhat.com>
2738
2739         bootstrap: do not require now-removed build-aux/missing
2740         Now that build-aux/missing is, er, missing, bootstrap would
2741         silently fail.
2742         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
2743         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
2744         no longer part of gnulib.
2745         Diagnose the failure.
2746
2747 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
2748
2749         alloca: add support for HP NonStop TNS/E native
2750         * lib/alloca.in.h (alloca): Support the new host.
2751         From a suggestion by Joachim Schmitz in
2752         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
2753
2754 2012-07-02  Pádraig Brady  <P@draigBrady.com>
2755
2756         fsusage: remove code not needed on non GNU/Linux systems.
2757
2758         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2759         Don't include headers no longer needed in this case.
2760         * lib/fsusage.c [STAT_STATVFS &&
2761         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
2762         STAT_STATFS2_FRSIZE to exclude code not used in this case.
2763
2764 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2765
2766         fsusage: include files needed for glibc 2.6 fallback
2767         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2768         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
2769         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
2770         Problem reported by Ludovic Courtès in
2771         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
2772
2773         fsusage: avoid needless check on GNU/Linux
2774         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
2775         on GNU/Linux systems, since it can't possibly work.
2776
2777 2012-07-01  Bruno Haible  <bruno@clisp.org>
2778
2779         log: Fix an autoconf >= 2.64 warning.
2780         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
2781         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2782
2783 2012-06-28  Bruno Haible  <bruno@clisp.org>
2784
2785         log10f: Fix possible configuration problem.
2786         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
2787         $LOGF_LIBM.
2788         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2789
2790 2012-06-28  Bruno Haible  <bruno@clisp.org>
2791
2792         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
2793         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
2794         not gl_cv_func_unlink_works.
2795         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2796
2797 2012-06-27  Eric Blake  <eblake@redhat.com>
2798
2799         config: drop scripts that automake says are not independent
2800         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
2801         * build-aux/elisp-comp: Delete.
2802         * build-aux/missing: Likewise.
2803         * build-aux/ylwrap: Likewise.
2804         * modules/elisp-comp: Likewise.
2805         * MODULES.html.sh: Drop mention of elisp-comp.
2806         * NEWS: Mention this.
2807
2808 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
2809
2810         root-uid: new module
2811         This is for portability to Tandem's NonStop Kernel.
2812         * lib/root-uid.h, modules/root-uid: New files.
2813         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
2814         * lib/write-any-file.c, tests/test-sethostname2.c:
2815         Include "root-uid.h".
2816         * lib/euidaccess.c (euidaccess):
2817         * lib/pt_chown.c (main):
2818         * lib/unlinkdir.c (cannot_unlink_dir):
2819         * lib/write-any-file.c (can_write_any_file):
2820         * m4/mknod.m4 (gl_FUNC_MKNOD):
2821         * tests/test-sethostname2.c (geteuid, main):
2822         Don't assume ROOT_UID == 0.
2823         * modules/euidaccess (Depends-on):
2824         * modules/pt_chown (Depends-on):
2825         * modules/sethostname-tests (Depends-on):
2826         * modules/unlinkdir (Depends-on):
2827         * modules/write-any-file (Depends-on):
2828         Add root-uid.
2829
2830         regex: use locale-independent comparison for codeset name
2831         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
2832         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
2833         for codeset name.
2834         * lib/regex_internal.h: Do not include <strings.h>, since we
2835         no longer use strcasecmp.
2836         * modules/regex (Depends-on): Remove strcase.
2837
2838 2012-06-23  Bruno Haible  <bruno@clisp.org>
2839
2840         getopt-posix: No longer guarantee that option processing is resettable.
2841         * doc/posix-functions/getopt.texi: Drop description of problem with
2842         internal state. Fix info about mingw and msvc9.
2843         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
2844         option processing by getopt(). Run three test programs instead of one.
2845         Simplify cross-compilation guess.
2846         * NEWS: Mention the change.
2847         Reported by Rich Felker <dalias@aerifal.cx>.
2848
2849 2012-06-26  Bruno Haible  <bruno@clisp.org>
2850
2851         argp, regex: Ensure strcasecmp gets declared.
2852         * lib/argp-help.c: Include <strings.h>.
2853         * lib/regex_internal.h: Likewise.
2854         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
2855
2856 2012-06-24  Bruno Haible  <bruno@clisp.org>
2857
2858         ptsname_r: Make it consistent with ptsname on AIX.
2859         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
2860         implementation as for OSF/1.
2861         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
2862         a pty master.
2863
2864         ptsname_r: Make it consistent with ptsname on OSF/1.
2865         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2866         OSF/1.
2867
2868 2012-06-24  Bruno Haible  <bruno@clisp.org>
2869
2870         ttyname_r: Fix result on OSF/1, Solaris.
2871         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
2872
2873 2012-06-24  Bruno Haible  <bruno@clisp.org>
2874
2875         ptsname_r: Add support for Solaris.
2876         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2877         Solaris.
2878
2879         ptsname_r: Fix test failure on native Windows.
2880         * modules/ptsname_r (Depends-on): Add isatty.
2881
2882         ptsname_r: Fix test failures on IRIX, Solaris.
2883         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
2884         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
2885         accordingly.
2886         * lib/ptsname_r.c: Include <fcntl.h>.
2887         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
2888         set errno if fd is invalid.
2889         * tests/test-isatty.c (main): Update comments.
2890
2891 2012-06-24  Bruno Haible  <bruno@clisp.org>
2892
2893         ptsname test: Extend test.
2894         * tests/test-ptsname.c: Include <errno.h>.
2895         (main): Test behaviour with invalid file descriptor.
2896
2897 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2898
2899         time: fix obsolete comment
2900         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
2901         reference to HAVE_STRUCT_TIMESPEC in comment.
2902
2903 2012-06-23  Bruno Haible  <bruno@clisp.org>
2904
2905         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
2907         does not handle abbreviated long options with equivalent
2908         disambiguations, set gl_replace_getopt to yes.
2909         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
2910
2911 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2912
2913         time_r: fix typo that always overrode localtime_r decl
2914         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
2915         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
2916         not in a standard include.
2917
2918 2012-06-22  Bruno Haible  <bruno@clisp.org>
2919
2920         Write "Mac OS X" instead of "MacOS X".
2921         * README: Write "Mac OS X" instead of "MacOS X".
2922         * build-aux/bootstrap: Likewise.
2923         * build-aux/install-reloc: Likewise.
2924         * lib/acl-internal.h: Likewise.
2925         * lib/acl_entries.c: Likewise.
2926         * lib/argp-ba.c: Likewise.
2927         * lib/argp-pv.c: Likewise.
2928         * lib/config.charset: Likewise.
2929         * lib/copy-acl.c: Likewise.
2930         * lib/csharpexec.c: Likewise.
2931         * lib/euidaccess.c: Likewise.
2932         * lib/fbufmode.c: Likewise.
2933         * lib/fflush.c: Likewise.
2934         * lib/file-has-acl.c: Likewise.
2935         * lib/filemode.h: Likewise.
2936         * lib/fpurge.c: Likewise.
2937         * lib/freadable.c: Likewise.
2938         * lib/freadahead.c: Likewise.
2939         * lib/freading.c: Likewise.
2940         * lib/freadptr.c: Likewise.
2941         * lib/freadseek.c: Likewise.
2942         * lib/fseeko.c: Likewise.
2943         * lib/fseterr.c: Likewise.
2944         * lib/fsusage.c: Likewise.
2945         * lib/fwritable.c: Likewise.
2946         * lib/fwriting.c: Likewise.
2947         * lib/get-rusage-as.c: Likewise.
2948         * lib/get-rusage-data.c: Likewise.
2949         * lib/getdomainname.c: Likewise.
2950         * lib/idpriv-drop.c: Likewise.
2951         * lib/idpriv-droptemp.c: Likewise.
2952         * lib/localcharset.c: Likewise.
2953         * lib/locale.in.h: Likewise.
2954         * lib/localename.c: Likewise.
2955         * lib/mbsrtowcs-state.c: Likewise.
2956         * lib/nproc.c: Likewise.
2957         * lib/passfd.c: Likewise.
2958         * lib/posix_openpt.c: Likewise.
2959         * lib/printf-parse.c: Likewise.
2960         * lib/progreloc.c: Likewise.
2961         * lib/safe-read.h: Likewise.
2962         * lib/safe-write.h: Likewise.
2963         * lib/sched.in.h: Likewise.
2964         * lib/set-mode-acl.c: Likewise.
2965         * lib/signal.in.h: Likewise.
2966         * lib/stdint.in.h: Likewise.
2967         * lib/stdio-impl.h: Likewise.
2968         * lib/stdlib.in.h: Likewise.
2969         * lib/strtod.c: Likewise.
2970         * lib/sys_select.in.h: Likewise.
2971         * lib/tcgetsid.c: Likewise.
2972         * lib/unistd.in.h: Likewise.
2973         * lib/unlockpt.c: Likewise.
2974         * lib/vasnprintf.c: Likewise.
2975         * lib/vma-iter.c: Likewise.
2976         * lib/wcsrtombs-state.c: Likewise.
2977         * m4/acl.m4: Likewise.
2978         * m4/acosl.m4: Likewise.
2979         * m4/asinl.m4: Likewise.
2980         * m4/atanl.m4: Likewise.
2981         * m4/c-stack.m4: Likewise.
2982         * m4/cosl.m4: Likewise.
2983         * m4/expl.m4: Likewise.
2984         * m4/extensions.m4: Likewise.
2985         * m4/fdatasync.m4: Likewise.
2986         * m4/fmal.m4: Likewise.
2987         * m4/frexp.m4: Likewise.
2988         * m4/frexpf.m4: Likewise.
2989         * m4/frexpl.m4: Likewise.
2990         * m4/fsusage.m4: Likewise.
2991         * m4/getdomainname.m4: Likewise.
2992         * m4/getloadavg.m4: Likewise.
2993         * m4/getopt.m4: Likewise.
2994         * m4/gettext.m4: Likewise.
2995         * m4/gnulib-common.m4: Likewise.
2996         * m4/intdiv0.m4: Likewise.
2997         * m4/intlmacosx.m4: Likewise.
2998         * m4/largefile.m4: Likewise.
2999         * m4/ldexpl.m4: Likewise.
3000         * m4/link-follow.m4: Likewise.
3001         * m4/locale-ar.m4: Likewise.
3002         * m4/locale-fr.m4: Likewise.
3003         * m4/locale-ja.m4: Likewise.
3004         * m4/locale-tr.m4: Likewise.
3005         * m4/locale-zh.m4: Likewise.
3006         * m4/locale_h.m4: Likewise.
3007         * m4/lock.m4: Likewise.
3008         * m4/logl.m4: Likewise.
3009         * m4/mathfunc.m4: Likewise.
3010         * m4/minus-zero.m4: Likewise.
3011         * m4/mktime.m4: Likewise.
3012         * m4/mmap-anon.m4: Likewise.
3013         * m4/multiarch.m4: Likewise.
3014         * m4/nanosleep.m4: Likewise.
3015         * m4/nocrash.m4: Likewise.
3016         * m4/poll.m4: Likewise.
3017         * m4/printf-frexpl.m4: Likewise.
3018         * m4/printf.m4: Likewise.
3019         * m4/signbit.m4: Likewise.
3020         * m4/sinl.m4: Likewise.
3021         * m4/sqrtl.m4: Likewise.
3022         * m4/strerror_r.m4: Likewise.
3023         * m4/tanl.m4: Likewise.
3024         * m4/threadlib.m4: Likewise.
3025         * m4/ttyname_r.m4: Likewise.
3026         * m4/unlink.m4: Likewise.
3027         * m4/visibility.m4: Likewise.
3028         * m4/wcwidth.m4: Likewise.
3029         * tests/minus-zero.h: Likewise.
3030         * tests/test-alloca-opt.c: Likewise.
3031         * tests/test-copy-acl.sh: Likewise.
3032         * tests/test-copy-file.sh: Likewise.
3033         * tests/test-fdatasync.c: Likewise.
3034         * tests/test-file-has-acl.sh: Likewise.
3035         * tests/test-flock.c: Likewise.
3036         * tests/test-fsync.c: Likewise.
3037         * tests/test-localename.c: Likewise.
3038         * tests/test-malloca.c: Likewise.
3039         * tests/test-nonblocking-pipe.h: Likewise.
3040         * tests/test-nonblocking-socket.h: Likewise.
3041         * tests/test-openpty.c: Likewise.
3042         * tests/test-posix_openpt.c: Likewise.
3043         * tests/test-ptsname.c: Likewise.
3044         * tests/test-ptsname_r.c: Likewise.
3045         * tests/test-sameacls.c: Likewise.
3046         * tests/test-select.h: Likewise.
3047         * tests/test-set-mode-acl.sh: Likewise.
3048         * tests/test-snprintf-posix.h: Likewise.
3049         * tests/test-sprintf-posix.h: Likewise.
3050         * tests/test-strtod.c: Likewise.
3051         * tests/test-time.c: Likewise.
3052         * tests/test-vasnprintf-posix.c: Likewise.
3053         * tests/test-vasprintf-posix.c: Likewise.
3054         * doc/acl-resources.txt: Likewise.
3055         * doc/**/*.texi: Likewise.
3056         Reported by Max Horn <max@quendi.de>.
3057
3058 2012-06-22  Bruno Haible  <bruno@clisp.org>
3059
3060         grantpt: Relax requirement regarding invalid file descriptors.
3061         * lib/grantpt.c: Don't include <fcntl.h>.
3062         (grantpt): Don't verify the validity of the file descriptor.
3063         * modules/grantpt (Depends-on): Remove fcntl-h.
3064         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3065         file descriptors.
3066         * doc/posix-functions/grantpt.texi: Document more platforms on which
3067         grantpt succeeds for invalid file descriptors.
3068         Reported by Rich Felker <dalias@aerifal.cx>.
3069
3070 2012-06-22  Bruno Haible  <bruno@clisp.org>
3071
3072         fbufmode test: Don't test unportable behaviour.
3073         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3074         (main): Invoke it three times.
3075         Reported by Szabolcs Nagy <nsz@port70.net>
3076         and Rich Felker <dalias@aerifal.cx>.
3077
3078 2012-06-21  Bruno Haible  <bruno@clisp.org>
3079
3080         gnulib-tool: Refactor inctests variable.
3081         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3082         (func_modules_transitive_closure,
3083         func_modules_transitive_closure_separately,
3084         func_import, func_create_testdir): Update.
3085
3086         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3087         * gnulib-tool: Accept option --without-tests.
3088         (func_usage): Document --without-tests option. Rearrange.
3089         (inctests): Normalize according to the mode.
3090         * NEWS: Mention the change.
3091         Suggested by Simon Josefsson.
3092
3093 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3094
3095         parse-duration test: Avoid spurious output.
3096         * tests/test-parse-duration.sh: Reindent with leading tabs.
3097
3098 2012-06-21  Jim Meyering  <meyering@redhat.com>
3099
3100         maint: disable the strncpy prohibition
3101         * cfg.mk: Do not prohibit strncpy here.
3102
3103 2012-06-21  Bruno Haible  <bruno@clisp.org>
3104
3105         nonblocking: Avoid compilation error on mingw64.
3106         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3107         fscanf.
3108         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3109         * modules/vfscanf (configure.ac): Likewise.
3110         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3111         definition only if stdio.h has prepared it.
3112         Reported by Daniel P. Berrange <berrange@redhat.com>.
3113
3114 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3115
3116         gnulib-tool: Use readlink if it is available.
3117         * gnulib-tool (func_readlink): Choose function more appropriately.
3118
3119 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3120
3121         posixtm-tests: port to buggy compiler
3122         Problem reported by Simon Josefsson in
3123         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3124         * modules/posixtm-tests (Depends-on): Add stdint.
3125         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3126         Now of type int_least64_t, not int64_t, both because that's
3127         what INT64_C returns and because int_least64_t works even
3128         on 72-bit hosts.
3129         (T): Use INT64_C on constants outside the traditional int range,
3130         to work around compiler bug noted by Simon.
3131
3132         mktime: fix integer overflow in 'configure'-time test
3133         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3134         after integer overflow.  Problem reported by Rich Felker in
3135         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3136         Also, don't look for further instances of a bug if we've already
3137         found one instance; this helps 'configure' run faster.
3138
3139 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3140
3141         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3142         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3143         GetVersionEx correctly.
3144         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3145
3146 2012-06-20  Bruno Haible  <bruno@clisp.org>
3147
3148         fdopen: Allow implementations that don't reject invalid fd arguments.
3149         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3150         succeeds.
3151         Reported by Rich Felker <dalias@aerifal.cx>.
3152
3153 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3154
3155         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3156         bring in LIBINTL.
3157
3158 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3159
3160         init.sh: do not rely on autoupated PWD
3161         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3162         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3163         Although Nelson's bug was not necessarily fixed by this patch,
3164         it seems wise to make the change for safety.
3165         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3166         automagically after 'cd'; this is not reliable on older shells.
3167         (setup_): Fail if we cannot cd to temporary directory.
3168
3169 2012-06-19  Bruno Haible  <bruno@clisp.org>
3170
3171         stat, fstat: Avoid warnings on mingw64.
3172         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3173         redefining.
3174         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3175         Reported by Daniel P. Berrange <berrange@redhat.com>.
3176
3177 2012-06-19  Bruno Haible  <bruno@clisp.org>
3178
3179         stdioext: Add support for musl libc.
3180
3181         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3182         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3183
3184         * m4/fseterr.m4: New file.
3185         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3186         function exists.
3187         * modules/fseterr (Files): Add m4/fseterr.m4.
3188         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3189         __fseterr does not exist.
3190         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3191
3192         * lib/freadable.h: Update comment.
3193
3194         * lib/fwritable.h: Update comment.
3195
3196         * lib/freading.h: Update comment.
3197
3198         * lib/fwriting.h: Update comment.
3199
3200         * m4/freadahead.m4: New file.
3201         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3202         that function exists.
3203         * modules/freadahead (Files): Add m4/freadahead.m4.
3204         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3205         __freadahead does not exist.
3206         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3207
3208         * m4/freadptr.m4: New file.
3209         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3210         function exists.
3211         * modules/freadptr (Files): Add m4/freadptr.m4.
3212         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3213         __freadptr does not exist.
3214         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3215
3216         * m4/freadseek.m4: New file.
3217         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3218         exists.
3219         * modules/freadseek (Files): Add m4/freadseek.m4.
3220         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3221
3222         * lib/fpurge.c (fpurge): Update comment.
3223
3224         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3225
3226 2012-06-19  Bruno Haible  <bruno@clisp.org>
3227
3228         *printf-posix: Put more info into config.log.
3229         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3230         exit code into config.log.
3231
3232 2012-06-19  Bruno Haible  <bruno@clisp.org>
3233
3234         getopt-gnu: Fix exit code overflow in autoconf test.
3235         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3236         to keep them below < 128.
3237
3238 2012-06-17  Jim Meyering  <meyering@redhat.com>
3239
3240         maint.mk: fix typo in code to derive GPG key at release time
3241         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3242
3243 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3244
3245         regex: avoid warning when pointers are not long
3246         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3247         and uintptr_t, not long, for portability to hosts where pointers and
3248         long have different sizes.  Issue noted by Daniel P. Berrange in
3249         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3250         and fix suggested by Bruno Haible in
3251         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3252
3253 2012-06-17  Bruno Haible  <bruno@clisp.org>
3254
3255         dummy: Relicense into the public domain.
3256         * modules/dummy (License): Set to "public domain".
3257         Suggested by Reuben Thomas.
3258
3259 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3260
3261         announce-gen: VPATH issues
3262         * build-aux/announce-gen (--srcdir): New option, used to trim the
3263         $srcdir part of the path from $builddir to NEWS.
3264         * top/maint.mk (announcement): Adjust.
3265
3266 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3267
3268         gnu-web-doc-update: VPATH builds
3269         * build-aux/gnu-web-doc-update (--builddir): New option.
3270         Revamp the handling of options.
3271         Prefer $(...) to `...`.
3272         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3273         the template, and it is GNU mktemp specific.
3274         Prefer set -e to long series of &&.
3275         Restore the initial git branch, not "master".
3276         Properly initialize submodules (don't rely only on bootstrap).
3277         Do not reconfigure blindly, use config.status.
3278         * top/README-release: Update instructions for gnu-web-doc-update.
3279
3280 2012-06-11  Jim Meyering  <meyering@redhat.com>
3281
3282         maint.mk: revert most of the previous change re "all these"
3283         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3284         For rationale, see the discussion at
3285         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3286
3287 2012-06-10  Karl Berry  <karl@gnu.org>
3288
3289         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3290
3291         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3292
3293 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3294
3295         parse-duration: Relicense under LGPLv2+.
3296         * modules/parse-duration (License): Change to LGPLv2+.
3297
3298 2012-06-10  Jim Meyering  <meyering@redhat.com>
3299
3300         maint.mk: prohibit common grammar error: "all these"
3301         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3302         the list of prohibited word sequences.  It should be "all of these".
3303         * lib/tempname.c (__gen_tempname): Fix one of them.
3304
3305 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3306
3307         do-release-commit-and-tag: support VPATH builds
3308         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3309         (noteworthy): Defined earlier to factor its value.
3310         (noteworthy_stub): New.
3311         Use it to factor.
3312         (help_version): Split into...
3313         (help, version): these.
3314         Adjust the option processing part.
3315         Support "--option=value" in addition to "--option value".
3316         (builddir): New.
3317         (--builddir): New option.
3318         * top/README-release: Document this.
3319         Reword slightly so that the reader cannot understand that he
3320         has to do these steps before calling do-release-commit-and-tag.
3321
3322 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3323
3324         readme-release: also require announce-gen and maintainer-makefile
3325         * modules/readme-release (Depends-on): here.
3326         * modules/announce-gen, modules/do-release-commit-and-tag,
3327         modules/gnu-web-doc-update, modules/maintainer-makefile
3328         (Description): Point to readme-release.
3329
3330 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3331
3332         maint.mk: fix VPATH issues.
3333         * top/maint.mk (news-check): GNU Make understand $< very well.
3334         (release-prep): NEWS is in $(srcdir).
3335
3336 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3337
3338         readme-release: require the promoted modules.
3339         * modules/readme-release (Depends-on): Add
3340         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3341         in this text.
3342
3343 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3344             Bruno Haible  <bruno@clisp.org>
3345
3346         error, strerror-override: Support mingw64 from Fedora 17.
3347         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3348         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3349         EINPROGRESS.
3350         * lib/strerror-override.h (strerror_override): Test it.
3351         * lib/strerror-override.c (strerror_override): Likewise.
3352         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3353
3354 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3355             Bruno Haible  <bruno@clisp.org>
3356
3357         error, strerror-override: Support mingw64 from Fedora 17.
3358         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3359         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3360         * lib/strerror-override.h (strerror_override): Test it.
3361         * lib/strerror-override.c (strerror_override): Likewise.
3362
3363 2012-06-03  Bruno Haible  <bruno@clisp.org>
3364
3365         error, strerror-override: Support new errno values from POSIX:2008.
3366         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3367         ENOTRECOVERABLE.
3368         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3369         platforms.
3370         * lib/strerror-override.c (strerror_override): Conditionalize the
3371         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3372         * lib/strerror-override.h (strerror_override): Declare also if
3373         GNULIB_defined_EOWNERDEAD is defined.
3374         * tests/test-errno.c (e130, e131): New variables.
3375         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3376         ENOTRECOVERABLE.
3377         Reported by Paolo Bonzini.
3378
3379 2012-05-31  Jim Meyering  <meyering@redhat.com>
3380
3381         savewd: add missing dependency on sys_wait module
3382         * modules/savewd (Depends-on): Add sys_wait, needed at least
3383         for MSVC.  Report and suggested change by Michael Goffioul.
3384
3385 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3386
3387         system-quote-tests: port to CentOS 5
3388         Problem reported by Tom G. Christensen in
3389         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3390         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3391
3392 2012-05-29  Jim Meyering  <meyering@redhat.com>
3393
3394         maint: fix typos in comments and ChangeLog
3395         Culprits identified and fixed mostly automatically using these commands:
3396         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3397         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3398         using http://github.com/lyda/misspell-check
3399         * ChangeLog: Fix typos.
3400         * doc/solaris-versions: Likewise.
3401         * lib/regexec.c (re_search_stub): Likewise.
3402         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3403
3404 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3405
3406         manywarnings: remove duplicate -Wmultichar entry
3407         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3408         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3409         so keep the entry marked as documented.
3410
3411 2012-05-27  Karl Berry  <karl@gnu.org>
3412
3413         * config/srclist.txt (mktime.c): remove last libc sync,
3414         perhaps just temporarily.
3415
3416 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3417
3418         regex: don't assume uint64_t or uint32_t
3419         * lib/regcomp.c (init_word_char): Don't assume that the types
3420         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3421         them, and on some 32-bit compilers there is no uint64_t.
3422         Problem reported by Gianluigi Tiesi in
3423         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3424
3425 2012-05-25  Jim Meyering  <meyering@redhat.com>
3426
3427         maint.mk: add strncpy-prohibiting syntax-check rule
3428         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3429
3430 2012-05-24  Jim Meyering  <meyering@redhat.com>
3431
3432         maint.mk: compute $(gpg_key_ID) more portably
3433         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3434         That use of sed is not portable to some fringe systems.
3435         Reported by Paul Eggert in
3436         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3437
3438 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3439
3440         mktime: sync from glibc
3441         * config/srclist.txt: Uncomment mktime.c.
3442         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3443         First, indent with tabs, since glibc uses tabs and doesn't want to
3444         change and we'd rather be identical to glibc.  Also, two small
3445         coding changes:
3446         (isdst_differ): Use &&, not &, as && is the usual style.
3447         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3448         for clarity.
3449
3450 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3451
3452         announce-gen: du -h is more portable than du --human
3453         * build-aux/announce-gen (sizes): Invoke du with -h instead
3454         of --human.  Accept leading white space in its output.
3455
3456 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3457
3458         announce-gen: Improve diagnostics.
3459         * build-aux/announce-gen: When parsing command line options,
3460         prefer "announce-gen: option --release-type requires an argument"
3461         to "Option release-type requires an argument".
3462
3463 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3464
3465         maint.mk: gpg_key_ID: use sed more portably
3466         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3467         the closing brace.
3468         (refresh-po): Fuse two sed invocations into one.
3469
3470 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3471
3472         gitlog-to-changelog: support the log message format used in Bison.
3473         * build-aux/gitlog-to-changelog: Support --strip-tab and
3474         --strip-cherry-picked.
3475
3476 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3477
3478         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3479         the rest of the current time slice to another thread in the current
3480         process. So if the thread that feeds the file decscriptor we're
3481         polling is not in the current process, we get busy-waiting.
3482         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3483         Patch from Theodore Leblond.
3484         * lib/select.c: Split polling out of the loop that sets the output
3485         fd_sets.  Check for zero result and loop if the wait timeout is
3486         infinite.
3487
3488 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3489
3490         select: Fix build error on IRIX 6.5.
3491         * lib/select.c: Include stddef.h for NULL.
3492
3493 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3494
3495         gc: fix libgcrypt detection on older machines.
3496         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3497         copyright years because the file has been distributed every year
3498         since it was created.
3499
3500 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3501
3502         crypto: fix bug in large buffer handling
3503         Problem reported by Serge Belyshev for glibc in
3504         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3505         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3506         * lib/md4.c (md4_process_block):
3507         * lib/md5.c (md5_process_block):
3508         * lib/sha1.c (sha1_process_block):
3509         * lib/sha256.c (sha256_process_block):
3510         Don't assume the buffer length is less than 2**32.
3511         * lib/sha512.c (sha512_process_block): Likewise.
3512         Here, the bug is present only in the rare case where the host does
3513         not support uint64_t or where size_t is wider than 64 bits.
3514         Use u64size to work around the problems.
3515         * lib/u64.h (u64size): New macro.
3516
3517 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3518
3519         fsusage: fix block size returned on older Linux 2.6
3520
3521         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3522         which is available since Linux 2.6.
3523         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3524         when the member is available so it can be used as a fallback.
3525         * doc/posix-functions/statvfs.texi: Mention the hang issue
3526         on Linux < 2.6.36.
3527
3528 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3529
3530         bootstrap: suppress stderr chatter
3531         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3532         Omit unnecessary chatter to stderr.  The main program chatter
3533         was there only inadvertantly.
3534
3535         bootstrap: .gitignore files created by autopoint, libtool
3536         I ran into this problem when bootstrapping the latest diffutils.
3537         After './bootstrap', 'git status' reported lots of untracked files
3538         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3539         autopoint and do not need to be version-controlled.
3540         * build-aux/bootstrap: Put into .gitignore the files that
3541         autopoint and libtool create, by keeping track of files that exist
3542         after but not before these programs are run.
3543         (version_controlled_file): Move up.  2nd arg is now full file
3544         name, not base name; this is more convenient.  Put CVS at the end,
3545         as it's now somewhat deprecated.
3546
3547 2012-05-14  Jim Meyering  <meyering@redhat.com>
3548
3549         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3550         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3551         definition.  Reported by Bruno Haible.
3552
3553 2012-05-13  Bruno Haible  <bruno@clisp.org>
3554             Paul Eggert  <eggert@cs.ucla.edu>
3555
3556         binary-io: Define set_binary_mode function.
3557         * lib/binary-io.h (set_binary_mode): New function.
3558         (SET_BINARY): Define in terms of set_binary_mode.
3559         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3560         * tests/test-binary-io.c (main): Accept an argument, and test either
3561         set_binary_mode or SET_BINARY depending on the argument.
3562         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3563         argument. Clean up also t-bin-out0.tmp.
3564
3565 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3566
3567         bootstrap: take advantage of POSIX shell features
3568
3569         The 'bootstrap' script offered by Gnulib script already uses POSIX
3570         shell features (like $((...)) arithmetic expansions) that are not
3571         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3572         means that bootstrap must already be run using a proper POSIX shell,
3573         which will thus provide more features, like ${var#pattern} parameter
3574         expansion or inversion of a command exit status with '!'.  We can
3575         thus use these features to improve the clarity and the performances
3576         of the bootstrap script.
3577
3578         Suggested by Eric Blake.
3579
3580         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3581         of sed/expr plus command substitutions, to save some forks.  While
3582         we are at it, prefer the POSIX $(...) form of command substitution,
3583         rather than the legacy form `...` (since the former is visually
3584         clearer and interacts better with quoting), and prefer the idiom:
3585           "if ! CMD; then ACTION ..."
3586         over the idiom:
3587           "if CMD; then :; else ACTION ..."
3588         which was required by legacy Bourne shells not supporting '!'.
3589
3590 2012-05-12  Bruno Haible  <bruno@clisp.org>
3591
3592         system-quote: Add more comments.
3593         * lib/system-quote.h: Add more comments about wilcards and limitations.
3594         Suggested by Eli Zaretskii <eliz@gnu.org>.
3595
3596         sh-quote, system-quote: Add comments about wildcards.
3597         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3598         * lib/system-quote.h: Likewise.
3599         Reported by Eli Zaretskii <eliz@gnu.org>.
3600
3601 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3602
3603         fsusage: check for GNU/Linux statvfs problem dynamically
3604         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3605         Define STAT_STATFS2_BSIZE too, since in this case the code now
3606         checks dynamically whether statvfs is reliable, falling back on
3607         Linux-style statfs otherwise.
3608         (statvfs_works): New function, for dynamically testing statvfs.
3609         (get_fs_usage) [STAT_STATVFS]: Use it.
3610         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3611         statvfs on GNU/Linux hosts, since it's now done dynamically.
3612
3613 2012-05-10  Bruno Haible  <bruno@clisp.org>
3614
3615         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3616         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3617         '?' character.
3618         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3619         * tests/test-system-quote-main.c (check_all): Check also strings like
3620         "??????????".
3621         Reported by Eli Zaretskii <eliz@gnu.org>.
3622
3623 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3624
3625         _Noreturn: port config.h to gcc -Wundef
3626         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3627         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3628         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3629
3630 2012-05-10  Bruno Haible  <bruno@clisp.org>
3631
3632         system-quote: Refactor.
3633         * lib/system-quote.h (system_quote_copy): Fix comment.
3634         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3635         New functions, extracted from system_quote_copy.
3636         (system_quote_length, system_quote_copy): Use these functions.
3637         Reported by Paul Eggert.
3638
3639 2012-05-08  Bruno Haible  <bruno@clisp.org>
3640
3641         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3642         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3643
3644 2012-05-08  Bruno Haible  <bruno@clisp.org>
3645
3646         Tests for module 'system-quote'.
3647         * modules/system-quote-tests: New file.
3648         * tests/test-system-quote.sh: New file.
3649         * tests/test-system-quote-main.c: New file.
3650         * tests/test-system-quote-child.c: New file.
3651
3652         New module 'system-quote'.
3653         * lib/system-quote.h: New file.
3654         * lib/system-quote.c: New file.
3655         * modules/system-quote: New file.
3656
3657 2012-05-08  Bruno Haible  <bruno@clisp.org>
3658
3659         sh-quote: Make C++ safe and allow multiple inclusion.
3660         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3661         declarations in extern "C".
3662
3663 2012-05-08  Bruno Haible  <bruno@clisp.org>
3664
3665         sh-quote tests: Make tests stricter.
3666         * tests/test-sh-quote.c (check_one): Check the return value of
3667         shell_quote_copy.
3668         (main): Check a string with a CR character. Check a string that
3669         contains UCHAR_MAX.
3670
3671 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3672
3673         warnings.m4: provide a means to specify the program to compile.
3674         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3675         (gl_WARN_ADD): here.
3676         Use gl_AS_VAR_APPEND.
3677         Support an argument to specify the program to compile.
3678         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3679         AC_SUBST the WARN_CFLAGS when they are used.
3680         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3681         leave this to gl_WARN_ADD.
3682
3683 2012-05-08  Eric Blake  <eblake@redhat.com>
3684
3685         doc: recommendations on gettext version
3686         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3687         choice between versions.
3688         * DEPENDENCIES (gettext): Cover both approaches.
3689
3690 2012-05-08  Jim Meyering  <meyering@redhat.com>
3691
3692         init.sh: explain why EXEEXT support uses aliases rather than functions
3693         * tests/init.sh: Add a comment.
3694
3695         init.sh: don't let bash aliases interfere with tests
3696         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3697         is bash.  This avoids problems for those who alias standard commands to
3698         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3699         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3700
3701 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3702
3703         stdint: be more consistent with glibc, SunOS libc
3704         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3705         (gl_int_fast16_t, gl_uint_fast16_t)
3706         (gl_int_fast32_t, gl_uint_fast32_t)
3707         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3708         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
3709         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3710         Be consistent with glibc by default, and with SunOS 5.10 and later
3711         if __sun is defined.  This lessens the likelihood of clashes if
3712         code compiled for older hosts is combined with code compiled for
3713         newer ones.  Problem reported by Niels Möller in
3714         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
3715
3716 2012-05-07  Eric Blake  <eblake@redhat.com>
3717
3718         isatty: relax license to LGPLv2+
3719         * modules/isatty (License): Relax license.
3720
3721 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3722
3723         stat-size: comment fix
3724         * lib/stat-size.h: Remove obsolete comment about indenting.
3725
3726 2012-05-06  Bruno Haible  <bruno@clisp.org>
3727
3728         Tests for module 'sh-quote'.
3729         * modules/sh-quote-tests: New file.
3730         * tests/test-sh-quote.c: New file.
3731
3732 2012-05-06  Bruno Haible  <bruno@clisp.org>
3733
3734         sh-quote: Improve shell_quote_argv's signature.
3735         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
3736         * lib/sh-quote.c (shell_quote_argv): Likewise.
3737
3738 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3739
3740         stdint: document issues with int_fast8_t etc.
3741         * doc/posix-headers/stdint.texi (stdint.h): Say that other
3742         stdint.h substitutes may define these types differently.  See
3743         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
3744
3745 2012-05-05  Bruno Haible  <bruno@clisp.org>
3746
3747         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
3748         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
3749         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
3750         or 'guessing no (mishandles large arguments)'.
3751
3752 2012-05-05  Bruno Haible  <bruno@clisp.org>
3753
3754         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
3755         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
3756         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3757         set gl_cv_func_link_follows_symlink to "guessing no".
3758
3759 2012-05-05  Bruno Haible  <bruno@clisp.org>
3760
3761         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
3762         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
3763         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
3764         "guessing no".
3765         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
3766
3767 2012-05-05  Bruno Haible  <bruno@clisp.org>
3768
3769         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
3770         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
3771         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3772         set gl_cv_struct_dirent_d_ino to "guessing yes".
3773
3774 2012-05-05  Bruno Haible  <bruno@clisp.org>
3775
3776         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
3777         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
3778         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
3779         "guessing yes".
3780
3781 2012-05-05  Bruno Haible  <bruno@clisp.org>
3782
3783         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
3784         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
3785         compiling to a glibc system, set gl_cv_func_signbit and
3786         gl_cv_func_signbit_gcc to "guessing yes".
3787
3788 2012-05-05  Bruno Haible  <bruno@clisp.org>
3789
3790         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
3791         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
3792         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
3793         to "guessing yes".
3794         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
3795         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
3796
3797 2012-05-05  Bruno Haible  <bruno@clisp.org>
3798
3799         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
3800         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
3801         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
3802         gl_cv_func_realpath_works to "guessing yes".
3803
3804 2012-05-05  Bruno Haible  <bruno@clisp.org>
3805
3806         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
3807         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
3808         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
3809
3810 2012-05-04  Bruno Haible  <bruno@clisp.org>
3811
3812         Tweak last commit.
3813         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
3814         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3815
3816 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
3817
3818         unistd_h: make it easier to avoid sys_types_h
3819         This is useful for Emacs, which has its own method of porting to
3820         Windows, and which therefore does not need the sys_types_h module.
3821         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
3822         code moved here from gl_SYS_TYPES_H.
3823         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
3824         using the code directly.
3825         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
3826         gl_SYS_TYPES_H.
3827         * modules/sys_types (Files):
3828         * modules/unistd (Files): Add m4/off_t.m4.
3829
3830 2012-05-03  Bruno Haible  <bruno@clisp.org>
3831
3832         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
3833         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
3834         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
3835         "guessing yes" or "guessing no".
3836         (gl_FUNC_LSTAT): Update.
3837         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
3838         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3839         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
3840
3841 2012-05-03  Bruno Haible  <bruno@clisp.org>
3842
3843         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
3844         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
3845         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
3846         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
3847         cross-compiling, choose the first alternative on glibc systems.
3848         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
3849
3850 2012-05-03  Bruno Haible  <bruno@clisp.org>
3851
3852         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
3853         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
3854         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
3855
3856 2012-05-03  Bruno Haible  <bruno@clisp.org>
3857
3858         chown: Avoid "guessing no" when cross-compiling to glibc systems.
3859         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
3860
3861 2012-05-03  Bruno Haible  <bruno@clisp.org>
3862
3863         Avoid "guessing no" guesses when cross-compiling to glibc systems.
3864         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
3865         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
3866         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
3867         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
3868         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
3869         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
3870         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
3871         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
3872         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
3873         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3874         gl_cv_func_chown_ctime_works to "guessing yes".
3875         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3876         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3877         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3878         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3879         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3881         compiling to glibc systems, set gl_cv_func_open_directory_works to
3882         "guessing yes".
3883         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
3884         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
3885         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
3886         "guessing yes".
3887         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
3888         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
3889         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
3890         compiling to glibc systems, set gl_cv_func_floorf_ieee to
3891         "guessing yes".
3892         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
3893         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
3894         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
3895         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
3896         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
3897         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
3898         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
3899         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
3900         "guessing yes".
3901         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
3902         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
3903         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
3904         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
3905         "guessing yes".
3906         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
3907         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
3908         "guessing yes".
3909         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
3910         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
3911         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
3912         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
3913         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
3914         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
3915         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
3916         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
3917         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
3918         compiling to glibc systems, set gl_cv_func_log10f_ieee to
3919         "guessing yes".
3920         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
3921         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
3922         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
3923         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
3924         "guessing yes".
3925         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
3926         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
3927         "guessing yes".
3928         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
3929         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
3930         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
3931         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
3932         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
3933         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
3934         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
3935         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
3936         compiling to glibc systems, set gl_cv_func_mkfifo_works to
3937         "guessing yes".
3938         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
3939         compiling to glibc systems, set gl_cv_func_mknod_works to
3940         "guessing yes".
3941         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
3942         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
3943         "guessing yes".
3944         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
3945         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
3946         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
3947         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
3948         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
3949         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
3950         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
3951         compiling to glibc systems, set gl_cv_func_svid_putenv to
3952         "guessing yes".
3953         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
3954         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
3955         "guessing yes".
3956         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
3957         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
3958         "guessing yes".
3959         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
3960         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
3961         to "guessing yes".
3962         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
3963         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
3964         to "guessing yes".
3965         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
3966         compiling to glibc systems, set gl_cv_func_rmdir_works to
3967         "guessing yes".
3968         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
3969         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
3970         gl_cv_func_unlink_parent_fails to "guessing yes".
3971         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
3972         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
3973         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
3974         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
3975         gl_cv_func_rename_dest_works to "guessing yes".
3976         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
3977         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
3978         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
3979         compiling to glibc systems, set gl_cv_func_roundf_ieee to
3980         "guessing yes".
3981         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
3982         compiling to glibc systems, set gl_cv_func_roundl_ieee to
3983         "guessing yes".
3984         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
3985         compiling to glibc systems, set gl_cv_func_setenv_works to
3986         "guessing yes".
3987         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
3988         compiling to glibc systems, set gl_cv_func_unsetenv_works to
3989         "guessing yes".
3990         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
3991         compiling to glibc systems, set gl_cv_func_sleep_works to
3992         "guessing yes".
3993         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
3994         compiling to glibc systems, set gl_cv_func_stat_file_slash to
3995         "guessing yes".
3996         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
3997         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
3998         "guessing yes".
3999         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4000         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4001         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4002         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4003         "guessing yes".
4004         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4005         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4006         "guessing yes".
4007         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4008         compiling to glibc systems, set gl_cv_func_usleep_works to
4009         "guessing yes".
4010         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4011         compiling to glibc systems, set gl_cv_func_futimesat_works to
4012         "guessing yes".
4013
4014 2012-05-03  Bruno Haible  <bruno@clisp.org>
4015
4016         Say "guessing yes" or "guessing no" when cross-compiling.
4017         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4018         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4019         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4020         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4021         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4022         am_cv_func_working_getline to "guessing yes" or "guessing no".
4023         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4024         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4025         (gl_FUNC_MEMMEM): When cross-compiling, set
4026         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4027         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4028         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4030         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4031         "guessing no".
4032         (gl_FUNC_STRCASESTR): When cross-compiling, set
4033         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4034         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4035         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4036         (gl_FUNC_STRSTR): When cross-compiling, set
4037         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4038         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4039         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4040         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4041         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4042
4043 2012-05-01  Bruno Haible  <bruno@clisp.org>
4044
4045         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4046         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4047         * build-aux/reloc-ldflags: Likewise.
4048         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4049
4050 2012-05-01  Bruno Haible  <bruno@clisp.org>
4051
4052         gnulib-tool: Remove transitional code.
4053         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4054         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4055
4056 2012-05-01  Bruno Haible  <bruno@clisp.org>
4057
4058         getcwd: Fix misindentation.
4059         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4060
4061 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4062
4063         exclude: process exclude and include directives in order
4064         This restores the pre-2009 behavior, and is part of a fix of a
4065         grep bug reported by Quentin Arce in
4066         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4067         * lib/exclude.c (struct exclude): Remove 'tail' member.
4068         (new_exclude_segment): Prepend the new segment instead of appending.
4069         Return void, since that's now more convenient.
4070         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4071         (file_name_matches): Renamed from excluded_file_name_p.
4072         (file_pattern_matches, file_name_matches):
4073         Return true if the pattern matches, not if it excludes.
4074         All callers changed.
4075         (excluded_file_name): Process the list in reverse order;
4076         since the list is now reversed this restores the pre-2009 behavior.
4077         (add_exclude): Adjust to new reversed-order list.  Use local var
4078         rather than macro, for clarity.
4079         * tests/test-exclude7.sh: Adjust to corrected behavior.
4080
4081         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4082         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4083         it's not possible here.  Handle the case of \ at end of pattern
4084         without dumping core.
4085         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4086
4087         _Noreturn: future-proof non-GNU and non-MSVC compilers
4088         * build-aux/snippet/_Noreturn.h (_Noreturn):
4089         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4090         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4091         C11 or later.  This is more likely to work with random future C
4092         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4093         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4094
4095         exclude: handle wildcards with FNM_EXTMATCH
4096         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4097         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4098         comment that "has wildcards" really means "has or may have
4099         wildcards".  Simplify by avoiding the need to call strcspn.
4100
4101 2012-04-29  Bruno Haible  <bruno@clisp.org>
4102
4103         gnulib-tool: Fix list of authors.
4104         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4105
4106 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4107
4108         bootstrap: support Automake-NG in $buildreq
4109         * bootstrap (check_versions): Handle automake and aclocal from
4110         Automake-NG specially.  They can be specified as respectively
4111         the "automake-ng" and "aclocal-ng" requirements.
4112
4113 2012-04-25  Eric Blake  <eblake@redhat.com>
4114
4115         bootstrap: only force latest Makefile.in.in for gettext module
4116         * build-aux/bootstrap (with_gettext): Only install latest
4117         Makefile.in.in for projects requesting bleeding edge gettext.
4118
4119 2012-04-22  Bruno Haible  <bruno@clisp.org>
4120
4121         doc: Mention reason for replacement on glibc/Linux systems.
4122         * doc/posix-functions/dprintf.texi: Mention the problem with special
4123         'long double' values.
4124         * doc/posix-functions/fprintf.texi: Likewise.
4125         * doc/posix-functions/printf.texi: Likewise.
4126         * doc/posix-functions/snprintf.texi: Likewise.
4127         * doc/posix-functions/sprintf.texi: Likewise.
4128         * doc/posix-functions/vdprintf.texi: Likewise.
4129         * doc/posix-functions/vfprintf.texi: Likewise.
4130         * doc/posix-functions/vprintf.texi: Likewise.
4131         * doc/posix-functions/vsnprintf.texi: Likewise.
4132         * doc/posix-functions/vsprintf.texi: Likewise.
4133         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4134         platforms with F_DUPFD_CLOEXEC problems.
4135         * doc/posix-functions/glob.texi: Mention which platforms are affected
4136         by the problem with symbolic links.
4137         * doc/posix-functions/linkat.texi: Mention the problem with
4138         AT_SYMLINK_FOLLOW on Linux.
4139
4140 2012-04-22  Bruno Haible  <bruno@clisp.org>
4141
4142         pwrite: Don't replace on all platforms.
4143         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4144
4145 2012-04-22  Bruno Haible  <bruno@clisp.org>
4146
4147         rint* tests: Avoid gcc warnings.
4148         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4149         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4150         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4151
4152 2012-04-21  Bruno Haible  <bruno@clisp.org>
4153
4154         users.txt: Update.
4155         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4156         switched from CVS to git, bzr, or svn.
4157
4158 2012-04-21  Bruno Haible  <bruno@clisp.org>
4159
4160         Large File Support for native Windows platforms.
4161
4162         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4163         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4164
4165         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4166         type.
4167         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4168         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4169         * doc/posix-headers/sys_types.texi: Mention the effect of the
4170         'largefile' module.
4171
4172         * lib/fcntl.in.h: Add comments about off_t.
4173         * modules/fcntl-h (Depends-on): Add sys_types.
4174
4175         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4176         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4177         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4178         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4179         * modules/unistd (Depends-on): Add sys_types.
4180         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4181
4182         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4183         instead of lseek.
4184         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4185         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4186         * modules/lseek (Depends-on): Add sys_types.
4187
4188         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4189         msvc-nothrow.h.
4190         (SetFileSize): New function.
4191         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4192         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4193         if Large File Support is requested.
4194         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4195         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4196
4197         * lib/stdio.in.h: Add comments about off_t.
4198         * modules/stdio (Depends-on): Add sys_types.
4199
4200         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4201         instead of ftello.
4202         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4203         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4204         (gl_PREREQ_FTELLO): New macro.
4205         * modules/ftello (Depends-on): Add sys_types.
4206         (configure.ac): Incoke gl_PREREQ_FTELLO.
4207
4208         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4209         instead of fseeko.
4210         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4211         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4212         (gl_PREREQ_FSEEKO): New macro.
4213         * modules/fseeko (Depends-on): Add sys_types.
4214         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4215
4216         * lib/sys_stat.in.h: Add comments about off_t.
4217         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4218         64-bit integer for st_size in 'struct stat'.
4219         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4220         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4221         * modules/sys_stat (Depends-on): Add sys_types.
4222         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4223
4224         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4225         instead of stat or _stat.
4226
4227         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4228         'struct _stati64' instead of fstat and 'struct stat'.
4229         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4230         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4231
4232         Reported by Ray Satiro <raysatiro@yahoo.com>.
4233
4234 2012-04-19  Eric Blake  <eblake@redhat.com>
4235
4236         bootstrap: accommodate older libtool
4237         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4238         Reported by Daniel P. Berrange.
4239
4240 2012-04-19  Jim Meyering  <meyering@redhat.com>
4241
4242         announce-gen: avoid failure due to lack of Digest::SHA1
4243         Even with the preferred Digest::SHA available, this script
4244         would fail when the backup module, Digest::SHA1, was not installed.
4245         * build-aux/announce-gen: Quote the conditional use of "use".
4246         Reported by Reuben Thomas in:
4247         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4248
4249         bootstrap: don't let a user's CDPATH setting affect this script
4250         When CDPATH is set, cd will sometimes generate output.
4251         When "cd" is run in a subshell whose output matters, that
4252         surprising-to-some output can cause malfunction.
4253         Unsetting CDPATH turns off this shell "feature."
4254         * build-aux/bootstrap (CDPATH): Unset.
4255         Reported by Reuben Thomas in:
4256         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4257         and inspired by his patch here:
4258         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4259
4260 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4261         and Jim Meyering  <meyering@redhat.com>
4262
4263         maint.mk: catch "see @xref{}" and similar
4264         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4265         prohibit "See also @xref{", "Also see @pxref{", and similar.
4266
4267 2012-04-16  Jim Meyering  <meyering@redhat.com>
4268
4269         bootstrap: really use gnulib's po/Makefile.in.in
4270         * build-aux/bootstrap: Correct the source file name in previous change.
4271         Reported by Akim Demaille.
4272
4273         configmake: correct minor inconsistency in Makefile rule
4274         * modules/configmake (Makefile.am): All other rules like this one
4275         run the final "mv -f ..." in the same backslash-continued command
4276         as the one that does everything else.  This one put the mv -f ...
4277         command on a separate, non-backslash-continued line.
4278         Make it like the others.
4279
4280         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4281         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4282         the one from gettext.  Reported by Akim Demaille.
4283
4284 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4285
4286         Fix recursion of install-* into po directories.
4287         Bison's install-pdf bug reported by Hans Aberg at
4288         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4289         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4290         (install-info, install-pdf, install-ps): New targets.
4291
4292 2012-04-16  Jim Meyering  <meyering@redhat.com>
4293
4294         maint: avoid spurious "make sc_maint" failure
4295         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4296         exempt all *.class file names, for lib/javaversion.class.
4297
4298 2012-04-15  Bruno Haible  <bruno@clisp.org>
4299
4300         lseek: Make configure test independent of environment.
4301         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4302         Windows, we know that lseek() on pipes is broken; skip the runtime
4303         test.
4304
4305 2012-04-14  Bruno Haible  <bruno@clisp.org>
4306
4307         stat: Bypass buggy override in mingw64.
4308         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4309         * lib/stat.c (stat) [mingw64]: Define to _stat.
4310         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4311
4312 2012-04-14  Bruno Haible  <bruno@clisp.org>
4313
4314         pathmax: Fix compilation error on MSVC 9.
4315         * modules/pathmax (Depends-on): Add unistd.
4316
4317 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4318
4319         README: document pointer comparison assumption
4320         * README (Portability guidelines): Document assumption about
4321         pointer comparisons, in response to a recent bug-gnulib comment by
4322         Jeffrey Kegler.
4323
4324 2012-04-12  Bruno Haible  <bruno@clisp.org>
4325
4326         Tests for module 'getrusage'.
4327         * modules/getrusage-tests: New file.
4328         * tests/test-getrusage.c: New file.
4329
4330         New module 'getrusage'.
4331         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4332         warn-on-use.h.
4333         (getrusage): New declaration.
4334         * lib/getrusage.c: New file.
4335         * m4/getrusage.m4: New file.
4336         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4337         is declared.
4338         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4339         HAVE_GETRUSAGE.
4340         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4341         snippet/c++defs, snippet/warn-on-use.
4342         (Makefile.am): Update generation of sys/resource.h. Substitute
4343         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4344         * modules/getrusage: New file.
4345         * doc/posix-functions/getrusage.texi: Mention the new module.
4346
4347 2012-04-12  Bruno Haible  <bruno@clisp.org>
4348
4349         Tests for module 'sys_resource'.
4350         * modules/sys_resource-tests: New file.
4351         * tests/test-sys_resource.c: New file.
4352
4353         New module 'sys_resource'.
4354         * lib/sys_resource.in.h: New file.
4355         * m4/sys_resource_h.m4: New file.
4356         * modules/sys_resource: New file.
4357         * doc/posix-headers/sys_resource.texi: Mention the new module.
4358
4359 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4360
4361         ioctl: Fix compilation error on mingw.
4362         * lib/ioctl.c: Include <windows.h>.
4363         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4364
4365 2012-04-04  Jim Meyering  <meyering@redhat.com>
4366
4367         regex: correct #pragma guard expression
4368         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4369         not 4.3.  Correct its cpp guard expression.
4370
4371 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4372
4373         regex: remove unnecessary type punning
4374         Problem reported by Vladimir Serbinenko in
4375         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4376         * lib/regex.h (struct re_pattern_buffer): Change the type of
4377         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4378         Fix comment to match code.
4379         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4380         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4381         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4382         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4383         (set_regs):
4384         Omit no-longer-necessary casts.
4385
4386 2012-04-03  Bruno Haible  <bruno@clisp.org>
4387
4388         Tests for module 'ilogbl'.
4389         * modules/ilogbl-tests: New file.
4390         * tests/test-ilogbl.c: New file.
4391
4392         New module 'ilogbl'.
4393         * lib/math.in.h (ilogbl): New declaration.
4394         * lib/ilogbl.c: New file.
4395         * m4/ilogbl.m4: New file.
4396         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4398         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4399         Split sed invocation, to avoid the limit of 100 substitutions of
4400         HP-UX 'sed'.
4401         * modules/ilogbl: New file.
4402         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4403         * doc/posix-functions/ilogbl.texi: Mention the new module.
4404
4405 2012-04-03  Bruno Haible  <bruno@clisp.org>
4406
4407         Tests for module 'ilogbf'.
4408         * modules/ilogbf-tests: New file.
4409         * tests/test-ilogbf.c: New file.
4410
4411         New module 'ilogbf'.
4412         * lib/math.in.h (ilogbf): New declaration.
4413         * lib/ilogbf.c: New file.
4414         * m4/ilogbf.m4: New file.
4415         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4416         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4417         REPLACE_ILOGBF.
4418         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4419         REPLACE_ILOGBF.
4420         * modules/ilogbf: New file.
4421         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4422         * doc/posix-functions/ilogbf.texi: Mention the new module.
4423
4424 2012-04-03  Bruno Haible  <bruno@clisp.org>
4425
4426         Tests for module 'ilogb'.
4427         * modules/ilogb-tests: New file.
4428         * tests/test-ilogb.c: New file.
4429         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4430         tests/test-logb-ieee.h.
4431
4432         New module 'ilogb'.
4433         * lib/math.in.h (ilogb): New declaration.
4434         * lib/ilogb.c: New file.
4435         * m4/ilogb.m4: New file.
4436         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4437         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4438         REPLACE_ILOGB.
4439         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4440         REPLACE_ILOGB.
4441         * modules/ilogb: New file.
4442         * tests/test-math-c++.cc: Check the declaration of ilogb.
4443         * doc/posix-functions/ilogb.texi: Mention the new module.
4444
4445 2012-04-03  Bruno Haible  <bruno@clisp.org>
4446
4447         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4448         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4449         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4450         (main): Check their values.
4451         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4452         problem.
4453
4454 2012-04-03  Bruno Haible  <bruno@clisp.org>
4455
4456         Tests for module 'logbl-ieee'.
4457         * modules/logbl-ieee-tests: New file.
4458         * tests/test-logbl-ieee.c: New file.
4459
4460         New module 'logbl-ieee'.
4461         * modules/logbl-ieee: New file.
4462
4463         Tests for module 'logb-ieee'.
4464         * modules/logb-ieee-tests: New file.
4465         * tests/test-logb-ieee.c: New file.
4466
4467         New module 'logb-ieee'.
4468         * modules/logb-ieee: New file.
4469
4470         Tests for module 'logbf-ieee'.
4471         * modules/logbf-ieee-tests: New file.
4472         * tests/test-logbf-ieee.c: New file.
4473         * tests/test-logb-ieee.h: New file.
4474
4475         New module 'logbf-ieee'.
4476         * modules/logbf-ieee: New file.
4477
4478 2012-04-03  Bruno Haible  <bruno@clisp.org>
4479
4480         Tests for module 'logbl'.
4481         * modules/logbl-tests: New file.
4482         * tests/test-logbl.c: New file.
4483
4484         New module 'logbl'.
4485         * lib/math.in.h (logbl): New declaration.
4486         * lib/logbl.c: New file.
4487         * m4/logbl.m4: New file.
4488         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4489         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4490         REPLACE_LOGBL.
4491         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4492         REPLACE_LOGBL.
4493         * modules/logbl: New file.
4494         * tests/test-math-c++.cc: Check the declaration of logbl.
4495         * doc/posix-functions/logbl.texi: Mention the new module.
4496
4497 2012-04-02  Bruno Haible  <bruno@clisp.org>
4498
4499         Tests for module 'logbf'.
4500         * modules/logbf-tests: New file.
4501         * tests/test-logbf.c: New file.
4502
4503         New module 'logbf'.
4504         * lib/math.in.h (logbf): New declaration.
4505         * lib/logbf.c: New file.
4506         * m4/logbf.m4: New file.
4507         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4508         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4509         REPLACE_LOGBF.
4510         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4511         REPLACE_LOGBF.
4512         * modules/logbf: New file.
4513         * tests/test-math-c++.cc: Check the declaration of logbf.
4514         * doc/posix-functions/logbf.texi: Mention the new module.
4515
4516 2012-04-02  Bruno Haible  <bruno@clisp.org>
4517
4518         logb tests: More tests.
4519         * tests/test-logb.h: New file, based on tests/test-logb.c and
4520         tests/test-frexp.h.
4521         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4522         (main): Just invoke test_function.
4523         * modules/logb-tests (Files): Add tests/test-logb.h,
4524         tests/minus-zero.h, tests/randomd.c.
4525         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4526
4527         logb: Provide replacement and workarounds.
4528         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4529         is 1.
4530         * lib/logb.c: New file.
4531         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4532         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4534         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4535         * modules/logb (Files): Add lib/logb.c.
4536         (Depends-on): Add isfinite, frexp, isnand.
4537         (configure.ac): Compile the replacement code logb.c if needed.
4538         * tests/test-math-c++.cc: Check the declaration of logb.
4539         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4540         with subnormal numbers.
4541
4542 2012-04-02  Bruno Haible  <bruno@clisp.org>
4543
4544         log10* tests: Speed up.
4545         * tests/test-log10.h (test_function): Reduce amount of random numbers
4546         to test.
4547
4548 2012-04-01  Bruno Haible  <bruno@clisp.org>
4549
4550         logf-ieee: Fix test whether logf works.
4551         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4552
4553 2012-04-01  Bruno Haible  <bruno@clisp.org>
4554
4555         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4556         * lib/log10l.c: Include <float.h>
4557         (log10l): On IRIX, normalize the +Infinity value.
4558         * modules/log10l (Depends-on): Add 'float'.
4559         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4560         +Infinity.
4561
4562         log10f-ieee: Work around test failure on NetBSD 5.1.
4563         * m4/log10f-ieee.m4: New file.
4564         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4565         test whether log10f works with a negative argument. Replace it if not.
4566         * lib/log10f.c (log10f): For negative arguments, return NaN.
4567         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4568         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4569         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4570
4571         log10f-ieee: Work around test failure on Solaris 9.
4572         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4573         (configure.ac): Require gl_FUNC_LOG10F.
4574
4575         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4576         * m4/log10-ieee.m4: New file.
4577         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4578         whether log10 works with a negative argument. Replace it if not.
4579         * lib/log10.c (log10): For negative arguments, return NaN.
4580         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4581         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4582         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4583
4584         Tests for module 'log10l-ieee'.
4585         * modules/log10l-ieee-tests: New file.
4586         * tests/test-log10l-ieee.c: New file.
4587
4588         New module 'log10l-ieee'.
4589         * modules/log10l-ieee: New file.
4590
4591         Tests for module 'log10-ieee'.
4592         * modules/log10-ieee-tests: New file.
4593         * tests/test-log10-ieee.c: New file.
4594
4595         New module 'log10-ieee'.
4596         * modules/log10-ieee: New file.
4597
4598         Tests for module 'log10f-ieee'.
4599         * modules/log10f-ieee-tests: New file.
4600         * tests/test-log10f-ieee.c: New file.
4601         * tests/test-log10-ieee.h: New file.
4602
4603         New module 'log10f-ieee'.
4604         * modules/log10f-ieee: New file.
4605
4606 2012-04-01  Bruno Haible  <bruno@clisp.org>
4607
4608         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4609         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4610         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4611         workaround.
4612         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4613         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4614         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4615         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4616         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4617         (Depends-on): Update conditions.
4618         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4619         IRIX 6.5, OSF/1 5.1 problems.
4620
4621 2012-04-01  Bruno Haible  <bruno@clisp.org>
4622
4623         log10f: Work around OSF/1 5.1 bug.
4624         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4625         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4626         workaround.
4627         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4628         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4629         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4630         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4631         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4632         (Depends-on): Update conditions.
4633         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4634
4635 2012-04-01  Bruno Haible  <bruno@clisp.org>
4636
4637         log10: Work around OSF/1 5.1 bug.
4638         * lib/math.in.h (log10): New declaration.
4639         * lib/log10.c: New file.
4640         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4641         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4642         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4644         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4645         * modules/log10 (Files): Add lib/log10.c.
4646         (Depends-on): Add math.
4647         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4648         * tests/test-math-c++.cc: Check the declaration of log10.
4649         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4650
4651 2012-03-31  Bruno Haible  <bruno@clisp.org>
4652
4653         log10l tests: More tests.
4654         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4655         tests/minus-zero.h, tests/randoml.c.
4656         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4657         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4658         (main): Invoke test_function.
4659
4660         log10f tests: More tests.
4661         * modules/log10f-tests (Files): Add tests/test-log10.h,
4662         tests/minus-zero.h, tests/randomf.c.
4663         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4664         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4665         (main): Invoke test_function.
4666
4667         log10 tests: More tests.
4668         * tests/test-log10.h: New file.
4669         * modules/log10-tests (Files): Add tests/test-log10.h,
4670         tests/minus-zero.h, tests/randomd.c.
4671         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4672         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4673         (main): Invoke test_function.
4674
4675 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4676
4677         fflush: Fix syntax error.
4678         * lib/fflush.c: Include unused-parameter.h, needed for
4679         _GL_UNUSED_PARAMETER.
4680         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4681
4682 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4683
4684         regex: pacify GCC when compiling GRUB
4685         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4686         a diagnostic.  Reported by Vladimir Serbinenko in
4687         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4688
4689 2012-03-29  Eric Blake  <eblake@redhat.com>
4690
4691         stdio: don't assume gets any more
4692         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4693         support.
4694         * modules/stdio (Makefile.am): Likewise.
4695         * lib/stdio-read.c (gets): Likewise.
4696         * tests/test-stdio-c++.cc: Likewise.
4697         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4698         * lib/stdio.in.h (gets): Make warning occur in more places.
4699         * doc/posix-functions/gets.texi (gets): Update documentation.
4700         Reported by Christer Solskogen.
4701
4702         maint.mk: fix syntax checks without exclusions
4703         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4704         Reported by Daniel P. Berrange.
4705
4706         strerror_r: avoid compiler warning
4707         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4708         level.
4709
4710         fflush: avoid compiler warning
4711         * lib/fflush.c (update_fpos_cache): Mark variables that are
4712         potentially unused.
4713
4714 2012-03-25  Bruno Haible  <bruno@clisp.org>
4715
4716         Tests for module 'localeconv'.
4717         * modules/localeconv-tests: New file.
4718         * tests/test-localeconv.c: New file.
4719
4720         New module 'localeconv'.
4721         * lib/locale.in.h (localeconv): New declaration.
4722         * lib/localeconv.c: New file.
4723         * m4/localeconv.m4: New file.
4724         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
4725         REPLACE_LOCALECONV.
4726         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
4727         REPLACE_LOCALECONV.
4728         * modules/localeconv: New file.
4729         * modules/nl_langinfo (Depends-on): Add localeconv.
4730         * modules/human (Depends-on): Likewise.
4731         * doc/posix-functions/localeconv.texi: Mention the new module.
4732
4733 2012-03-25  Bruno Haible  <bruno@clisp.org>
4734
4735         locale: Provide a complete 'struct lconv'.
4736         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4737         'struct lconv' does not contain int_p_cs_precedes.
4738         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4739         * doc/posix-headers/locale.texi: Update.
4740
4741         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
4742         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
4743         * doc/posix-headers/locale.texi: Update.
4744
4745         locale: Provide a working 'struct lconv'.
4746         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
4747         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4748         'struct lconv' does not even contain decimal_point.
4749         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
4750         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
4751         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4752         * doc/posix-headers/locale.texi: Mention the problems with
4753         'struct lconv'.
4754         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4755
4756 2012-03-24  Bruno Haible  <bruno@clisp.org>
4757
4758         Enable common subexpression optimization in GCC.
4759         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
4760         macros.
4761         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
4762         GCC attribute 'const'.
4763         (uc_locale_language): Declare with GCC attribute 'pure'.
4764         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
4765         with GCC attribute 'const'.
4766         * lib/unictype.in.h (uc_is_general_category_withtable,
4767         uc_combining_class, uc_combining_class_name,
4768         uc_combining_class_long_name, uc_bidi_class_name,
4769         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
4770         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
4771         uc_decimal_value, uc_digit_value, uc_numeric_value,
4772         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
4773         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
4774         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
4775         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
4776         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
4777         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
4778         Declare with GCC attribute 'const'.
4779         (uc_general_category_name, uc_general_category_long_name,
4780         uc_general_category_byname, uc_general_category,
4781         uc_is_general_category, uc_combining_class_byname,
4782         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
4783         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
4784         Declare with GCC attribute 'pure'.
4785         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
4786         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
4787         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
4788         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
4789         with GCC attribute 'pure'.
4790         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
4791         'const'.
4792         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
4793         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
4794         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
4795         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
4796         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
4797         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
4798         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
4799         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
4800         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
4801         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
4802         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
4803         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
4804         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
4805         GCC attribute 'pure'.
4806         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
4807         'const'.
4808         * lib/uniwidth.in.h (uc_width): Simplify declaration.
4809         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
4810         u32_strwidth): Declare with GCC attribute 'pure'.
4811
4812         Enable common subexpression optimization in GCC.
4813         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4814         (alphasort): Declare with GCC attribute 'pure'.
4815         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4816         (atoll): Declare with GCC attribute 'pure'.
4817         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4818         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4819         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
4820         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4821         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
4822         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
4823         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
4824
4825 2012-03-24  Bruno Haible  <bruno@clisp.org>
4826
4827         gnulib-tool: Avoid unintended error output from 'cmp'.
4828         * gnulib-tool (func_add_file, func_update_file, func_import): Use
4829         "cmp -s", not "cmp > /dev/null".
4830
4831 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4832
4833         gnulib-tool: fix imprecise comments w.r.t. an automake bug
4834
4835         It's not just Automake versions < 1.9b that creates an empty
4836         pkgdatadir at installation time if pkgdata_DATA is specified
4837         to empty; modern automake versions do this as well, at least
4838         until automake 1.11.4 (not yet released at the moment of writing,
4839         but soon to appear).  That behaviour was generally considered a
4840         feature rather than a bug, at least until this discussion:
4841         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
4842
4843         See also automake bugs #10997 and #11030.
4844
4845         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
4846         reference to relevant automake bug numbers.
4847         (func_emit_tests_Makefile_am): Likewise.
4848
4849 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4850
4851         announce-gen: use Digest::SHA when possible
4852         * build-aux/announce-gen: Use Digest::SHA when possible, falling
4853         back to Digest::SHA1 if necessary.
4854
4855 2012-03-20  Jim Meyering  <meyering@redhat.com>
4856
4857         tests: avoid gcc warnings about argv vs. const initializers
4858         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
4859         warnings about discarding 'const' qualifier from pointer target type.
4860         * tests/test-posix_spawn2.c (main): Likewise.
4861
4862 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4863
4864         README-release: simplify slightly
4865         * top/README-release: Run "git checkout master" only once.
4866
4867 2012-03-15  Mark Wielaard  <mark@klomp.org>
4868
4869         git-merge-changelog: add specific example on how to use with hg.
4870         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
4871
4872 2012-03-18  Mark Wielaard  <mark@klomp.org>
4873
4874         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4875
4876 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4877
4878         git-version-gen: don't let "prefix" envvar cause trouble
4879         * build-aux/git-version-gen (prefix): Initialize properly,
4880         so as not to use a value specified via the environment.
4881         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4882
4883 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4884
4885         regex: diagnose too-large repeat counts in EREs
4886         Previously, the code did not diagnose the too-large repeat count
4887         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
4888         as if it were 'b\{1000000000}', which is unexpected.
4889         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
4890         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
4891         is a reasonable one for this problem.  Another option would be to
4892         create a new REG_OVERFLOW error for repeat counts that are too large.
4893         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
4894         count is too large, so that the caller can distinguish the two cases.
4895         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
4896         "Too large" return code, and that repeat counts are one example of this.
4897
4898 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4899
4900         doc: some glibc x32 integer width issues
4901         * doc/posix-headers/sys_types.texi (sys/types.h):
4902         * doc/posix-headers/time.texi (time.h):
4903         Mention that glibc x32 does not conform to POSIX in a couple of
4904         areas related to integer widths.
4905
4906 2012-03-15  Bruno Haible  <bruno@clisp.org>
4907
4908         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
4909         * lib/fma.c (VOLATILE): New macro.
4910         (FUNC): Use it to work around a GCC compiler bug.
4911
4912 2012-03-13  Bruno Haible  <bruno@clisp.org>
4913
4914         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4915         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
4916         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
4917         REPLACE_HYPOTL to 1.
4918         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
4919
4920 2012-03-13  Bruno Haible  <bruno@clisp.org>
4921
4922         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4923         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
4924         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
4925         REPLACE_REMAINDERL to 1.
4926         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
4927         bug.
4928
4929 2012-03-13  Bruno Haible  <bruno@clisp.org>
4930
4931         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4932         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
4933         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
4934         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
4935         too big rounding errors.
4936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
4937         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
4938         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
4939         (Depends-on): Update conditions.
4940         * tests/test-sqrtl.c (my_ldexpl): New function.
4941         (main): Add test of a particular value.
4942         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4943
4944 2012-03-13  Pádraig Brady  <P@draigBrady.com>
4945
4946         doc: Update timer_* platform portability notes.
4947         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
4948         that always return ENOSYS.
4949         * doc/posix-functions/timer_delete.texi: Likewise.
4950         * doc/posix-functions/timer_gettime.texi: Likewise.
4951         * doc/posix-functions/timer_settime.texi: Likewise.
4952
4953 2012-03-13  Bruno Haible  <bruno@clisp.org>
4954
4955         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4956         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
4957         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
4958         REPLACE_CBRTL to 1.
4959         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4960
4961 2012-03-13  Bruno Haible  <bruno@clisp.org>
4962
4963         remainderl: Avoid compilation error on AIX >= 5.2.
4964         * lib/math.in.h (remainderl): Undefine macro from the system header.
4965
4966 2012-03-13  Bruno Haible  <bruno@clisp.org>
4967
4968         Avoid compilation errors with MSVC option -fp:strict.
4969         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
4970         * lib/cbrtf.c: Likewise.
4971         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4972
4973 2012-03-12  Bruno Haible  <bruno@clisp.org>
4974
4975         uninorm: Don't crash in out-of-memory conditions.
4976         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
4977         gracefully.
4978         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
4979         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
4980
4981 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
4982
4983         quote: fix syntax-check
4984         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
4985         also exports quote_quoting_options.
4986
4987 2012-03-12  Simon Josefsson  <simon@josefsson.org>
4988
4989         Collapse list of copyright years to ranges.  See
4990         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
4991         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
4992         build-aux/csharpexec.sh.in, build-aux/gnupload,
4993         build-aux/install-reloc, build-aux/javacomp.sh.in,
4994         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
4995         build-aux/move-if-change, build-aux/reloc-ldflags,
4996         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
4997
4998 2012-03-11  Bruno Haible  <bruno@clisp.org>
4999
5000         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5001         * m4/log2f-ieee.m4: New file.
5002         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5003         whether log2f works with a minus zero argument. Replace it if not.
5004         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5005         (Depends-on): Add log2-ieee.
5006         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5007         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5008
5009         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5010         * m4/log2-ieee.m4: New file.
5011         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5012         whether log2 works with a minus zero argument. Replace it if not.
5013         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5014         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5015         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5016
5017         Tests for module 'log2l-ieee'.
5018         * modules/log2l-ieee-tests: New file.
5019         * tests/test-log2l-ieee.c: New file.
5020
5021         New module 'log2l-ieee'.
5022         * modules/log2l-ieee: New file.
5023
5024         Tests for module 'log2-ieee'.
5025         * modules/log2-ieee-tests: New file.
5026         * tests/test-log2-ieee.c: New file.
5027
5028         New module 'log2-ieee'.
5029         * modules/log2-ieee: New file.
5030
5031         Tests for module 'log2f-ieee'.
5032         * modules/log2f-ieee-tests: New file.
5033         * tests/test-log2f-ieee.c: New file.
5034         * tests/test-log2-ieee.h: New file.
5035
5036         New module 'log2f-ieee'.
5037         * modules/log2f-ieee: New file.
5038
5039 2012-03-11  Bruno Haible  <bruno@clisp.org>
5040
5041         Tests for module 'log2l'.
5042         * modules/log2l-tests: New file.
5043         * tests/test-log2l.c: New file.
5044
5045         New module 'log2l'.
5046         * lib/math.in.h (log2l): New declaration.
5047         * lib/log2l.c: New file.
5048         * m4/log2l.m4: New file.
5049         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5050         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5051         REPLACE_LOG2L.
5052         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5053         REPLACE_LOG2L.
5054         * modules/log2l: New file.
5055         * tests/test-math-c++.cc: Check the declaration of log2l.
5056         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5057         and OSF/1 problems.
5058
5059 2012-03-11  Bruno Haible  <bruno@clisp.org>
5060
5061         Tests for module 'log2f'.
5062         * modules/log2f-tests: New file.
5063         * tests/test-log2f.c: New file.
5064
5065         New module 'log2f'.
5066         * lib/math.in.h (log2f): New declaration.
5067         * lib/log2f.c: New file.
5068         * m4/log2f.m4: New file.
5069         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5070         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5071         REPLACE_LOG2F.
5072         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5073         REPLACE_LOG2F.
5074         * modules/log2f: New file.
5075         * tests/test-math-c++.cc: Check the declaration of log2f.
5076         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5077         and OSF/1 and Cygwin problems.
5078
5079 2012-03-11  Bruno Haible  <bruno@clisp.org>
5080
5081         Tests for module 'log2'.
5082         * modules/log2-tests: New file.
5083         * tests/test-log2.c: New file.
5084         * tests/test-log2.h: New file.
5085
5086         New module 'log2'.
5087         * lib/math.in.h (log2): New declaration.
5088         * lib/log2.c: New file.
5089         * m4/log2.m4: New file.
5090         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5091         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5092         REPLACE_LOG2.
5093         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5094         REPLACE_LOG2.
5095         * modules/log2: New file.
5096         * tests/test-math-c++.cc: Check the declaration of log2.
5097         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5098         and OSF/1 and Cygwin problems.
5099
5100 2012-03-11  Bruno Haible  <bruno@clisp.org>
5101
5102         exp2* tests: More tests.
5103         * tests/test-exp2.h (test_function): Test all integral arguments that
5104         don't need to overflow or denormalized numbers.
5105         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5106         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5107         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5108
5109 2012-03-10  Bruno Haible  <bruno@clisp.org>
5110
5111         log1pl-ieee: Work around test failure on AIX 7.1.
5112         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5113
5114         log1pl-ieee: Work around test failure on IRIX 6.5.
5115         * m4/log1pl-ieee.m4: New file.
5116         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5117         test whether log1pl works with a minus zero argument. Replace it if
5118         not.
5119         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5121         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5122         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5123         (Depends-on): Update conditions.
5124         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5125         m4/signbit.m4.
5126         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5127         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5128
5129         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5130         * m4/log1pf-ieee.m4: New file.
5131         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5132         test whether log1pf works with a minus zero argument. Replace it if
5133         not.
5134         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5135         m4/signbit.m4.
5136         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5137         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5138
5139         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5140         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5141         (configure.ac): Require gl_FUNC_LOG1PF.
5142
5143         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5144         * m4/log1p-ieee.m4: New file.
5145         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5146         whether log1p works with a minus zero argument. Replace it if not.
5147         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5148         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5149         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5150         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5151         (Depends-on): Update conditions.
5152         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5153         m4/signbit.m4.
5154         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5155         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5156
5157         Tests for module 'log1pl-ieee'.
5158         * modules/log1pl-ieee-tests: New file.
5159         * tests/test-log1pl-ieee.c: New file.
5160
5161         New module 'log1pl-ieee'.
5162         * modules/log1pl-ieee: New file.
5163
5164         Tests for module 'log1p-ieee'.
5165         * modules/log1p-ieee-tests: New file.
5166         * tests/test-log1p-ieee.c: New file.
5167
5168         New module 'log1p-ieee'.
5169         * modules/log1p-ieee: New file.
5170
5171         Tests for module 'log1pf-ieee'.
5172         * modules/log1pf-ieee-tests: New file.
5173         * tests/test-log1pf-ieee.c: New file.
5174         * tests/test-log1p-ieee.h: New file.
5175
5176         New module 'log1pf-ieee'.
5177         * modules/log1pf-ieee: New file.
5178
5179 2012-03-10  Bruno Haible  <bruno@clisp.org>
5180
5181         Tests for module 'log1pl'.
5182         * modules/log1pl-tests: New file.
5183         * tests/test-log1pl.c: New file.
5184
5185         New module 'log1pl'.
5186         * lib/math.in.h (log1pl): New declaration.
5187         * lib/log1pl.c: New file.
5188         * m4/log1pl.m4: New file.
5189         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5190         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5191         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5192         * modules/log1pl: New file.
5193         * tests/test-math-c++.cc: Check the declaration of log1pl.
5194         * doc/posix-functions/log1pl.texi: Mention the new module.
5195
5196 2012-03-10  Bruno Haible  <bruno@clisp.org>
5197
5198         Tests for module 'log1pf'.
5199         * modules/log1pf-tests: New file.
5200         * tests/test-log1pf.c: New file.
5201
5202         New module 'log1pf'.
5203         * lib/math.in.h (log1pf): New declaration.
5204         * lib/log1pf.c: New file.
5205         * m4/log1pf.m4: New file.
5206         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5208         REPLACE_LOG1PF.
5209         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5210         REPLACE_LOG1PF.
5211         * modules/log1pf: New file.
5212         * tests/test-math-c++.cc: Check the declaration of log1pf.
5213         * doc/posix-functions/log1pf.texi: Mention the new module.
5214
5215 2012-03-10  Bruno Haible  <bruno@clisp.org>
5216
5217         log1p tests: More tests.
5218         * tests/test-log1p.h: New file.
5219         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5220         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5221         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5222         (main): Invoke test_function.
5223
5224         log1p: Provide replacement for Minix and MSVC.
5225         * lib/math.in.h (log1p): New declaration.
5226         * lib/log1p.c: New file.
5227         * m4/log1p.m4: New file.
5228         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5229         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5230         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5231         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5232         (Depends-on): Add math, isnand, log, round.
5233         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5234         HAVE_LOG1P is 0.
5235         * tests/test-math-c++.cc: Check the declaration of log1p.
5236         * doc/posix-functions/log1p.texi: Mention the replacement.
5237
5238 2012-03-10  Bruno Haible  <bruno@clisp.org>
5239
5240         math tests: Small simplification.
5241         * tests/test-exp.h (test_function): Use the same err_bound for
5242         'double' on platforms with sizeof (long double) == sizeof (double)
5243         than on platforms with sizeof (long double) > sizeof (double).
5244         * tests/test-exp2.h (test_function): Likewise.
5245         * tests/test-expm1.h (test_function): Likewise.
5246         * tests/test-log.h (test_function): Likewise.
5247
5248 2012-03-10  Bruno Haible  <bruno@clisp.org>
5249
5250         Fix some comments.
5251         * lib/expl.c: Fix an ambiguous comment.
5252         * lib/expm1.c: Likewise.
5253         * lib/expm1l.c: Likewise.
5254         * lib/exp2.c: Likewise.
5255         * lib/exp2l.c: Likewise.
5256
5257 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5258
5259         regex: allow inclusion of <regex.h> before <limits.h>
5260         Without this patch, portable programs had to include <limits.h> before
5261         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5262         I ran into this problem with a test version of GNU grep on Solaris 8.
5263         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5264         This is done conditionally so that this change can be merged
5265         back to glibc.
5266         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5267         using the included regex.
5268
5269         fts: depend on fdopendir
5270         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5271         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5272         problem was introduced when fdopendir was split out.
5273
5274 2012-03-10  Bruno Haible  <bruno@clisp.org>
5275
5276         Remove unused variables.
5277         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5278         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5279
5280 2012-03-10  Bruno Haible  <bruno@clisp.org>
5281
5282         isnanf-nolibm: Fix last commit.
5283         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5284
5285         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5286         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5287
5288 2012-03-10  Bruno Haible  <bruno@clisp.org>
5289
5290         logf-ieee: Work around test failure on NetBSD 5.1.
5291         * m4/logf-ieee.m4: New file.
5292         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5293         whether logf works with a negative argument. Replace it if not.
5294         * lib/logf.c (logf): For negative arguments, return NaN.
5295         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5296         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5297         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5298
5299         logf-ieee: Work around test failure on Solaris 9.
5300         * modules/logf-ieee (Depends-on): Add log-ieee.
5301         (configure.ac): Require gl_FUNC_LOGF.
5302
5303         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5304         * m4/log-ieee.m4: New file.
5305         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5306         log works with a negative argument. Replace it if not.
5307         * lib/log.c (log): For negative arguments, return NaN.
5308         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5309         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5310         * doc/posix-functions/log.texi: Mention the log-ieee module.
5311
5312         Tests for module 'logl-ieee'.
5313         * modules/logl-ieee-tests: New file.
5314         * tests/test-logl-ieee.c: New file.
5315
5316         New module 'logl-ieee'.
5317         * modules/logl-ieee: New file.
5318
5319         Tests for module 'log-ieee'.
5320         * modules/log-ieee-tests: New file.
5321         * tests/test-log-ieee.c: New file.
5322
5323         New module 'log-ieee'.
5324         * modules/log-ieee: New file.
5325
5326         Tests for module 'logf-ieee'.
5327         * modules/logf-ieee-tests: New file.
5328         * tests/test-logf-ieee.c: New file.
5329         * tests/test-log-ieee.h: New file.
5330
5331         New module 'logf-ieee'.
5332         * modules/logf-ieee: New file.
5333
5334 2012-03-10  Bruno Haible  <bruno@clisp.org>
5335
5336         log: Fix bug introduced on 2012-03-09.
5337         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5338
5339 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5340
5341         timer-time: link explicitly with pthreads on glibc
5342         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5343         to support static linking, when newer glibc is
5344         detected, as that contains pthread emulation of
5345         POSIX timer functions where required.
5346         * modules/timer-time: Depend on threadlib to
5347         pull in the appropriate library to link.
5348
5349 2012-03-10  Bruno Haible  <bruno@clisp.org>
5350
5351         log* tests: More tests.
5352         * tests/test-log.h: New file.
5353         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5354         (main): Invoke test_function.
5355         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5356         (main): Invoke test_function.
5357         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5358         (main): Invoke test_function.
5359         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5360         tests/randomd.c.
5361         (Makefile.am): Add randomd.c to test_log_SOURCES.
5362         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5363         tests/randomf.c.
5364         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5365         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5366         tests/randoml.c.
5367         (Depends-on): Add 'float'.
5368         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5369
5370 2012-03-09  Bruno Haible  <bruno@clisp.org>
5371
5372         logl: Work around OSF/1 5.1 bug.
5373         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5374         * lib/logl.c (logl): If logl exists, use it and provide just the
5375         workaround.
5376         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5377         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5379         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5380         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5381         (Depends-on): Update conditions.
5382         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5383
5384 2012-03-09  Bruno Haible  <bruno@clisp.org>
5385
5386         logf: Work around OSF/1 5.1 bug.
5387         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5388         * lib/logf.c (logf): If logf exists, use it and provide just the
5389         workaround.
5390         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5391         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5392         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5393         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5394         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5395         (Depends-on): Update conditions.
5396         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5397
5398 2012-03-09  Bruno Haible  <bruno@clisp.org>
5399
5400         log: Work around OSF/1 5.1 bug.
5401         * lib/math.in.h (log): New declaration.
5402         * lib/log.c: New file.
5403         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5404         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5405         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5406         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5407         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5408         * modules/log (Files): Add lib/log.c.
5409         (Depends-on): Add math.
5410         (configure.ac): If REPLACE_LOG is 1, compile an override.
5411         * tests/test-math-c++.cc: Check the declaration of log.
5412         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5413
5414 2012-03-09  Jim Meyering  <meyering@redhat.com>
5415
5416         readtokens.c: adjust wording in a comment
5417         * lib/readtokens.c: Insert omitted "that" in a comment.
5418
5419 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5420
5421         modechange: add notations +40, 00440, etc.
5422         * lib/modechange.c (mode_compile): Support new notations
5423         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5424
5425 2012-03-08  Bruno Haible  <bruno@clisp.org>
5426
5427         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5428         * m4/exp2l-ieee.m4: New file.
5429         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5430         test whether exp2l works with a NaN argument and with a negative
5431         infinity argument. Replace it if not.
5432         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5433         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5434         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5435         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5436         (Depends-on): Update conditions.
5437         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5438         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5439         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5440
5441         Tests for module 'exp2l-ieee'.
5442         * modules/exp2l-ieee-tests: New file.
5443         * tests/test-exp2l-ieee.c: New file.
5444
5445         New module 'exp2l-ieee'.
5446         * modules/exp2l-ieee: New file.
5447
5448         Tests for module 'exp2-ieee'.
5449         * modules/exp2-ieee-tests: New file.
5450         * tests/test-exp2-ieee.c: New file.
5451
5452         New module 'exp2-ieee'.
5453         * modules/exp2-ieee: New file.
5454
5455         Tests for module 'exp2f-ieee'.
5456         * modules/exp2f-ieee-tests: New file.
5457         * tests/test-exp2f-ieee.c: New file.
5458         * tests/test-exp2-ieee.h: New file.
5459
5460         New module 'exp2f-ieee'.
5461         * modules/exp2f-ieee: New file.
5462
5463 2012-03-08  Bruno Haible  <bruno@clisp.org>
5464
5465         Tests for module 'exp2l'.
5466         * modules/exp2l-tests: New file.
5467         * tests/test-exp2l.c: New file.
5468
5469         New module 'exp2l'.
5470         * lib/math.in.h (exp2l): New declaration.
5471         * lib/exp2l.c: New file.
5472         * lib/expl-table.c: New file, extracted from lib/expl.c.
5473         * lib/expl.c (gl_expl_table): New declaration.
5474         (expl): Remove expl_table. Update reference.
5475         * m4/exp2l.m4: New file.
5476         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5477         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5478         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5479         * modules/exp2l: New file.
5480         * modules/expl (Files): Add lib/expl-table.c.
5481         (configure.ac): Compile also expl-table.c.
5482         * tests/test-math-c++.cc: Check the declaration of exp2l.
5483         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5484         problem.
5485
5486 2012-03-08  Bruno Haible  <bruno@clisp.org>
5487
5488         Tests for module 'exp2f'.
5489         * modules/exp2f-tests: New file.
5490         * tests/test-exp2f.c: New file.
5491
5492         New module 'exp2f'.
5493         * lib/math.in.h (exp2f): New declaration.
5494         * lib/exp2f.c: New file.
5495         * m4/exp2f.m4: New file.
5496         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5498         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5499         * modules/exp2f: New file.
5500         * tests/test-math-c++.cc: Check the declaration of exp2f.
5501         * doc/posix-functions/exp2f.texi: Mention the new module and the
5502         IRIX problem.
5503
5504 2012-03-08  Bruno Haible  <bruno@clisp.org>
5505
5506         Tests for module 'exp2'.
5507         * modules/exp2-tests: New file.
5508         * tests/test-exp2.c: New file.
5509         * tests/test-exp2.h: New file.
5510
5511         New module 'exp2'.
5512         * lib/math.in.h (exp2): New declaration.
5513         * lib/exp2.c: New file.
5514         * m4/exp2.m4: New file.
5515         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5516         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5517         REPLACE_EXP2.
5518         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5519         REPLACE_EXP2.
5520         * modules/exp2: New file.
5521         * tests/test-math-c++.cc: Check the declaration of exp2.
5522         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5523         and OpenBSD problems.
5524
5525 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5526
5527         savedir: fix comment typo
5528         * lib/savedir.c (savedirstream): Fix typo in comment.
5529
5530 2012-03-08  Bruno Haible  <bruno@clisp.org>
5531
5532         test-readtokens.c: use const; remove unwarranted cast
5533         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5534
5535 2012-03-08  Bruno Haible  <bruno@clisp.org>
5536
5537         fmal: Avoid compilation error on AIX.
5538         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5539         AIX 5.2..7.1.
5540
5541 2012-03-08  Bruno Haible  <bruno@clisp.org>
5542
5543         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5544         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5545         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5546         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5547         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5548         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5549         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5550
5551 2012-03-08  Bruno Haible  <bruno@clisp.org>
5552
5553         remainderf: Override buggy system function on IRIX 6.5.
5554         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5555         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5556         when it exists.
5557         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5558
5559 2012-03-08  Jim Meyering  <meyering@redhat.com>
5560
5561         test-readtokens.c: avoid const-related compilation warnings
5562         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5563
5564 2012-03-07  Jim Meyering  <meyering@redhat.com>
5565             Bruno Haible  <bruno@clisp.org>
5566
5567         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5568         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5569         tests/randomd.c.
5570         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5571         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5572         tests/randoml.c.
5573         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5574
5575 2012-03-07  Bruno Haible  <bruno@clisp.org>
5576
5577         expm1l: Avoid compilation error on AIX.
5578         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5579         AIX 5.2..7.1.
5580
5581 2012-03-07  Bruno Haible  <bruno@clisp.org>
5582
5583         expm1l: Don't override undeclared system function on IRIX 6.5.
5584         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5585         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5586         it exists. Set HAVE_DECL_EXPM1L.
5587         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5588         HAVE_EXPM1L.
5589         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5590         HAVE_EXPM1L.
5591         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5592
5593 2012-03-07  Bruno Haible  <bruno@clisp.org>
5594
5595         remainderl: Don't override undeclared system function on IRIX 6.5.
5596         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5597         HAVE_REMAINDERL.
5598         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5599         declared when it exists. Set HAVE_DECL_REMAINDERL.
5600         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5601         not HAVE_REMAINDERL.
5602         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5603         HAVE_REMAINDERL.
5604         * doc/posix-functions/remainderl.texi: Mention missing declaration
5605         problem.
5606
5607 2012-03-07  Bruno Haible  <bruno@clisp.org>
5608
5609         rintf: Don't override undeclared system function on IRIX 6.5.
5610         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5611         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5612         exists. Set HAVE_DECL_RINTF.
5613         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5614         HAVE_RINTF.
5615         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5616         HAVE_RINTF.
5617         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5618
5619 2012-03-07  Bruno Haible  <bruno@clisp.org>
5620
5621         roundl: Avoid compilation error on AIX.
5622         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5623         AIX 5.2..7.1.
5624
5625 2012-03-07  Bruno Haible  <bruno@clisp.org>
5626
5627         roundl: Don't override undeclared system function on IRIX 6.5.
5628         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5629         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5630         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5631         * modules/roundl (configure.ac): For replacement code, test
5632         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5633         (Depends-on): Update conditions.
5634         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5635
5636 2012-03-07  Bruno Haible  <bruno@clisp.org>
5637
5638         roundf: Don't override undeclared system function on IRIX 6.5.
5639         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5640         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5641         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5642         * modules/roundf (configure.ac): For replacement code, test
5643         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5644         (Depends-on): Update conditions.
5645         * modules/roundf-ieee (Depends-on): Update conditions.
5646         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5647
5648 2012-03-07  Bruno Haible  <bruno@clisp.org>
5649
5650         round: Don't override undeclared system function on IRIX 6.5.
5651         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5652         argument.
5653         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5654         also when it is not declared. Set HAVE_ROUND. For replacement code,
5655         test HAVE_ROUND, not HAVE_DECL_ROUND.
5656         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5657         not HAVE_DECL_ROUND.
5658         (Depends-on): Update conditions.
5659         * modules/round-ieee (Depends-on): Update conditions.
5660         * doc/posix-functions/round.texi: Mention the IRIX problem.
5661
5662 2012-03-07  Bruno Haible  <bruno@clisp.org>
5663
5664         copysignf: Don't override undeclared system function on IRIX 6.5.
5665         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5666         HAVE_COPYSIGNF.
5667         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5668         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5670         not HAVE_COPYSIGNF.
5671         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5672         HAVE_COPYSIGNF.
5673         * doc/posix-functions/copysignf.texi: Mention missing declaration
5674         problem.
5675
5676 2012-03-07  Jim Meyering  <meyering@redhat.com>
5677
5678         readtokens: add tests
5679         * modules/readtokens-tests: New file.
5680         * tests/test-readtokens.c: New file.
5681
5682 2012-03-07  Jim Meyering  <meyering@redhat.com>
5683
5684         quotearg: the module must now include quote.h
5685         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5686         So must the module.
5687         * modules/quotearg (Files): Add quote.h.
5688
5689 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5690
5691         readtokens: avoid core dumps with unusual calling patterns
5692         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5693         * lib/readtokens.c: Include limits.h.
5694         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5695         (readtoken): Don't cache the delimiters; the cache code was buggy
5696         if !delim && saved_delim, or if the new n_delim differs from the old.
5697         Also, it wasn't thread-safe.
5698
5699 2012-03-07  Bruno Haible  <bruno@clisp.org>
5700
5701         quote: Adhere to common module description layout.
5702         * modules/quote (Makefile.am): Add back empty section.
5703
5704 2012-03-06  Akim Demaille  <demaille@gostai.com>
5705
5706         quote: fuse into quotearg
5707         This patch is made for the benefit of Bison.
5708         quote does not leave the choice of the quoting style to the user.
5709         quoting_style provides poor customizability, yet quoting_options,
5710         which is very rich, is hidden inside quotearg.c.  So in order to
5711         allow quote customization, move its implementation to quotearg.c.
5712         * lib/quote.c: Remove.
5713         * modules/quote: Adjust.
5714         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
5715         warning: provide all the members of literal structs.
5716         (quote_quoting_options): New.
5717         (quote, quote_n): Import implementation from quote.c.
5718         * lib/quote.h: Import the comments from quote.c.
5719         (quote_quoting_options): New.
5720
5721 2012-03-06  Bruno Haible  <bruno@clisp.org>
5722
5723         Tests for module 'expm1l-ieee'.
5724         * modules/expm1l-ieee-tests: New file.
5725         * tests/test-expm1l-ieee.c: New file.
5726
5727         New module 'expm1l-ieee'.
5728         * modules/expm1l-ieee: New file.
5729
5730         Tests for module 'expm1f-ieee'.
5731         * modules/expm1f-ieee-tests: New file.
5732         * tests/test-expm1f-ieee.c: New file.
5733
5734         New module 'expm1f-ieee'.
5735         * modules/expm1f-ieee: New file.
5736
5737         Tests for module 'expm1-ieee'.
5738         * modules/expm1-ieee-tests: New file.
5739         * tests/test-expm1-ieee.c: New file.
5740         * tests/test-expm1-ieee.h: New file.
5741
5742         New module 'expm1-ieee'.
5743         * modules/expm1-ieee: New file.
5744         * m4/expm1-ieee.m4: New file.
5745         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
5746         whether expm1 works with a minus zero argument. Replace it if not.
5747         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
5748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
5749         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
5750         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
5751         (Depends-on): Update conditions.
5752         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
5753         AIX problem.
5754
5755 2012-03-06  Bruno Haible  <bruno@clisp.org>
5756
5757         Work around expm1f bug on IRIX 6.5.
5758         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
5759         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
5760         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
5761         not work.
5762         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
5763         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
5764         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
5765         (Depends-on): Update conditions.
5766         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
5767
5768 2012-03-06  Bruno Haible  <bruno@clisp.org>
5769
5770         Tests for module 'expm1l'.
5771         * modules/expm1l-tests: New file.
5772         * tests/test-expm1l.c: New file.
5773
5774         New module 'expm1l'.
5775         * lib/math.in.h (expm1l): New declaration.
5776         * lib/expm1l.c: New file.
5777         * m4/expm1l.m4: New file.
5778         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
5779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
5780         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
5781         * modules/expm1l: New file.
5782         * tests/test-math-c++.cc: Check the declaration of expm1l.
5783         * doc/posix-functions/expm1l.texi: Mention the new module.
5784
5785 2012-03-06  Bruno Haible  <bruno@clisp.org>
5786
5787         Tests for module 'expm1f'.
5788         * modules/expm1f-tests: New file.
5789         * tests/test-expm1f.c: New file.
5790
5791         New module 'expm1f'.
5792         * lib/math.in.h (expm1f): New declaration.
5793         * lib/expm1f.c: New file.
5794         * m4/expm1f.m4: New file.
5795         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
5796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
5797         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
5798         * modules/expm1f: New file.
5799         * tests/test-math-c++.cc: Check the declaration of expm1f.
5800         * doc/posix-functions/expm1f.texi: Mention the new module.
5801
5802 2012-03-06  Bruno Haible  <bruno@clisp.org>
5803
5804         Tests for module 'expm1'.
5805         * modules/expm1-tests: New file.
5806         * tests/test-expm1.c: New file.
5807         * tests/test-expm1.h: New file.
5808
5809         New module 'expm1'.
5810         * lib/math.in.h (expm1): New declaration.
5811         * lib/expm1.c: New file.
5812         * m4/expm1.m4: New file.
5813         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
5814         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
5815         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
5816         * modules/expm1: New file.
5817         * tests/test-math-c++.cc: Check the declaration of expm1.
5818         * doc/posix-functions/expm1.texi: Mention the new module.
5819
5820 2012-03-06  Bruno Haible  <bruno@clisp.org>
5821
5822         math: Ensure declarations of math functions.
5823         * modules/acosf (Depends-on): Add 'extensions'.
5824         * modules/asinf (Depends-on): Likewise.
5825         * modules/atan2f (Depends-on): Likewise.
5826         * modules/atanf (Depends-on): Likewise.
5827         * modules/cbrt (Depends-on): Likewise.
5828         * modules/cbrtf (Depends-on): Likewise.
5829         * modules/cbrtl (Depends-on): Likewise.
5830         * modules/copysignf (Depends-on): Likewise.
5831         * modules/copysignl (Depends-on): Likewise.
5832         * modules/cosf (Depends-on): Likewise.
5833         * modules/coshf (Depends-on): Likewise.
5834         * modules/expf (Depends-on): Likewise.
5835         * modules/fabsf (Depends-on): Likewise.
5836         * modules/fabsl (Depends-on): Likewise.
5837         * modules/fmaf (Depends-on): Likewise.
5838         * modules/fmal (Depends-on): Likewise.
5839         * modules/fmodf (Depends-on): Likewise.
5840         * modules/fmodl (Depends-on): Likewise.
5841         * modules/frexpf (Depends-on): Likewise.
5842         * modules/frexpl (Depends-on): Likewise.
5843         * modules/hypot (Depends-on): Likewise.
5844         * modules/hypotf (Depends-on): Likewise.
5845         * modules/hypotl (Depends-on): Likewise.
5846         * modules/ldexpf (Depends-on): Likewise.
5847         * modules/ldexpl (Depends-on): Likewise.
5848         * modules/log10f (Depends-on): Likewise.
5849         * modules/log10l (Depends-on): Likewise.
5850         * modules/log1p (Depends-on): Likewise.
5851         * modules/logb (Depends-on): Likewise.
5852         * modules/logf (Depends-on): Likewise.
5853         * modules/modff (Depends-on): Likewise.
5854         * modules/modfl (Depends-on): Likewise.
5855         * modules/powf (Depends-on): Likewise.
5856         * modules/remainderf (Depends-on): Likewise.
5857         * modules/remainderl (Depends-on): Likewise.
5858         * modules/rintf (Depends-on): Likewise.
5859         * modules/rintl (Depends-on): Likewise.
5860         * modules/sinf (Depends-on): Likewise.
5861         * modules/sinhf (Depends-on): Likewise.
5862         * modules/sqrtf (Depends-on): Likewise.
5863         * modules/tanf (Depends-on): Likewise.
5864         * modules/tanhf (Depends-on): Likewise.
5865         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
5866         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
5867         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
5868         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
5869         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
5870         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
5871         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5872         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
5873         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5874         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5875         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5876         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5877         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5878         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5879         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5880         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5881         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5882         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5883         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
5884         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
5885         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5886         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5887         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5888         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
5889         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5890         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5891         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
5892         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5893         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5894         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5895         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5896         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
5897         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5898         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5899         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5900         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5901         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
5902         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
5903         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
5904         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
5905         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
5906
5907 2012-03-06  Bruno Haible  <bruno@clisp.org>
5908
5909         math: Update module names in warnings.
5910         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5911         tanl): Use specific module name in warn-on-use warning.
5912
5913 2012-03-06  Bruno Haible  <bruno@clisp.org>
5914
5915         expl: Simplify computation.
5916         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
5917
5918 2012-03-05  Bruno Haible  <bruno@clisp.org>
5919
5920         exp* tests: More tests.
5921         * tests/test-exp.h: New file.
5922         * tests/test-exp.c: Include <float.h> and test-exp.h.
5923         (main): Invoke test_function.
5924         * tests/test-expf.c: Include <float.h> and test-exp.h.
5925         (main): Invoke test_function.
5926         * tests/test-expl.c: Include <float.h> and test-exp.h.
5927         (main): Invoke test_function.
5928         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
5929         (Makefile.am): Add randomd.c to test_exp_SOURCES.
5930         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
5931         (Makefile.am): Add randomf.c to test_expf_SOURCES.
5932         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
5933         (Depends-on): Add 'float'.
5934         (Makefile.am): Add randoml.c to test_expl_SOURCES.
5935
5936         expl: Fix precision of computed result.
5937         * lib/expl.c: Completely rewritten.
5938         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
5939         (Maintainer): Add me.
5940         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
5941
5942 2012-03-05  Bruno Haible  <bruno@clisp.org>
5943
5944         cbrt* tests: More tests.
5945         * tests/test-cbrt.h: New file.
5946         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
5947         (main): Invoke test_function.
5948         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
5949         (main): Invoke test_function.
5950         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
5951         (main): Invoke test_function.
5952         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
5953         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
5954         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
5955         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
5956         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
5957         (Depends-on): Add 'float'.
5958         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
5959
5960 2012-03-05  Bruno Haible  <bruno@clisp.org>
5961
5962         hypot* tests: More tests.
5963         * tests/test-hypot.h: New file, partially extracted from
5964         tests/test-hypotl.c.
5965         * tests/test-hypot.c: Include test-hypot.h.
5966         (main): Invoke test_function.
5967         * tests/test-hypotf.c: Include test-hypot.h.
5968         (main): Invoke test_function.
5969         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
5970         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
5971         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
5972         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
5973         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
5974         tests/randomf.c.
5975         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
5976         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
5977         tests/randoml.c.
5978         (Depends-on): Add 'fpucw', 'float'.
5979         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
5980
5981 2012-03-05  Bruno Haible  <bruno@clisp.org>
5982
5983         fpucw: Doc about FreeBSD.
5984         * lib/fpucw.h: Mention FreeBSD in comments.
5985
5986 2012-03-04  Bruno Haible  <bruno@clisp.org>
5987
5988         sqrt* tests: More tests.
5989         * tests/test-sqrt.h: New file.
5990         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
5991         (main): Invoke test_function.
5992         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
5993         (main): Invoke test_function.
5994         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
5995         (main): Invoke test_function.
5996         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
5997         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
5998         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
5999         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6000         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6001         (Depends-on): Add 'float'.
6002         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6003
6004 2012-03-04  Bruno Haible  <bruno@clisp.org>
6005
6006         remainder* tests: More tests.
6007         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6008         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6009         (main): Invoke test_function.
6010         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6011         (main): Invoke test_function.
6012         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6013         (main): Invoke test_function.
6014         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6015         tests/randomd.c.
6016         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6017         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6018         tests/randomf.c.
6019         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6020         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6021         tests/randoml.c.
6022         (Depends-on): Add 'float'.
6023         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6024
6025 2012-03-04  Bruno Haible  <bruno@clisp.org>
6026
6027         remainder, remainderf, remainderl: Fix computation for large quotients.
6028         * lib/remainder.c: Completely rewritten.
6029         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6030         USE_FLOAT.
6031         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6032         USE_LONG_DOUBLE.
6033         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6034         isnand, isinf. Remove round, fma.
6035         * modules/remainderf (Files): Add lib/remainder.c.
6036         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6037         Remove roundf, fmaf.
6038         * modules/remainderl (Files): Add lib/remainder.c.
6039         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6040         isinf. Remove roundl, fmal.
6041         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6042         REMAINDER_LIBM.
6043         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6044         REMAINDERF_LIBM.
6045         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6046         REMAINDERL_LIBM.
6047
6048 2012-03-04  Bruno Haible  <bruno@clisp.org>
6049
6050         fmod* tests: More tests.
6051         * tests/test-fmod.h (my_ldexp): New function.
6052         (test_function): Reduce amount of random numbers to test. Add tests
6053         of very large quotients x / y.
6054         * tests/test-fmod.c (MAX_EXP): New macro.
6055         * tests/test-fmodf.c (MAX_EXP): Likewise.
6056         * tests/test-fmodl.c (MAX_EXP): Likewise.
6057
6058 2012-03-04  Bruno Haible  <bruno@clisp.org>
6059
6060         fmod, fmodl: Fix computation for large quotients x / y.
6061         * lib/fmod.c: Completely rewritten.
6062         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6063         USE_LONG_DOUBLE.
6064         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6065         isnand. Remove fma.
6066         * modules/fmodl (Files): Add lib/fmod.c.
6067         (Depends-on): Add float, isfinite, signbit, fabsl,
6068         frexpl, ldexpl, isnanl. Remove fma.
6069         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6070         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6071
6072 2012-03-03  Bruno Haible  <bruno@clisp.org>
6073
6074         fmod* tests: More tests.
6075         * tests/test-fmod.h: New file.
6076         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6077         (main): Invoke test_function.
6078         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6079         (main): Invoke test_function.
6080         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6081         (main): Invoke test_function.
6082         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6083         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6084         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6085         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6086         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6087         (Depends-on): Add 'float'.
6088         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6089
6090 2012-03-03  Bruno Haible  <bruno@clisp.org>
6091
6092         rint* tests: More tests.
6093         * tests/test-rint.h: New file, partially extracted from
6094         tests/test-rintl.c.
6095         * tests/test-rint.c: Include test-rint.h.
6096         (main): Invoke test_function.
6097         * tests/test-rintf.c: Include test-rint.h.
6098         (main): Invoke test_function.
6099         * tests/test-rintl.c: Include test-rint.h.
6100         (main): Invoke test_function.
6101         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6102         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6103         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6104         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6105         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6106         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6107
6108 2012-03-03  Bruno Haible  <bruno@clisp.org>
6109
6110         modf* tests: More tests.
6111         * tests/test-modf.h: New file.
6112         * tests/test-modf.c: Include <float.h> and test-modf.h.
6113         (main): Invoke test_function.
6114         * tests/test-modff.c: Include <float.h> and test-modf.h.
6115         (main): Invoke test_function.
6116         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6117         (main): Invoke test_function.
6118         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6119         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6120         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6121         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6122         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6123         (Depends-on): Add 'float'.
6124         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6125
6126 2012-03-03  Bruno Haible  <bruno@clisp.org>
6127
6128         fabs* tests: More tests.
6129         * tests/test-fabs.h: New file, partially extracted from
6130         tests/test-fabsl.c.
6131         * tests/test-fabs.c (RANDOM): New macro.
6132         * tests/test-fabsf.c (RANDOM): New macro.
6133         * tests/test-fabsl.c (RANDOM): New macro.
6134         * modules/fabs-tests (Files): Add tests/randomd.c.
6135         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6136         * modules/fabsf-tests (Files): Add tests/randomf.c.
6137         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6138         * modules/fabsl-tests (Files): Add tests/randoml.c.
6139         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6140
6141 2012-03-03  Bruno Haible  <bruno@clisp.org>
6142
6143         ldexp* tests: More tests.
6144         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6145         * tests/test-ldexp.c (RANDOM): New macro.
6146         * tests/test-ldexpf.c (RANDOM): New macro.
6147         * tests/test-ldexpl.c (RANDOM): New macro.
6148         * modules/ldexp-tests (Files): Add tests/randomd.c.
6149         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6150         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6151         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6152         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6153         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6154
6155 2012-03-03  Bruno Haible  <bruno@clisp.org>
6156
6157         frexp* tests: More tests.
6158         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6159         * tests/test-frexp.c (RANDOM): New macro.
6160         * tests/test-frexpf.c (RANDOM): New macro.
6161         * tests/test-frexpl.c (RANDOM): New macro.
6162         * modules/frexp-tests (Files): Add tests/randomd.c.
6163         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6164         * modules/frexpf-tests (Files): Add tests/randomf.c.
6165         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6166         * modules/frexpl-tests (Files): Add tests/randoml.c.
6167         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6168
6169 2012-03-03  Bruno Haible  <bruno@clisp.org>
6170
6171         Support for pseudo-random numbers in tests.
6172         * tests/randomf.c: New file.
6173         * tests/randomd.c: New file.
6174         * tests/randoml.c: New file.
6175         * tests/macros.h (randomf, randomd, randoml): New declarations.
6176
6177 2012-03-03  Bruno Haible  <bruno@clisp.org>
6178
6179         frexp* tests: Refactor.
6180         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6181         * tests/test-frexp.c: Include and use it.
6182         * tests/test-frexpf.c: Likewise.
6183         * tests/test-frexpl.c: Likewise.
6184         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6185         * modules/frexpf-tests (Files): Likewise.
6186         * modules/frexpl-tests (Files): Likewise.
6187
6188 2012-03-02  Jim Meyering  <meyering@redhat.com>
6189
6190         maint: don't specify XZ_OPT=-9ev in dist-related rule
6191         Using xz's -9 option is warranted only if you have a very large
6192         tarball (see xz's documentation for the sizes vs. presets), and
6193         requires 64MiB of memory at decompression time.
6194         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6195         Automake's default of just "-e" is fine.  Override on a
6196         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6197
6198 2012-03-01  Eric Blake  <eblake@redhat.com>
6199
6200         maint.mk: allow announcement for non-gnulib project
6201         * maint.mk (announcement): Skip gnulib version if not used.
6202
6203 2012-03-01  Jim Meyering  <meyering@redhat.com>
6204
6205         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6206         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6207         envvar settings cannot interfere.  Otherwise, setting envvars like
6208         prohibit=foo require=bar, etc. would cause spurious test failures.
6209
6210 2012-03-01  Eric Blake  <eblake@redhat.com>
6211
6212         maint.mk: add per-line exclusions to prohibitions
6213         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6214         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6215         (sc_const_long_option): Use it.
6216
6217 2012-03-01  Bruno Haible  <bruno@clisp.org>
6218
6219         Tests for module 'expl-ieee'.
6220         * modules/expl-ieee-tests: New file.
6221         * tests/test-expl-ieee.c: New file.
6222
6223         New module 'expl-ieee'.
6224         * modules/expl-ieee: New file.
6225
6226         Tests for module 'exp-ieee'.
6227         * modules/exp-ieee-tests: New file.
6228         * tests/test-exp-ieee.c: New file.
6229
6230         New module 'exp-ieee'.
6231         * modules/exp-ieee: New file.
6232
6233         Tests for module 'expf-ieee'.
6234         * modules/expf-ieee-tests: New file.
6235         * tests/test-expf-ieee.c: New file.
6236         * tests/test-exp-ieee.h: New file.
6237
6238         New module 'expf-ieee'.
6239         * modules/expf-ieee: New file.
6240
6241 2012-02-29  Bruno Haible  <bruno@clisp.org>
6242
6243         cbrtl-ieee: Work around test failure on IRIX 6.5.
6244         * m4/cbrtl-ieee.m4: New file.
6245         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6246         test whether cbrtl works with a minus zero argument. Replace it if not.
6247         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6248         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6249         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6250         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6251         (Depends-on): Update conditions.
6252         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6253         m4/signbit.m4.
6254         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6255         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6256         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6257
6258         Tests for module 'cbrtl-ieee'.
6259         * modules/cbrtl-ieee-tests: New file.
6260         * tests/test-cbrtl-ieee.c: New file.
6261
6262         New module 'cbrtl-ieee'.
6263         * modules/cbrtl-ieee: New file.
6264
6265         Tests for module 'cbrt-ieee'.
6266         * modules/cbrt-ieee-tests: New file.
6267         * tests/test-cbrt-ieee.c: New file.
6268
6269         New module 'cbrt-ieee'.
6270         * modules/cbrt-ieee: New file.
6271
6272         Tests for module 'cbrtf-ieee'.
6273         * modules/cbrtf-ieee-tests: New file.
6274         * tests/test-cbrtf-ieee.c: New file.
6275         * tests/test-cbrt-ieee.h: New file.
6276
6277         New module 'cbrtf-ieee'.
6278         * modules/cbrtf-ieee: New file.
6279
6280 2012-02-29  Bruno Haible  <bruno@clisp.org>
6281
6282         cbrtf: Work around bug in IRIX 6.5 system function.
6283         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6284         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6285         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6286         work.
6287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6288         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6289         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6290         (Depends-on): Update conditions.
6291         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6292
6293 2012-02-29  Bruno Haible  <bruno@clisp.org>
6294
6295         Tests for module 'cbrtl'.
6296         * modules/cbrtl-tests: New file.
6297         * tests/test-cbrtl.c: New file.
6298
6299         New module 'cbrtl'.
6300         * lib/math.in.h (cbrtl): New declaration.
6301         * lib/cbrtl.c: New file.
6302         * m4/cbrtl.m4: New file.
6303         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6304         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6305         HAVE_DECL_CBRTL.
6306         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6307         HAVE_DECL_CBRTL.
6308         * modules/cbrtl: New file.
6309         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6310         * doc/posix-functions/cbrtl.texi: Mention the new module.
6311
6312 2012-02-29  Bruno Haible  <bruno@clisp.org>
6313
6314         Tests for module 'cbrtf'.
6315         * modules/cbrtf-tests: New file.
6316         * tests/test-cbrtf.c: New file.
6317
6318         New module 'cbrtf'.
6319         * lib/math.in.h (cbrtf): New declaration.
6320         * lib/cbrtf.c: New file.
6321         * m4/cbrtf.m4: New file.
6322         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6324         HAVE_DECL_CBRTF.
6325         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6326         HAVE_DECL_CBRTF.
6327         * modules/cbrtf: New file.
6328         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6329         * doc/posix-functions/cbrtf.texi: Mention the new module.
6330
6331 2012-02-29  Bruno Haible  <bruno@clisp.org>
6332
6333         cbrt: Provide replacement on MSVC and Minix.
6334         * lib/math.in.h (cbrt): New declaration.
6335         * lib/cbrt.c: New file.
6336         * m4/cbrt.m4: New file.
6337         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6339         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6340         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6341         (Depends-on): Add dependencies.
6342         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6343         * tests/test-math-c++.cc: Check the declaration of cbrt.
6344         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6345         replacement.
6346
6347 2012-02-29  Bruno Haible  <bruno@clisp.org>
6348
6349         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6350         * m4/hypotl-ieee.m4: New file.
6351         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6352         test whether hypotl works with mixed NaN and Infinity arguments.
6353         Replace it if not.
6354         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6356         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6357         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6358         (Depends-on): Update conditions.
6359         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6360         (Depends-on): Add hypot-ieee.
6361         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6362         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6363
6364         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6365         * m4/hypotf-ieee.m4: New file.
6366         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6367         test whether hypotf works with mixed NaN and Infinity arguments.
6368         Replace it if not.
6369         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6370         (Depends-on): Add hypot-ieee.
6371         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6372         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6373
6374         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6375         * lib/math.in.h (hypot): New declaration.
6376         * lib/hypot.c: New file.
6377         * m4/hypot-ieee.m4: New file.
6378         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6379         whether hypot works with mixed NaN and Infinity arguments. Replace it
6380         if not.
6381         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6382         REPLACE_HYPOT.
6383         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6384         * modules/hypot (Files): Add lib/hypot.c.
6385         (Depends-on): Add dependencies.
6386         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6387         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6388         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6389         * tests/test-math-c++.cc: Check the declaration of hypot.
6390         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6391
6392         Tests for module 'hypotl-ieee'.
6393         * modules/hypotl-ieee-tests: New file.
6394         * tests/test-hypotl-ieee.c: New file.
6395
6396         New module 'hypotl-ieee'.
6397         * modules/hypotl-ieee: New file.
6398
6399         Tests for module 'hypot-ieee'.
6400         * modules/hypot-ieee-tests: New file.
6401         * tests/test-hypot-ieee.c: New file.
6402
6403         New module 'hypot-ieee'.
6404         * modules/hypot-ieee: New file.
6405
6406         Tests for module 'hypotf-ieee'.
6407         * modules/hypotf-ieee-tests: New file.
6408         * tests/test-hypotf-ieee.c: New file.
6409         * tests/test-hypot-ieee.h: New file.
6410
6411         New module 'hypotf-ieee'.
6412         * modules/hypotf-ieee: New file.
6413
6414 2012-02-29  Bruno Haible  <bruno@clisp.org>
6415
6416         Remove unused variables.
6417         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6418         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6419         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6420         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6421
6422 2012-02-29  Eric Blake  <eblake@redhat.com>
6423
6424         termios: fix pid_t always, not just for tcgetsid
6425         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6426         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6427         just when building tcgetsid.
6428
6429 2012-02-29  Bruno Haible  <bruno@clisp.org>
6430
6431         Tests for module 'hypotl'.
6432         * modules/hypotl-tests: New file.
6433         * tests/test-hypotl.c: New file.
6434
6435         New module 'hypotl'.
6436         * lib/math.in.h (hypotl): New declaration.
6437         * lib/hypotl.c: New file.
6438         * m4/hypotl.m4: New file.
6439         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6440         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6441         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6442         * modules/hypotl: New file.
6443         * tests/test-math-c++.cc: Check the hypotl declaration.
6444         * doc/posix-functions/hypotl.texi: Mention the new module.
6445
6446 2012-02-29  Eric Blake  <eblake@redhat.com>
6447
6448         tcgetsid: fix cygwin header bug
6449         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6450
6451         docs: update cygwin progress
6452         * doc/posix-functions/llround.texi (llround): Added in cygwin
6453         1.7.8.
6454         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6455         * doc/glibc-functions/program_invocation_name.texi
6456         (program_invocation_name): Likewise.
6457         * doc/glibc-functions/program_invocation_short_name.texi
6458         (program_invocation_short_name): Likewise.
6459         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6460         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6461         Likewise.
6462         * doc/posix-functions/pthread_spin_destroy.texi
6463         (pthread_spin_destroy): Added in cygwin 1.7.10.
6464         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6465         Likewise.
6466         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6467         Likewise.
6468         * doc/posix-functions/pthread_spin_trylock.texi
6469         (pthread_spin_trylock): Likewise.
6470         * doc/posix-functions/pthread_spin_unlock.texi
6471         (pthread_spin_unlock): Likewise.
6472         * doc/posix-functions/pthread_setschedprio.texi
6473         (pthread_setschedprio): Likewise.
6474         * doc/posix-functions/pthread_attr_getstack.texi
6475         (pthread_attr_getstack): Likewise.
6476         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6477         (pthread_attr_getstackaddr): Likewise.
6478         * doc/glibc-functions/pthread_getattr_np.texi
6479         (pthread_getattr_np): Likewise.
6480         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6481         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6482         * doc/posix-functions/clock_settime.texi (clock_settime):
6483         Likewise.
6484         * doc/posix-functions/pthread_attr_getguardsize.texi
6485         (pthread_attr_getguardsize): Likewise.
6486         * doc/posix-functions/pthread_attr_setguardsize.texi
6487         (pthread_attr_setguardsize): Likewise.
6488         * doc/posix-functions/pthread_attr_setstack.texi
6489         (pthread_attr_setstack): Likewise.
6490         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6491         (pthread_attr_setstackaddr): Likewise.
6492         * doc/posix-functions/clock_getcpuclockid.texi
6493         (clock_getcpuclockid): Likewise.
6494         * doc/posix-functions/pthread_getcpuclockid.texi
6495         (pthread_getcpuclockid): Likewise.
6496         * doc/glibc-functions/error.texi (error): Likewise.
6497         * doc/glibc-functions/error_at_line.texi (error_at_line):
6498         Likewise.
6499         * doc/glibc-functions/error_message_count.texi
6500         (error_message_count): Likewise.
6501         * doc/glibc-functions/error_one_per_line.texi
6502         (error_one_per_line): Likewise.
6503         * doc/glibc-functions/error_print_progname.texi
6504         (error_print_progname): Likewise.
6505         * doc/posix-functions/pthread_condattr_getclock.texi
6506         (pthread_condattr_getclock): Likewise.
6507         * doc/posix-functions/pthread_condattr_setclock.texi
6508         (pthread_condattr_setclock): Likewise.
6509         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6510         Likewise.
6511         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6512         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6513         * doc/glibc-functions/get_current_dir_name.texi
6514         (get_current_dir_name): Likewise.
6515         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6516         Likewise.
6517         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6518         wrong return type.
6519         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6520         1.7.11.
6521
6522 2012-02-29  Bruno Haible  <bruno@clisp.org>
6523
6524         Tests for module 'hypotf'.
6525         * modules/hypotf-tests: New file.
6526         * tests/test-hypotf.c: New file.
6527
6528         New module 'hypotf'.
6529         * lib/math.in.h (hypotf): New declaration.
6530         * lib/hypotf.c: New file.
6531         * m4/hypotf.m4: New file.
6532         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6533         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6534         REPLACE_HYPOTF.
6535         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6536         REPLACE_HYPOTF.
6537         * modules/hypotf: New file.
6538         * tests/test-math-c++.cc: Check the hypotf declaration.
6539         * doc/posix-functions/hypotf.texi: Mention the new module.
6540
6541         hypot: Prepare for hypotf module.
6542         * m4/hypot.m4: New file.
6543         * modules/hypot (Files): Add m4/hypot.m4.
6544         (configure.ac): Invoke gl_FUNC_HYPOT.
6545
6546 2012-02-29  Bruno Haible  <bruno@clisp.org>
6547
6548         hypot tests: More tests.
6549         * tests/test-hypot.c: Include <float.h>.
6550         (main): Add tests about overflow and underflow.
6551
6552 2012-02-29  Bruno Haible  <bruno@clisp.org>
6553
6554         math code: Add comments.
6555         * lib/acosl.c: Add comment about related glibc source files.
6556         * lib/asinl.c: Likewise.
6557         * lib/atanl.c: Likewise.
6558         * lib/expl.c: Likewise.
6559         * lib/logl.c: Likewise.
6560         * lib/sincosl.c: Likewise.
6561         * lib/sinl.c: Likewise.
6562         * lib/tanl.c: Likewise.
6563         * lib/trigl.c: Likewise.
6564         * lib/cosl.c: Likewise. Fix comments.
6565
6566 2012-02-28  Bruno Haible  <bruno@clisp.org>
6567
6568         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6569         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6570         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6571         HUGE_VALL are defined.
6572         (numeric_equald): Renamed from numeric_equal.
6573         (numeric_equalf, numeric_equall): New functions.
6574         (main): Check also HUGE_VALF, HUGE_VALL.
6575         * modules/math-tests (Files): Add tests/macros.h.
6576         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6577         HUGE_VALL.
6578
6579 2012-02-28  Bruno Haible  <bruno@clisp.org>
6580
6581         doc: Move ISO C11 feature notes into POSIX chapters.
6582         * doc/posix-functions/aligned_alloc.texi: Renamed from
6583         doc/glibc-functions/aligned_alloc.texi.
6584         * doc/posix-functions/quick_exit.texi: Renamed from
6585         doc/glibc-functions/quick_exit.texi.
6586         * doc/posix-headers/uchar.texi: Renamed from
6587         doc/glibc-headers/uchar.texi.
6588         * doc/posix-functions/c16rtomb.texi: Renamed from
6589         doc/glibc-functions/c16rtomb.texi.
6590         * doc/posix-functions/c32rtomb.texi: Renamed from
6591         doc/glibc-functions/c32rtomb.texi.
6592         * doc/posix-functions/mbrtoc16.texi: Renamed from
6593         doc/glibc-functions/mbrtoc16.texi.
6594         * doc/posix-functions/mbrtoc32.texi: Renamed from
6595         doc/glibc-functions/mbrtoc32.texi.
6596         * doc/gnulib.texi: Update.
6597         (Glibc uchar.h): Remove section.
6598         Suggested by Eric Blake.
6599
6600 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6601
6602         stdnoreturn: port to MSVC better
6603         MSVC standard headers use __declspec(noreturn), so #define noreturn
6604         to empty on that platform.  Reported by Bruno Haible in
6605         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6606         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6607         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6608
6609 2012-02-28  Bruno Haible  <bruno@clisp.org>
6610
6611         doc: Mention new glibc headers and functions.
6612         * doc/glibc-headers/uchar.texi: New file.
6613         * doc/glibc-functions/aligned_alloc.texi: New file.
6614         * doc/glibc-functions/c16rtomb.texi: New file.
6615         * doc/glibc-functions/c32rtomb.texi: New file.
6616         * doc/glibc-functions/clock_adjtime.texi: New file.
6617         * doc/glibc-functions/fanotify_init.texi: New file.
6618         * doc/glibc-functions/fanotify_mark.texi: New file.
6619         * doc/glibc-functions/inet6_opt_append.texi: New file.
6620         * doc/glibc-functions/inet6_opt_find.texi: New file.
6621         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6622         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6623         * doc/glibc-functions/inet6_opt_init.texi: New file.
6624         * doc/glibc-functions/inet6_opt_next.texi: New file.
6625         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6626         * doc/glibc-functions/inet6_rth_add.texi: New file.
6627         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6628         * doc/glibc-functions/inet6_rth_init.texi: New file.
6629         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6630         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6631         * doc/glibc-functions/inet6_rth_space.texi: New file.
6632         * doc/glibc-functions/login.texi: New file.
6633         * doc/glibc-functions/mbrtoc16.texi: New file.
6634         * doc/glibc-functions/mbrtoc32.texi: New file.
6635         * doc/glibc-functions/name_to_handle_at.texi: New file.
6636         * doc/glibc-functions/ntp_gettimex.texi: New file.
6637         * doc/glibc-functions/open_by_handle_at.texi: New file.
6638         * doc/glibc-functions/prlimit.texi: New file.
6639         * doc/glibc-functions/process_vm_readv.texi: New file.
6640         * doc/glibc-functions/process_vm_writev.texi: New file.
6641         * doc/glibc-functions/recvmmsg.texi: New file.
6642         * doc/glibc-functions/scandirat.texi: New file.
6643         * doc/glibc-functions/sendmmsg.texi: New file.
6644         * doc/glibc-functions/setns.texi: New file.
6645         * doc/glibc-functions/timespec_get.texi: New file.
6646         * doc/gnulib.texi: Include them.
6647         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6648         sections.
6649         Reported by Eric Blake.
6650
6651 2012-02-28  Bruno Haible  <bruno@clisp.org>
6652
6653         Avoid compilation errors with MSVC option -fp:strict.
6654         * lib/floor.c: Use MSVC specific pragma fenv_access.
6655         * lib/ceil.c: Likewise.
6656         * lib/trunc.c: Likewise.
6657         * lib/round.c: Likewise.
6658         * lib/rint.c: Likewise.
6659         * lib/fma.c: Likewise.
6660         * lib/integer_length.c: Likewise.
6661         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6662         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6663         * tests/test-floor2.c: Likewise.
6664         * tests/test-floorf2.c: Likewise.
6665         * tests/test-ceil2.c: Likewise.
6666         * tests/test-ceilf2.c: Likewise.
6667         * tests/test-trunc2.c: Likewise.
6668         * tests/test-truncf2.c: Likewise.
6669         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6670
6671 2012-02-27  Bruno Haible  <bruno@clisp.org>
6672
6673         Tests for module 'sqrtl-ieee'.
6674         * modules/sqrtl-ieee-tests: New file.
6675         * tests/test-sqrtl-ieee.c: New file.
6676
6677         New module 'sqrtl-ieee'.
6678         * modules/sqrtl-ieee: New file.
6679
6680         Tests for module 'sqrt-ieee'.
6681         * modules/sqrt-ieee-tests: New file.
6682         * tests/test-sqrt-ieee.c: New file.
6683
6684         New module 'sqrt-ieee'.
6685         * modules/sqrt-ieee: New file.
6686
6687         Tests for module 'sqrtf-ieee'.
6688         * modules/sqrtf-ieee-tests: New file.
6689         * tests/test-sqrtf-ieee.c: New file.
6690         * tests/test-sqrt-ieee.h: New file.
6691
6692         New module 'sqrtf-ieee'.
6693         * modules/sqrtf-ieee: New file.
6694
6695 2012-02-27  Bruno Haible  <bruno@clisp.org>
6696
6697         remainderl-ieee: Work around test failure on OSF/1.
6698         * m4/remainderl-ieee.m4: New file.
6699         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6700         present, test whether remainderl works with a zero second argument.
6701         Replace it if not.
6702         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6704         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6705         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6706         (Depends-on): Update conditions.
6707         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6708         (Depends-on): Add remainder-ieee.
6709         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
6710         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
6711         module.
6712
6713         remainderf-ieee: Work around test failure on OSF/1.
6714         * m4/remainderf-ieee.m4: New file.
6715         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
6716         present, test whether remainderf works with a zero second argument.
6717         Replace it if not.
6718         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
6719         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
6720         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
6721         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
6722         (Depends-on): Update conditions.
6723         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
6724         (Depends-on): Add remainder-ieee.
6725         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
6726         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
6727         module.
6728
6729         remainder-ieee: Work around test failure on OSF/1.
6730         * m4/remainder-ieee.m4: New file.
6731         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
6732         present, test whether remainder works with a zero second argument.
6733         Replace it if not.
6734         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
6735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
6736         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
6737         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
6738         (Depends-on): Update dependencies.
6739         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
6740         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
6741         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
6742
6743         Tests for module 'remainderl-ieee'.
6744         * modules/remainderl-ieee-tests: New file.
6745         * tests/test-remainderl-ieee.c: New file.
6746
6747         New module 'remainderl-ieee'.
6748         * modules/remainderl-ieee: New file.
6749
6750         Tests for module 'remainder-ieee'.
6751         * modules/remainder-ieee-tests: New file.
6752         * tests/test-remainder-ieee.c: New file.
6753
6754         New module 'remainder-ieee'.
6755         * modules/remainder-ieee: New file.
6756
6757         Tests for module 'remainderf-ieee'.
6758         * modules/remainderf-ieee-tests: New file.
6759         * tests/test-remainderf-ieee.c: New file.
6760         * tests/test-remainder-ieee.h: New file.
6761
6762         New module 'remainderf-ieee'.
6763         * modules/remainderf-ieee: New file.
6764
6765 2012-02-27  Bruno Haible  <bruno@clisp.org>
6766
6767         modff, modfl: Fix configure syntax error.
6768         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
6769         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6770
6771 2012-02-27  Bruno Haible  <bruno@clisp.org>
6772
6773         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
6774         * m4/fmodl-ieee.m4: New file.
6775         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
6776         whether fmodl works with zero arguments. Replace it if not.
6777         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
6778         (Depends-on): Add fmod-ieee.
6779         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
6780         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
6781
6782         fmodf-ieee: Work around test failure on OSF/1.
6783         * m4/fmodf-ieee.m4: New file.
6784         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
6785         whether fmodf works with zero arguments. Replace it if not.
6786         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
6787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
6788         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
6789         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
6790         (Depends-on): Update dependencies.
6791         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
6792         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
6793         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
6794
6795         fmodf-ieee: Work around test failure on MSVC 9.
6796         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
6797         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6798
6799         fmod-ieee: Work around test failures on OSF/1, mingw.
6800         * m4/fmod-ieee.m4: New file.
6801         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6802         whether fmod works with zero arguments. Replace it if not.
6803         * lib/math.in.h (fmod): New declaration.
6804         * lib/fmod.c: New file.
6805         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
6806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
6807         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
6808         * modules/fmod (Files): Add lib/fmod.c.
6809         (Depends-on): Add math, isinf, trunc, fma.
6810         (configure.ac): Arrange to compile lib/fmod.c if needed.
6811         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
6812         m4/signbit.m4.
6813         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
6814         * tests/test-math-c++.cc: Check the declaration of fmod.
6815         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
6816
6817         fmodl-ieee: Fix test failures.
6818         * lib/fmodl.c (fmodl): Treat Inf specially.
6819         * modules/fmodl (Depends-on): Add isinf.
6820
6821         Tests for module 'fmodl-ieee'.
6822         * modules/fmodl-ieee-tests: New file.
6823         * tests/test-fmodl-ieee.c: New file.
6824
6825         New module 'fmodl-ieee'.
6826         * modules/fmodl-ieee: New file.
6827
6828         Tests for module 'fmod-ieee'.
6829         * modules/fmod-ieee-tests: New file.
6830         * tests/test-fmod-ieee.c: New file.
6831
6832         New module 'fmod-ieee'.
6833         * modules/fmod-ieee: New file.
6834
6835         Tests for module 'fmodf-ieee'.
6836         * modules/fmodf-ieee-tests: New file.
6837         * tests/test-fmodf-ieee.c: New file.
6838         * tests/test-fmod-ieee.h: New file.
6839
6840         New module 'fmodf-ieee'.
6841         * modules/fmodf-ieee: New file.
6842
6843 2012-02-27  Bruno Haible  <bruno@clisp.org>
6844
6845         Tests for module 'rintl-ieee'.
6846         * modules/rintl-ieee-tests: New file.
6847         * tests/test-rintl-ieee.c: New file.
6848
6849         New module 'rintl-ieee'.
6850         * modules/rintl-ieee: New file.
6851
6852         Tests for module 'rint-ieee'.
6853         * modules/rint-ieee-tests: New file.
6854         * tests/test-rint-ieee.c: New file.
6855
6856         New module 'rint-ieee'.
6857         * modules/rint-ieee: New file.
6858
6859         Tests for module 'rintf-ieee'.
6860         * modules/rintf-ieee-tests: New file.
6861         * tests/test-rintf-ieee.c: New file.
6862         * tests/test-rint-ieee.h: New file.
6863
6864         New module 'rintf-ieee'.
6865         * modules/rintf-ieee: New file.
6866
6867 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6868
6869         regex: re_search etc. should return -2 when memory exhausted
6870         This bug was uncovered when testing 'grep'.  Without the fix,
6871         re_search and friends return -1 when memory is exhausted, but -1
6872         means no match, and this causes grep to falsely report no-match
6873         instead of memory-exhaustion.  See
6874         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6875         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6876         trouble; this can occur if re_search_internal ran out of memory.
6877
6878 2012-02-26  Bruno Haible  <bruno@clisp.org>
6879
6880         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6881         * m4/modfl-ieee.m4: New file.
6882         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6883         whether modfl works with Inf. Replace it if not.
6884         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
6885         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
6886         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
6887         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
6888         (Depends-on): Update dependencies.
6889         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
6890         m4/signbit.m4.
6891         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
6892         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
6893
6894         modfl-ieee: Fix dependencies.
6895         * modules/modfl-ieee (Depends-on): Add modf-ieee.
6896
6897         modfl-ieee: Fix test failures.
6898         * lib/modfl.c (modfl): Treat NaN and Inf specially.
6899         * modules/modfl (Depends-on): Add isfinite, isinf.
6900
6901         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
6902         * m4/modff-ieee.m4: New file.
6903         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
6904         whether modff works with NaN and Inf. Replace it if not.
6905         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
6906         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
6907         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
6908         * modules/modff (configure.ac): Consider REPLACE_MODFF.
6909         (Depends-on): Update dependencies.
6910         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
6911         m4/signbit.m4.
6912         (Depends-on): Add modf-ieee.
6913         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
6914         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
6915
6916         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
6917         * m4/modf-ieee.m4: New file.
6918         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
6919         whether modf works with NaN and Inf. Replace it if not.
6920         * lib/math.in.h (modf): New declaration.
6921         * lib/modf.c: New file.
6922         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
6923         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
6924         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
6925         * modules/modf (Files): Add lib/modf.c.
6926         (Depends-on): Add math, isfinite, trunc, isinf.
6927         (configure.ac): Addrange to compile lib/modf.c if needed.
6928         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
6929         m4/signbit.m4.
6930         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
6931         * tests/test-math-c++.cc: Check the declaration of modf.
6932         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
6933
6934         Tests for module 'modfl-ieee'.
6935         * modules/modfl-ieee-tests: New file.
6936         * tests/test-modfl-ieee.c: New file.
6937
6938         New module 'modfl-ieee'.
6939         * modules/modfl-ieee: New file.
6940
6941         Tests for module 'modf-ieee'.
6942         * modules/modf-ieee-tests: New file.
6943         * tests/test-modf-ieee.c: New file.
6944
6945         New module 'modf-ieee'.
6946         * modules/modf-ieee: New file.
6947
6948         Tests for module 'modff-ieee'.
6949         * modules/modff-ieee-tests: New file.
6950         * tests/test-modff-ieee.c: New file.
6951         * tests/test-modf-ieee.h: New file.
6952
6953         New module 'modff-ieee'.
6954         * modules/modff-ieee: New file.
6955
6956 2012-02-26  Bruno Haible  <bruno@clisp.org>
6957
6958         Tests for module 'fabsl-ieee'.
6959         * modules/fabsl-ieee-tests: New file.
6960         * tests/test-fabsl-ieee.c: New file.
6961
6962         New module 'fabsl-ieee'.
6963         * modules/fabsl-ieee: New file.
6964
6965         Tests for module 'fabs-ieee'.
6966         * modules/fabs-ieee-tests: New file.
6967         * tests/test-fabs-ieee.c: New file.
6968
6969         New module 'fabs-ieee'.
6970         * modules/fabs-ieee: New file.
6971
6972         Tests for module 'fabsf-ieee'.
6973         * modules/fabsf-ieee-tests: New file.
6974         * tests/test-fabsf-ieee.c: New file.
6975         * tests/test-fabs-ieee.h: New file.
6976
6977         New module 'fabsf-ieee'.
6978         * modules/fabsf-ieee: New file.
6979
6980 2012-02-26  Bruno Haible  <bruno@clisp.org>
6981
6982         Tests for module 'fmal-ieee'.
6983         * modules/fmal-ieee-tests: New file.
6984         * tests/test-fmal-ieee.c: New file.
6985
6986         New module 'fmal-ieee'.
6987         * modules/fmal-ieee: New file.
6988
6989         Tests for module 'fma-ieee'.
6990         * modules/fma-ieee-tests: New file.
6991         * tests/test-fma-ieee.c: New file.
6992
6993         New module 'fma-ieee'.
6994         * modules/fma-ieee: New file.
6995
6996         Tests for module 'fmaf-ieee'.
6997         * modules/fmaf-ieee-tests: New file.
6998         * tests/test-fmaf-ieee.c: New file.
6999         * tests/test-fma-ieee.h: New file.
7000
7001         New module 'fmaf-ieee'.
7002         * modules/fmaf-ieee: New file.
7003
7004 2012-02-26  Bruno Haible  <bruno@clisp.org>
7005
7006         Tests for module 'ldexpl-ieee'.
7007         * modules/ldexpl-ieee-tests: New file.
7008         * tests/test-ldexpl-ieee.c: New file.
7009
7010         New module 'ldexpl-ieee'.
7011         * modules/ldexpl-ieee: New file.
7012
7013         Tests for module 'ldexp-ieee'.
7014         * modules/ldexp-ieee-tests: New file.
7015         * tests/test-ldexp-ieee.c: New file.
7016
7017         New module 'ldexp-ieee'.
7018         * modules/ldexp-ieee: New file.
7019
7020         Tests for module 'ldexpf-ieee'.
7021         * modules/ldexpf-ieee-tests: New file.
7022         * tests/test-ldexpf-ieee.c: New file.
7023         * tests/test-ldexp-ieee.h: New file.
7024
7025         New module 'ldexpf-ieee'.
7026         * modules/ldexpf-ieee: New file.
7027
7028 2012-02-26  Bruno Haible  <bruno@clisp.org>
7029
7030         Refactor frexp*-ieee tests.
7031         * tests/test-frexp-ieee.h: New file.
7032         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7033         (main): Just call test_function.
7034         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7035         (main): Just call test_function.
7036         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7037         (main): Just call test_function.
7038         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7039         * modules/frexp-ieee-tests (Files): Likewise.
7040         * modules/frexpl-ieee-tests (Files): Likewise.
7041
7042         Tests for module 'frexpl-ieee'.
7043         * modules/frexpl-ieee-tests: New file.
7044         * tests/test-frexpl-ieee.c: New file.
7045
7046         New module 'frexpl-ieee'.
7047         * modules/frexpl-ieee: New file.
7048
7049         Tests for module 'frexp-ieee'.
7050         * modules/frexp-ieee-tests: New file.
7051         * tests/test-frexp-ieee.c: New file.
7052
7053         New module 'frexp-ieee'.
7054         * modules/frexp-ieee: New file.
7055
7056         Tests for module 'frexpf-ieee'.
7057         * modules/frexpf-ieee-tests: New file.
7058         * tests/test-frexpf-ieee.c: New file.
7059
7060         New module 'frexpf-ieee'.
7061         * modules/frexpf-ieee: New file.
7062
7063 2012-02-26  Bruno Haible  <bruno@clisp.org>
7064
7065         roundl-ieee tests: More tests.
7066         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7067         (main): Add tests for [MX] shaded specification in POSIX.
7068         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7069         (Depends-on): Add isnanl-nolibm.
7070
7071         round-ieee tests: More tests.
7072         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7073         (main): Add tests for [MX] shaded specification in POSIX.
7074         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7075         (Depends-on): Add isnand-nolibm.
7076
7077         roundf-ieee tests: More tests.
7078         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7079         (main): Add tests for [MX] shaded specification in POSIX.
7080         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7081         (Depends-on): Add isnanf-nolibm.
7082
7083         truncl-ieee tests: More tests.
7084         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7085         (main): Add tests for [MX] shaded specification in POSIX.
7086         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7087         (Depends-on): Add isnanl-nolibm.
7088
7089         trunc-ieee tests: More tests.
7090         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7091         (main): Add tests for [MX] shaded specification in POSIX.
7092         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7093         (Depends-on): Add isnand-nolibm.
7094
7095         truncf-ieee tests: More tests.
7096         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7097         (main): Add tests for [MX] shaded specification in POSIX.
7098         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7099         (Depends-on): Add isnanf-nolibm.
7100
7101         ceill-ieee tests: More tests.
7102         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7103         (main): Add tests for [MX] shaded specification in POSIX.
7104         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7105         (Depends-on): Add isnanl-nolibm.
7106
7107         ceil-ieee tests: More tests.
7108         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7109         (main): Add tests for [MX] shaded specification in POSIX.
7110         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7111         (Depends-on): Add isnand-nolibm.
7112
7113         ceilf-ieee tests: More tests.
7114         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7115         (main): Add tests for [MX] shaded specification in POSIX.
7116         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7117         (Depends-on): Add isnanf-nolibm.
7118
7119         floorl-ieee tests: More tests.
7120         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7121         (main): Add tests for [MX] shaded specification in POSIX.
7122         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7123         (Depends-on): Add isnanl-nolibm.
7124
7125         floor-ieee tests: More tests.
7126         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7127         (main): Add tests for [MX] shaded specification in POSIX.
7128         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7129         (Depends-on): Add isnand-nolibm.
7130
7131         floorf-ieee tests: More tests.
7132         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7133         (main): Add tests for [MX] shaded specification in POSIX.
7134         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7135         (Depends-on): Add isnanf-nolibm.
7136
7137 2012-02-26  Bruno Haible  <bruno@clisp.org>
7138
7139         fpieee: More comments.
7140         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7141
7142 2012-02-25  Bruno Haible  <bruno@clisp.org>
7143
7144         Tests for module 'log10l'.
7145         * modules/log10l-tests: New file.
7146         * tests/test-log10l.c: New file.
7147         * tests/test-math-c++.cc: Check the declaration of log10l.
7148
7149         New module 'log10l'.
7150         * lib/math.in.h (log10l): New declaration.
7151         * lib/log10l.c: New file.
7152         * m4/log10l.m4: New file.
7153         * modules/log10l: New file.
7154         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7155         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7156         HAVE_DECL_LOG10L.
7157         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7158         HAVE_DECL_LOG10L.
7159         * doc/posix-functions/log10l.texi: Mention the new module.
7160
7161 2012-02-25  Bruno Haible  <bruno@clisp.org>
7162
7163         fmodl, remainder*: Avoid wrong results due to rounding errors.
7164         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7165         expected bounds.
7166         * lib/remainderf.c (remainderf): Likewise.
7167         * lib/remainder.c (remainder): Likewise.
7168         * lib/remainderl.c (remainderl): Likewise.
7169
7170 2012-02-25  Bruno Haible  <bruno@clisp.org>
7171
7172         Tests for module 'remainderl'.
7173         * modules/remainderl-tests: New file.
7174         * tests/test-remainderl.c: New file.
7175         * tests/test-math-c++.cc: Check the declaration of remainderl.
7176
7177         New module 'remainderl'.
7178         * lib/math.in.h (remainderl): New declaration.
7179         * lib/remainderl.c: New file.
7180         * m4/remainderl.m4: New file.
7181         * modules/remainderl: New file.
7182         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7184         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7185         HAVE_REMAINDERL.
7186         * doc/posix-functions/remainderl.texi: Mention the new module.
7187
7188 2012-02-25  Bruno Haible  <bruno@clisp.org>
7189
7190         Tests for module 'remainderf'.
7191         * modules/remainderf-tests: New file.
7192         * tests/test-remainderf.c: New file.
7193         * tests/test-math-c++.cc: Check the declaration of remainderf.
7194
7195         New module 'remainderf'.
7196         * lib/math.in.h (remainderf): New declaration.
7197         * lib/remainderf.c: New file.
7198         * m4/remainderf.m4: New file.
7199         * modules/remainderf: New file.
7200         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7201         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7202         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7203         HAVE_REMAINDERF.
7204         * doc/posix-functions/remainderf.texi: Mention the new module.
7205
7206 2012-02-25  Bruno Haible  <bruno@clisp.org>
7207
7208         remainder: Support for MSVC.
7209         * lib/math.in.h (remainder): New declaration.
7210         * lib/remainder.c: New file.
7211         * m4/remainder.m4: New file.
7212         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7213         (Depends-on): Add math, round, fma.
7214         (configure.ac): Use results of gl_FUNC_REMAINDER.
7215         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7216         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7217         HAVE_DECL_REMAINDER.
7218         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7219         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7220         * tests/test-math-c++.cc: Check the declaration of remainder.
7221         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7222         problems are fixed.
7223
7224 2012-02-25  Bruno Haible  <bruno@clisp.org>
7225
7226         Tests for module 'fmodl'.
7227         * modules/fmodl-tests: New file.
7228         * tests/test-fmodl.c: New file.
7229         * tests/test-math-c++.cc: Check the declaration of fmodl.
7230
7231         New module 'fmodl'.
7232         * lib/math.in.h (fmodl): New declaration.
7233         * lib/fmodl.c: New file.
7234         * m4/fmodl.m4: New file.
7235         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7236         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7237         REPLACE_FMODL.
7238         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7239         REPLACE_FMODL.
7240         * modules/fmodl: New file.
7241         * doc/posix-functions/fmodl.texi: Mention the new module.
7242
7243 2012-02-25  Bruno Haible  <bruno@clisp.org>
7244
7245         Tests for module 'modfl'.
7246         * modules/modfl-tests: New file.
7247         * tests/test-modfl.c: New file.
7248         * tests/test-math-c++.cc: Check the declaration of modfl.
7249
7250         New module 'modfl'.
7251         * lib/math.in.h (modfl): New declaration.
7252         * lib/modfl.c: New file.
7253         * m4/modfl.m4: New file.
7254         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7255         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7256         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7257         * modules/modfl: New file.
7258         * doc/posix-functions/modfl.texi: Mention the new module.
7259
7260 2012-02-25  Bruno Haible  <bruno@clisp.org>
7261
7262         Tests for module 'fabsl'.
7263         * modules/fabsl-tests: New file.
7264         * tests/test-fabsl.c: New file.
7265         * tests/test-math-c++.cc: Check the declaration of fabsl.
7266
7267         New module 'fabsl'.
7268         * lib/math.in.h (fabsl): New declaration.
7269         * lib/fabsl.c: New file.
7270         * m4/fabsl.m4: New file.
7271         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7272         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7273         REPLACE_FABSL.
7274         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7275         REPLACE_FABSL.
7276         * modules/fabsl: New file.
7277         * doc/posix-functions/fabsl.texi: Mention the new module.
7278
7279 2012-02-25  Bruno Haible  <bruno@clisp.org>
7280
7281         fabs tests: More tests.
7282         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7283         (zero): New variable.
7284         (main): Add tests for signed zero.
7285         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7286
7287         fabsf tests: More tests.
7288         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7289         (zero): New variable.
7290         (main): Add tests for signed zero.
7291         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7292
7293 2012-02-24  Bruno Haible  <bruno@clisp.org>
7294
7295         atanl: Provide function definition on MSVC.
7296         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7297         function pointer.
7298         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7299
7300 2012-02-24  Bruno Haible  <bruno@clisp.org>
7301
7302         acosl: Provide function definition on MSVC.
7303         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7304         function pointer.
7305         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7306
7307 2012-02-24  Bruno Haible  <bruno@clisp.org>
7308
7309         asinl: Provide function definition on MSVC.
7310         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7311         function pointer.
7312         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7313
7314 2012-02-24  Bruno Haible  <bruno@clisp.org>
7315
7316         tanl: Provide function definition on MSVC.
7317         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7318         function pointer.
7319         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7320
7321 2012-02-24  Bruno Haible  <bruno@clisp.org>
7322
7323         cosl: Provide function definition on MSVC.
7324         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7325         function pointer.
7326         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7327
7328 2012-02-24  Bruno Haible  <bruno@clisp.org>
7329
7330         sinl: Provide function definition on MSVC.
7331         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7332         function pointer.
7333         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7334
7335 2012-02-24  Bruno Haible  <bruno@clisp.org>
7336
7337         logl: Provide function definition on MSVC.
7338         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7339         function pointer.
7340         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7341
7342 2012-02-24  Bruno Haible  <bruno@clisp.org>
7343
7344         expl: Provide function definition on MSVC.
7345         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7346         function pointer.
7347         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7348
7349 2012-02-24  Bruno Haible  <bruno@clisp.org>
7350
7351         sqrtl: Provide function definition on MSVC.
7352         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7353         a function pointer.
7354         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7355
7356 2012-02-24  Bruno Haible  <bruno@clisp.org>
7357
7358         ceill: Provide function definition on MSVC.
7359         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7360         used as a function pointer.
7361         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7362
7363 2012-02-24  Bruno Haible  <bruno@clisp.org>
7364
7365         floorl: Provide function definition on MSVC.
7366         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7367         used as a function pointer.
7368         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7369
7370 2012-02-24  Bruno Haible  <bruno@clisp.org>
7371
7372         ceilf: Provide function definition on MSVC.
7373         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7374         used as a function pointer.
7375         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7376
7377 2012-02-24  Bruno Haible  <bruno@clisp.org>
7378
7379         floorf: Provide function definition on MSVC.
7380         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7381         used as a function pointer.
7382         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7383
7384 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7385
7386         stdnoreturn: new module
7387         This implements a replacement for C11's <stdnoreturn.h>.
7388         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7389         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7390         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7391         * tests/test-stdnoreturn.c: New files.
7392
7393 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7394
7395         regex: fix false multibyte matches in some regular expressions
7396         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7397         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7398         * lib/regex_internal.c (re_string_skip_chars):
7399         Fix miscomputation of remain_len that may cause incomplete
7400         multi-byte character and false match.
7401
7402 2012-02-24  Jim Meyering  <meyering@redhat.com>
7403
7404         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7405         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7406         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7407         Remove now-unnecessary str''cmp obfuscation.
7408         Suggested by Akim Demaille.
7409
7410 2012-02-24  Bruno Haible  <bruno@clisp.org>
7411
7412         streq: Rename macro.
7413         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7414         * NEWS: Mention the change.
7415         * lib/mbrtowc.c (mbrtowc): Update.
7416         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7417         * lib/wcwidth.c (wcwidth): Update.
7418         Suggested by Akim Demaille and Jim Meyering.
7419
7420 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7421
7422         regex: fix typo in definition of MIN
7423         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7424         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7425
7426 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7427             Bruno Haible  <bruno@clisp.org>
7428
7429         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7430         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7431         entries into a stack-allocated buffer directly.
7432         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7433
7434 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7435             Bruno Haible  <bruno@clisp.org>
7436
7437         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7438
7439          - There were several instances of this pattern:
7440
7441              for (;;) {
7442                n = acl (f, GETACLCNT, 0, NULL);
7443                [ allocate an array A of size N ]
7444                if (acl (f, GETACL, n, a) == n)
7445                  break;
7446              }
7447
7448            This loop might never terminate if some other process is constantly
7449            manipulating the file's ACL.  The loop should be rewritten to
7450            terminate.
7451
7452          - The acl (... GETACLNT ...) call is merely an optimization; its value
7453            is merely a hint as to how big to make the array.  A better
7454            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7455            and just guess a reasonably-big size, growing the size and trying
7456            again if it's not large enough.  This guarantees termination, and
7457            saves a system call.
7458
7459         * lib/acl-internal.h: Include <limits.h>.
7460         (MIN, SIZE_MAX): New macros.
7461         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7462         a stack-allocated buffer, and use malloc if it does not fit. Don't
7463         use GETACLCNT.
7464         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7465
7466 2012-02-19  Bruno Haible  <bruno@clisp.org>
7467
7468         acl: Fix endless loop on Solaris with vxfs.
7469         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7470         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7471         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7472         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7473         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7474         Reported by Bill Jones in
7475         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7476
7477 2012-02-19  Bruno Haible  <bruno@clisp.org>
7478
7479         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7480         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7481         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7482         that this function returns 0 in some more cases.
7483
7484 2012-02-19  Bruno Haible  <bruno@clisp.org>
7485
7486         acl: Update doc references.
7487         * doc/acl-resources.txt: Update links to Solaris documentation.
7488
7489 2012-02-19  Bruno Haible  <bruno@clisp.org>
7490
7491         Fix test failure in many locales on Solaris 11.
7492         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7493         'tr' arguments.
7494         * tests/test-pipe-filter-ii1.c (main): Likewise.
7495         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7496         expressions in the C locale.
7497         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7498         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7499
7500 2012-02-19  Bruno Haible  <bruno@clisp.org>
7501
7502         gnulib-tool: Improve usage message.
7503         * gnulib-tool (func_usage): Move doc of --help and --version to the
7504         section "Operation modes".
7505
7506 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7507
7508         README-release: make it easier to execute commands
7509         * top/README-release: break commands out on to separate lines.
7510
7511 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7512
7513         GNUmakefile: simplify detection of unconfigured trees
7514         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7515         whether the tree make is being run from is already configured or
7516         not.  Related simplifications.
7517
7518 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7519
7520         * gnulib-tool (func_usage): Document --help and --version.
7521
7522 2012-02-11  Jim Meyering  <meyering@redhat.com>
7523
7524         bootstrap: don't exit 0 upon gnulib-tool failure
7525         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7526         its exit status, not 0.
7527
7528 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7529
7530         README-release: various improvements
7531         * top/README-release: Give a command to push changes for the
7532         release.  Add "distcheck" to list of other pre-release checks.
7533         Fix instance of "make stable" which should be "make TYPE".
7534
7535 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7536
7537         maint: replace FSF snail-mail addresses with URLs
7538         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7539         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7540         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7541         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7542         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7543         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7544         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7545         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7546         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7547         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7548         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7549         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7550         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7551         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7552         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7553         * lib/glthread/thread.c, lib/glthread/thread.h:
7554         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7555         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7556         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7557         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7558         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7559         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7560         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7561         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7562         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7563         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7564         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7565         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7566         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7567         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7568         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7569         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7570         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7571         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7572         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7573         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7574         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7575         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7576         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7577         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7578         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7579         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7580         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7581         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7582         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7583         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7584         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7585         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7586         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7587         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7588         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7589         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7590         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7591         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7592         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7593         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7594         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7595         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7596         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7597         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7598         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7599         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7600         * tests/test-poll.c, tests/test-quotearg-simple.c:
7601         * tests/test-quotearg.c, tests/test-quotearg.h:
7602         * tests/test-round-ieee.c, tests/test-round1.c:
7603         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7604         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7605         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7606         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7607         * tests/test-strerror.c, tests/test-strerror_r.c:
7608         * tests/test-strsignal.c, tests/test-strverscmp.c:
7609         * tests/test-xmemdup0.c:
7610         Replace FSF snail mail addresses with URLs, as per GNU coding
7611         standards.  See glibc bug
7612         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7613
7614 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7615
7616         README-release: capitalize a word and split a line
7617         * top/README-release: Fix punctuation and spacing.
7618
7619 2012-02-08  Akim Demaille  <demaille@gostai.com>
7620
7621         fatal-signal: use C prototypes (with explicit void).
7622         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7623         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7624
7625 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7626
7627         regex: spelling fix
7628         * lib/regexec.c: spelling fix
7629
7630         regex: rely on stdint.h for SIZE_MAX
7631         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7632
7633 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7634
7635         regex: merge glibc changes
7636
7637         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7638         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7639         (init_word_char): Work even if bitset words are not exactly 32 or
7640         64 bits wide.  Don't assume there are no padding bits.
7641         * lib/regex.c [_LIBC]: Do not include <config.h>.
7642         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7643         and -Wtype-limits.
7644         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7645         needless disagreement with glibc.  All uses changed.  Define it to
7646         1 only if _GNU_SOURCE, to match glibc.
7647         (_REG_RM_NAME): Remove; no longer needed, since the names in
7648         question are now all protected by __USE_GNU.
7649         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7650         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7651         * lib/regex_internal.h (MIN): New macro.
7652
7653         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7654         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7655
7656         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7657         * lib/regex_internal.c (re_string_fetch_byte_case):
7658         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7659         is miscompiled, and it turns out it is because of an incorrect
7660         attribute on re_string_fetch_byte_case.  Unlike
7661         re_string_peek_byte_case, this one is really not pure, it modifies
7662         memory (increments pstr->cur_idx), and with the pure attribute GCC
7663         assumed it doesn't and it cached the presumed value of
7664         regexp->cur_idx in a variable across the
7665          for (;; ++i)
7666            {
7667              if (i >= BRACKET_NAME_BUF_SIZE)
7668                return REG_EBRACK;
7669              if (token->type == OP_OPEN_CHAR_CLASS)
7670                ch = re_string_fetch_byte_case (regexp);
7671              else
7672                ch = re_string_fetch_byte (regexp);
7673              if (re_string_eoi(regexp))
7674                return REG_EBRACK;
7675              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7676                break;
7677              elem->opr.name[i] = ch;
7678            }
7679
7680         2011-11-29 Andreas Schwab <schwab@redhat.com>
7681         * lib/regcomp.c (build_equiv_class):
7682         Fix access after end of search string in regex matcher.
7683
7684         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7685         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7686
7687         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7688         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7689
7690         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7691         * lib/regcomp.c (parse_branch, parse_sub_exp):
7692         More regex memory leak fixes and tests.
7693         (parse_sub_exp, parse_bracket_exp):
7694         Fix memory leak for some invalid regular expressions.
7695
7696         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7697         * lib/regex_internal.c, lib/regexec.c:
7698         Fix unnecessary overallocation due to incomplete character.  When
7699         incomplete characters are found at the end of a string the code
7700         ran amok and allocated lots of memory.  Stricter limits are now in
7701         place.
7702
7703         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7704         * lib/regex.h: Update documentation.
7705
7706         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7707         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7708
7709         2010-05-05 Andreas Schwab <schwab@redhat.com>
7710         * lib/regexec.c (find_collation_sequence_value):
7711         Fix lookup of collation sequence value during regexp matching.
7712
7713         2010-01-22 Ulrich Drepper <drepper@redhat.com>
7714         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
7715
7716         2008-01-16 Ulrich Drepper <drepper@redhat.com>
7717         * lib/regex.h: Cleanup namespace.
7718
7719         2007-11-26 Ulrich Drepper <drepper@redhat.com>
7720         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
7721
7722         2007-08-26 Ulrich Drepper <drepper@redhat.com>
7723         * lib/regex_internal.h: Prevent some declarations and definitions
7724         to be seen when used in tests.
7725
7726         2005-05-06 Ulrich Drepper <drepper@redhat.com>
7727         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
7728         __libc_lock_* macros if not _LIBC.
7729         (struct re_dfa_t): Add lock.
7730
7731 2012-02-07  Eric Blake  <eblake@redhat.com>
7732
7733         maint.mk: also prohibit lower-case @var@
7734         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
7735         lower case, like @top_srcdir@.
7736
7737 2012-02-04  Eric Blake  <eblake@redhat.com>
7738
7739         canonicalize: avoid uninitialized memory use
7740         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
7741         random '/' left in dest.
7742         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
7743
7744 2012-02-04  Bruno Haible  <bruno@clisp.org>
7745
7746         isatty: Fix test failure of ptsname_r on native Windows.
7747         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
7748         and don't set errno.
7749         (isatty): Test first whether fd is valid. Set errno when returning 0.
7750
7751 2012-02-04  Bruno Haible  <bruno@clisp.org>
7752
7753         spawn-pipe tests: Fix a NULL program name in a diagnostic.
7754         * tests/test-spawn-pipe-main.c: Include progname.h.
7755         (main): Invoke set_program_name.
7756         * modules/spawn-pipe-tests (Depends-on): Add progname.
7757
7758         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
7759         * tests/test-nonblocking-socket-main.c: Include progname.h.
7760         (main): Invoke set_program_name.
7761         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7762
7763         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
7764         * tests/test-nonblocking-pipe-main.c: Include progname.h.
7765         (main): Invoke set_program_name.
7766         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
7767
7768 2012-02-04  Eric Blake  <eblake@redhat.com>
7769
7770         canonicalize-lgpl: fix // handling
7771         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
7772
7773         canonicalize: fix // handling
7774         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
7775         /// to //, since only // is special.
7776
7777 2012-02-04  Bruno Haible  <bruno@clisp.org>
7778
7779         ioctl: Fix test failure on native Windows.
7780         * lib/ioctl.c: Include msvc-nothrow.h.
7781         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
7782
7783 2012-02-04  Bruno Haible  <bruno@clisp.org>
7784
7785         fsync: Avoid test failure on native Windows.
7786         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
7787         read-only.
7788
7789 2012-02-04  Bruno Haible  <bruno@clisp.org>
7790
7791         sys_select: Avoid syntax error on OpenBSD 5.0.
7792         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
7793         currently being included, just include the system's <sys/select.h>.
7794
7795 2012-02-04  Bruno Haible  <bruno@clisp.org>
7796
7797         sys_select: Avoid syntax error on OpenBSD 5.0.
7798         * lib/sys_select.in.h: Include <signal.h> only after the include_next
7799         <sys/select.h>, not before.
7800         Reported by Jiri B <jirib@devio.us>.
7801
7802 2012-02-04  Bruno Haible  <bruno@clisp.org>
7803
7804         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
7805         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
7806         global variables.
7807         * tests/test-get-rusage-data.c (main): Likewise.
7808         Reported by Jim Meyering.
7809
7810 2012-02-04  Bruno Haible  <bruno@clisp.org>
7811
7812         stdioext: Fix last commit.
7813         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
7814
7815 2012-02-03  Bruno Haible  <bruno@clisp.org>
7816
7817         stdioext: Add tentative support for Plan9.
7818         * lib/stdio-impl.h: Include <errno.h>.
7819         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
7820         * lib/freadable.c (freadable): Likewise.
7821         * lib/fwritable.c (fwritable): Likewise.
7822         * lib/fbufmode.c (fbufmode): Likewise.
7823         * lib/freading.c (freading): Likewise.
7824         * lib/fwriting.c (fwriting): Likewise.
7825         * lib/freadptr.c (freadptr): Likewise.
7826         * lib/freadseek.c (freadptrinc): Likewise.
7827         * lib/freadahead.c (freadahead): Likewise.
7828         * lib/fpurge.c (fpurge): Likewise.
7829         * lib/fseeko.c (rpl_fseeko): Likewise.
7830         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
7831         Reported by Jens Staal <staal1978@gmail.com>.
7832
7833 2012-02-02  Jim Meyering  <meyering@redhat.com>
7834
7835         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
7836         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
7837         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
7838         not even to try to add the attribute.  Instead, add a pragma to suppress
7839         the suggestion/warning.
7840
7841 2012-01-31  Karl Berry  <karl@gnu.org>
7842
7843         setstate doc: typo.
7844         * doc/posix-functions/setstate.texi (setstate): { not (.
7845
7846 2012-01-31  Bruno Haible  <bruno@clisp.org>
7847
7848         popen: Make more robust on Windows.
7849         * lib/popen.c: On native Windows, use the _popen based code even if
7850         HAVE_POPEN is set.
7851         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
7852         environment variable on native Windows.
7853
7854 2012-01-30  Bruno Haible  <bruno@clisp.org>
7855
7856         pclose: Fix typo.
7857         * lib/stdio.in.h (pclose): Fix typo in warning message.
7858
7859 2012-01-30  Bruno Haible  <bruno@clisp.org>
7860
7861         doc about getlogin_r, setstate.
7862         * doc/posix-functions/getlogin_r.texi: List the incompatible
7863         declaration problem under "not fixed by gnulib".
7864         * doc/posix-functions/setstate.texi: Mention incompatible declaration
7865         problem on Solaris 11 and other platforms.
7866
7867 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
7868             Bruno Haible  <bruno@clisp.org>
7869
7870         poll tests: Make test more robust.
7871         * tests/test-poll.c: Include macros.h.
7872         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
7873         return value of various I/O operations.
7874         * modules/poll-tests (Files): Add tests/macros.h.
7875
7876 2012-01-30  Bruno Haible  <bruno@clisp.org>
7877
7878         sys_stat: Fix support for mingw64 and MSVC.
7879         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7880         header files already do it.
7881         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7882         stat itself.
7883         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7884
7885 2012-01-30  Bruno Haible  <bruno@clisp.org>
7886
7887         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
7888         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
7889         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
7890
7891 2012-01-29  Bruno Haible  <bruno@clisp.org>
7892
7893         quotearg: Fix test failure on MacOS X 10.5.
7894         * tests/test-quotearg-simple.c: Include localcharset.h.
7895         (main): If the locale encoding is not ASCII, bypass the tests of
7896         locale_quoting_style and clocale_quoting_style.
7897         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
7898
7899 2012-01-29  Jim Meyering  <meyering@redhat.com>
7900
7901         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
7902         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
7903         detect uses of canonicalize_file_name.
7904
7905 2012-01-28  Bruno Haible  <bruno@clisp.org>
7906
7907         test-framework-sh: Fix test failure with AIX 7.1 diff.
7908         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
7909         in column 1, like 'diff -c' does.
7910         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
7911         whether 'diff -u' is used. Instead, test whether the output contains
7912         some '@' character.
7913
7914 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7915
7916         strtoimax: eliminate need for stdint.h, inttypes.h checks
7917         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
7918         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
7919         the prerequisites for a recently-introduced strtoimax test.
7920         I guess this might cause strtoimax to be replaced when not
7921         strictly necessary on older hosts, but this shouldn't introduce
7922         any bugs and it should make Emacs 'configure' faster on typical
7923         modern hosts.  Problem discovered when importing the latest gnulib
7924         to an Emacs test version.
7925         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
7926
7927 2012-01-28  Bruno Haible  <bruno@clisp.org>
7928
7929         sys_time: Override 'struct timeval' on some native Windows platforms.
7930         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
7931         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
7932         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
7933         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
7934         needs to be overridden.
7935         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
7936         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
7937         * tests/test-sys_select.c: Check that the tv_sec member has the same
7938         size as a 'time_t'.
7939         * tests/test-sys_time.c: Likewise.
7940         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
7941         is set, set also REPLACE_GETTIMEOFDAY.
7942         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
7943         convert the resulting 'struct timeval' before returning.
7944         * lib/select.c: Include <sys/time.h>.
7945         (select, timeval): Undefine at the right place.
7946         * modules/select (Depends-on): Add sys_time.
7947         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
7948         some Windows platforms.
7949         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7950
7951 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7952
7953         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
7954         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
7955         an integer.
7956         * lib/fcntl.c (dupfd): Likewise.
7957         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
7958
7959 2012-01-28  Bruno Haible  <bruno@clisp.org>
7960
7961         fcntl: Avoid compilation error on native Windows.
7962         * modules/fcntl (Depends-on): Add 'close'.
7963
7964 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7965
7966         select, poll, isatty: Avoid warnings on x86_64 mingw64.
7967         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
7968         pointer to an integer.
7969         * lib/poll.c (IsConsoleHandle): Likewise.
7970         * lib/isatty.c (IsConsoleHandle): Likewise.
7971
7972 2012-01-28  Jim Meyering  <meyering@redhat.com>
7973
7974         doc: clarify README-release
7975         * top/README-release: Clarify: you should make a point to have
7976         the latest stable versions of build tools in your PATH, and the
7977         reference to buildreq is solely for its list of tool names, not
7978         for its minimal-functional version numbers.
7979         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
7980
7981         maint.mk: use more readable (yet functionally equivalent) quoting
7982         It is common to quote a single quote in a single quoted string like
7983         this:  '...'\''...'.  Unless you know the idiom, that looks like
7984         gibberish, so prefer to double-quote the string when possible.
7985         Then you can use a more readable, lone single quote: "...'..."
7986         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
7987         "don't" is more readable than the equivalent 'don'\''t'.
7988         (sc_cast_of_x_alloc_return_value): Likewise.
7989         (sc_cast_of_alloca_return_value): Likewise.
7990         (sc_makefile_path_separator_check): Similar: use ":" in '...',
7991         rather than '\'':'\''.
7992
7993 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7994
7995         stdalign: relax _Alignof and tighten _Alignas test
7996         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
7997         as it was too strict: alignof must divide offsetof, but it need
7998         not equal offsetof.  Inspired by Joseph S. Myers's comment
7999         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8000         Conversely, tighten the _Alignas test a bit, as the resulting
8001         alignment must be exactly 8.
8002
8003 2012-01-27  Bruno Haible  <bruno@clisp.org>
8004
8005         stdalign: Document the last change.
8006         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8007
8008 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8009
8010         stdalign: check that alignof and offsetof are consistent
8011         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8012         Problem reported for gnulib by Richard W.M. Jones in
8013         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8014
8015 2012-01-27  Jim Meyering  <meyering@redhat.com>
8016
8017         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8018         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8019         convert a sequence with gaps to the minimal containing range.
8020         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8021         * tests/test-update-copyright.sh: Test for this.
8022         The FSF confirmed it is ok to do this, assuming there is at
8023         least one significant change per year in the affected range:
8024         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8025
8026 2012-01-26  Bruno Haible  <bruno@clisp.org>
8027
8028         pipe2: refine doc about thread-safety
8029         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8030         multithread-safety problem.
8031         * doc/glibc-functions/accept4.texi: Likewise.
8032
8033 2012-01-26  Bruno Haible  <bruno@clisp.org>
8034
8035         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8036         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8037         In the test program, include <fcntl.h>, for O_RDONLY.
8038
8039 2012-01-26  Eric Blake  <eblake@redhat.com>
8040
8041         pipe2: document lack of thread-safety in replacement
8042         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8043         issue in replacement.
8044         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8045         Based on a report by Eric Wong.
8046
8047 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8048             Bruno Haible  <bruno@clisp.org>
8049
8050         malloca: Avoid warnings on x86_64 mingw64.
8051         * lib/malloca.c: Include <stdint.h>.
8052         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8053         * modules/malloca (Depends-on): Add stdint.
8054         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8055
8056 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8057
8058         obstack: remove __STDC__ conditionals
8059         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8060         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8061         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8062         m4/include_next.m4 as the only gnulib-maintained places that still
8063         refer to __STDC__.
8064
8065 2012-01-24  Bruno Haible  <bruno@clisp.org>
8066
8067         havelib: Modern quoting.
8068         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8069         the recent change to the GNU coding standards.
8070
8071 2012-01-24  Bruno Haible  <bruno@clisp.org>
8072
8073         stdint: Improve support for Android.
8074         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8075         Reported by Simon Josefsson <simon@josefsson.org>.
8076
8077 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8078
8079         doc: omit trailing empty lines from INSTALL etc.
8080         * doc/Makefile (INSTALL): Omit trailing empty lines.
8081         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8082         omit trailing empty lines.  This simplifies the build procedure.
8083
8084 2012-01-23  Jim Meyering  <meyering@redhat.com>
8085
8086         tests: avoid spurious warnings about gl_sockets_startup
8087         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8088         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8089         reporting a "statement with no effect".
8090         * tests/test-accept.c (main): Mark as "(void)".
8091         * tests/test-accept4.c (main): Likewise.
8092         * tests/test-bind.c (main): Likewise.
8093         * tests/test-connect.c (main): Likewise.
8094         * tests/test-getpeername.c (main): Likewise.
8095         * tests/test-getsockname.c (main): Likewise.
8096         * tests/test-getsockopt.c (main): Likewise.
8097         * tests/test-listen.c (main): Likewise.
8098         * tests/test-recv.c (main): Likewise.
8099         * tests/test-recvfrom.c (main): Likewise.
8100         * tests/test-send.c (main): Likewise.
8101         * tests/test-sendto.c (main): Likewise.
8102         * tests/test-setsockopt.c (main): Likewise.
8103         * tests/test-shutdown.c (main): Likewise.
8104
8105 2012-01-21  Bruno Haible  <bruno@clisp.org>
8106
8107         locale-fr.m4: Fix for Android.
8108         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8109         failure of the test program on Bionic libc.
8110
8111 2012-01-21  Jim Meyering  <meyering@redhat.com>
8112
8113         bootstrap: fail when bootstrap_post_import_hook fails
8114         Otherwise, it's far too easy to miss diagnostics emitted
8115         between gnulib-tool's output and that of running configure.
8116         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8117
8118 2012-01-17  Jim Meyering  <meyering@redhat.com>
8119
8120         maint: enable sc_trailing_blank
8121         * build-aux/pmccabe.css: Remove trailing blanks.
8122         * doc/acl-cygwin.txt: Likewise.
8123         * doc/gnu-oids.texi: Likewise
8124         * cfg.mk: Enable sc_trailing_blank.
8125         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8126
8127 2012-01-17  Jim Meyering  <meyering@redhat.com>
8128
8129         maint: enable sc_prohibit_openat_without_use
8130         * cfg.mk: Enable sc_prohibit_openat_without_use.
8131         Exempt lib/selinux-at.c.
8132
8133 2012-01-17  Jim Meyering  <meyering@redhat.com>
8134
8135         maint: enable sc_prohibit_cloexec_without_use
8136         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8137         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8138
8139 2012-01-17  Jim Meyering  <meyering@redhat.com>
8140
8141         maint: enable sc_prohibit_intprops_without_use
8142         * cfg.mk: Enable sc_prohibit_intprops_without_use
8143         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8144
8145 2012-01-17  Jim Meyering  <meyering@redhat.com>
8146
8147         maint: enable sc_prohibit_hash_pjw_without_use
8148         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8149         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8150         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8151         following " (".
8152
8153 2012-01-17  Jim Meyering  <meyering@redhat.com>
8154
8155         maint: enable double-word-prohibiting rule
8156         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8157         Exempt three files.
8158
8159 2012-01-17  Jim Meyering  <meyering@redhat.com>
8160
8161         maint: remove empty lines at EOF, but excluding modules/*
8162         Apply syntax rules at home as well as abroad.  Most changes
8163         were induced by running this:
8164           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8165             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8166             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8167         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8168         Exempt modules/* and two binary files.
8169         Also exempt doc/INSTALL*, per request from Bruno Haible.
8170         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8171         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8172         * doc/Copyright/request-assign.future: Likewise.
8173         * doc/Copyright/request-disclaim.changes: Likewise.
8174         * doc/INSTALL: Likewise.
8175         * doc/INSTALL.ISO: Likewise.
8176         * doc/INSTALL.UTF-8: Likewise.
8177         * doc/acl-cygwin.txt: Likewise.
8178         * doc/acl-resources.txt: Likewise.
8179         * doc/fdl-1.2.texi: Likewise.
8180         * doc/fdl-1.3.texi: Likewise.
8181         * doc/fdl.texi: Likewise.
8182         * lib/argp-pin.c: Likewise.
8183         * lib/round.c: Likewise.
8184         * lib/unicase/u16-totitle.c: Likewise.
8185         * lib/unictype/block_test.c: Likewise.
8186         * lib/uninorm/canonical-decomposition.c: Likewise.
8187         * m4/README: Likewise.
8188         * m4/relocatable-lib.m4: Likewise.
8189         * tests/test-isnand-nolibm.c: Likewise.
8190         * tests/test-isnand.c: Likewise.
8191         * tests/uninorm/NormalizationTest.txt: Likewise.
8192
8193 2012-01-17  Jim Meyering  <meyering@redhat.com>
8194
8195         maint: add framework to run syntax-check rules against gnulib sources
8196         * cfg.mk: New file, to disable all currently-failing tests.
8197         We'll enable them one by one, as they are made to pass.
8198         * Makefile (sc_maint): New rule.
8199
8200 2012-01-21  Bruno Haible  <bruno@clisp.org>
8201
8202         stdint: Add support for Android.
8203         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8204         include the system's <stdint.h>.
8205         Reported by Simon Josefsson <simon@josefsson.org>.
8206
8207 2012-01-19  Jim Meyering  <meyering@redhat.com>
8208
8209         bootstrap: add bootstrap_post_import_hook
8210         Bison does still need something like the gnulib_mk_hook whose
8211         invocation I had to remove along with slurp in commit 767ccd40.
8212         Technically, we could get along without it, but doing so would
8213         have required living with a warning and a mandatory post-bootstrap
8214         automake rerun.
8215         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8216         (bootstrap_post_import_hook): New function.
8217         Invoke it after gnulib-tool --import and before autoreconf.
8218
8219 2012-01-18  Jim Meyering  <meyering@redhat.com>
8220
8221         gitlog-to-changelog: don't use "no_"-prefixed variable name
8222         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8223         to enable both --cluster and --no-cluster.  Change variable name,
8224         s/\$no_cluster/$cluster/, and reverse usage to match.
8225
8226         gitlog-to-changelog: use "||", not "or" in expressions
8227         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8228         expressions.
8229
8230 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8231
8232         gitlog-to-changelog: new option --no-cluster
8233         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8234         clustering of adjacent commit messages.
8235
8236 2012-01-17  Jim Meyering  <meyering@redhat.com>
8237
8238         maint: spell file systems with two words, not one
8239         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8240         two words, not one.
8241
8242 2012-01-16  Jim Meyering  <meyering@redhat.com>
8243
8244         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8245         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8246
8247 2012-01-16  Eric Blake  <eblake@redhat.com>
8248
8249         bootstrap: cater to autoconf 2.59
8250         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8251         is not available.
8252
8253         bootstrap: properly check for libtool
8254         * build-aux/bootstrap (libtoolize): Also run libtool when older
8255         usage is detected.
8256
8257 2012-01-15  Bruno Haible  <bruno@clisp.org>
8258
8259         Improve support for MSVC 9.
8260         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8261         clashes on MSVC.
8262         * lib/fcntl.in.h: Likewise.
8263         * lib/stdlib.in.h: Likewise.
8264         * lib/sys_stat.in.h: Likewise.
8265
8266 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8267
8268         gnupload: we hold the master copy of this script now
8269         For motivation and more information, see:
8270         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8271         * build-aux/gnupload: Make it clear in the heading comments that the
8272         master copy of this file is maintained by gnulib.  Since we are at
8273         it, bump its copyright year and ...
8274         ($scriptversion): ... the date in its version.
8275         ($usage): Patches and bug reports should be sent to the gnulib list,
8276         not the automake one.
8277         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8278         anymore.
8279
8280 2012-01-15  Bruno Haible  <bruno@clisp.org>
8281
8282         Fix module 'random'.
8283         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8284         initstate, setstate are declared.
8285
8286 2012-01-14  Bruno Haible  <bruno@clisp.org>
8287
8288         Tests for module 'random'.
8289         * modules/random-tests: New file.
8290         * tests/test-random.c: New file, based on tests/test-random_r.c.
8291
8292         New module 'random'.
8293         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8294         declarations.
8295         * lib/random.c: New file, based on glibc/stdlib/random.c.
8296         * m4/random.m4: New file.
8297         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8298         HAVE_RANDOM.
8299         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8300         * modules/random: New file.
8301         * config/srclist.txt: Add an entry for random.c.
8302         * doc/posix-functions/random.texi: Mention the 'random' module.
8303         * doc/posix-functions/initstate.texi: Likewise.
8304         * doc/posix-functions/setstate.texi: Likewise.
8305         * doc/posix-functions/srandom.texi: Likewise.
8306
8307 2012-01-12  Bruno Haible  <bruno@clisp.org>
8308
8309         random_r: Use common idioms.
8310         * lib/random_r.c: Include <stdlib.h> first.
8311
8312         random_r: Override incompatible API on AIX, OSF/1.
8313         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8314         Override the system function if REPLACE_RANDOM_R is 1.
8315         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8316         and OSF/1, set REPLACE_RANDOM_R.
8317         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8318         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8319         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8320         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8321         * doc/glibc-functions/random_r.texi: Likewise.
8322         * doc/glibc-functions/setstate_r.texi: Likewise.
8323
8324         random_r: Support for MSVC 9.
8325         * lib/random_r.c: Include stdint.h, not inttypes.h.
8326
8327 2012-01-12  Eric Blake  <eblake@redhat.com>
8328
8329         inet_ntop: guard extra work by IF_LINT
8330         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8331         better code generation when not checking for warnings.
8332         Suggested by Paul Eggert and Jim Meyering.
8333
8334         strptime: fix regression on mingw
8335         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8336         Fix regression.  Reported by Bruno Haible.
8337
8338 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8339             Bruno Haible  <bruno@clisp.org>
8340
8341         copy-file: add error-code-returning variant.
8342         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8343         (qcopy_file_preserving): New declaration.
8344         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8345         copy_file_preserving. Change return type to 'int'. Don't emit an error
8346         message here.
8347         (copy_file_preserving): New function.
8348         * tests/test-copy-file.c: Include <stdlib.h>.
8349         (main): Test qcopy_file_preserving if the environment variable
8350         NO_STDERR_OUTPUT is set.
8351         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8352         with NO_STDERR_OUTPUT
8353         * tests/test-copy-file-2.sh: Likewise.
8354
8355 2012-01-10  Bruno Haible  <bruno@clisp.org>
8356
8357         copy-file: Use 'quote' module consistently.
8358         * lib/copy-file.c (copy_file_preserving): Use quote().
8359
8360         copy-file: Refactor.
8361         * lib/copy-file.c: Include quote.h.
8362         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8363         message here.
8364         * modules/copy-file (Depends-on): Add quote.
8365
8366         acl: Export qcopy_acl.
8367         * lib/acl.h (qcopy_acl): New declaration.
8368         * lib/copy-acl.c (qcopy_acl): Make non-static.
8369
8370         acl: Rename a local variable.
8371         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8372
8373         acl: Align return values of copy_acl and qcopy_acl.
8374         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8375         maybe < -1.
8376
8377 2012-01-11  Eric Blake  <eblake@redhat.com>
8378
8379         strptime: silence gcc warnings
8380         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8381         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8382         Reported by Daniel P. Berrange.
8383
8384         inet_ntop: silence gcc warning
8385         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8386         Reported by Daniel P. Berrange.
8387
8388 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8389
8390         getloadavg test: skip the test on GNU/Linux without /proc mounted
8391         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8392         file.  When /proc is not mounted, it always fails with ENOENT.
8393         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8394         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8395
8396 2012-01-10  Bruno Haible  <bruno@clisp.org>
8397
8398         regex: Avoid link error on MSVC 9.
8399         * modules/regex (Depends-on): Add wctype.
8400
8401 2012-01-10  Bruno Haible  <bruno@clisp.org>
8402
8403         doc: Mention --with-tests option.
8404         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8405         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8406         --with-tests.
8407         Reported by Reuben Thomas.
8408
8409 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8410
8411         users.txt: order package names lexicographically.
8412         * users.txt: Order package names lexicographically.
8413
8414 2012-01-10  Jim Meyering  <meyering@redhat.com>
8415
8416         maint.mk: fix description in comment
8417         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8418
8419         ignore-value: remove deprecated ignore_ptr function
8420         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8421         * NEWS: Note this.
8422
8423 2012-01-09  Jim Meyering  <meyering@redhat.com>
8424
8425         test-init.sh: avoid a subshell
8426         * tests/test-init.sh: Remove protective subshell.
8427         Suggested by Bernhard Voelker.  While a subshell is normally
8428         required to protect against older shells (Solaris, FreeBSD) that
8429         warn about a missing program before performing redirection, the
8430         shell-selection tests performed by init.sh probably exclude any
8431         offending shell.
8432
8433 2012-01-08  Bruno Haible  <bruno@clisp.org>
8434
8435         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8436         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8437         variable.
8438
8439 2012-01-08  Bruno Haible  <bruno@clisp.org>
8440
8441         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8442         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8443         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8444         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8445         macro.
8446         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8447         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8448         * lib/spawn_faction_addopen.c: Add workaround implementation if
8449         HAVE_WORKING_POSIX_SPAWN.
8450         * modules/spawn (Makefile): Substitute
8451         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8452         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8453         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8454         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8455         (Depends-on): Update conditions.
8456         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8457         the Solaris 11 bug.
8458
8459 2012-01-08  Bruno Haible  <bruno@clisp.org>
8460
8461         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8462         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8463         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8464         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8465         macro.
8466         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8467         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8468         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8469         HAVE_WORKING_POSIX_SPAWN.
8470         * modules/spawn (Makefile): Substitute
8471         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8472         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8473         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8474         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8475         (Depends-on): Update conditions.
8476         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8477         the Solaris 11 bug.
8478
8479 2012-01-08  Bruno Haible  <bruno@clisp.org>
8480
8481         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8482         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8483         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8484         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8485         HAVE_WORKING_POSIX_SPAWN.
8486         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8487         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8488         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8489         * lib/spawn_faction_addclose.c: Add workaround implementation if
8490         HAVE_WORKING_POSIX_SPAWN.
8491         * modules/spawn (Makefile): Substitute
8492         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8493         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8494         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8495         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8496         (Depends-on): Update conditions.
8497         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8498         the Solaris 11 bug.
8499
8500 2012-01-08  Bruno Haible  <bruno@clisp.org>
8501
8502         doc: Update for Solaris 11 2011-11.
8503         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8504         * m4/printf.m4: Update comments.
8505
8506 2012-01-08  Bruno Haible  <bruno@clisp.org>
8507
8508         mktime: Avoid compilation error on Solaris 11.
8509         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8510
8511 2012-01-08  Bruno Haible  <bruno@clisp.org>
8512
8513         doc: Small fix.
8514         * doc/posix-headers/nl_types.texi: Correct platforms list.
8515
8516 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8517
8518         Add lgpl-3.0 module.
8519         * MODULES.html.sh (Support for building documentation): Add
8520         lgpl-3.0.
8521         * modules/lgpl-3.0: New file.
8522
8523 2012-01-08  Jim Meyering  <meyering@redhat.com>
8524
8525         select.c: indent with spaces, not TABs
8526         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8527
8528 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8529
8530         quotearg: do not use grave accent for left quote
8531         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8532         locale_quoting_style.
8533         (quotearg_buffer_restyled): Fix example.
8534         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8535
8536 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8537
8538         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8539         Most programs do not have translation catalogs for English and much
8540         less separate catalogs for British and American English.  Drop the
8541         suggestion to translators about these two, and provide it
8542         automatically for Unicode locales.  Like most programs, even those
8543         using American English, we use single quotation marks.  This conflicts
8544         with the American typographic convention, but works better when you
8545         cite the entire error message within double quotes.  It also tries not
8546         to clash with established practice and with what non-gnulib programs
8547         will usually do.
8548         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8549         using an UTF-8 or GB-18030 locale.  The list of other locales with
8550         quotes was provided by Bruno Haible.
8551         (quotearg_buffer_restyled): Adjust instructions to translators.
8552         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8553         text, since this would be wrong when using Unicode.
8554         * modules/quotearg: Depend on c-strcaseeq.
8555
8556 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8557
8558         quotearg: fix Wikipedia link
8559         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8560
8561 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8562
8563         Fix for mingw with MSVC9.
8564         * m4/ld-version-script.m4: Check that compiler rejects version
8565         scripts with syntax errors.  Reported by Bruno Haible
8566         <bruno@clisp.org>.
8567
8568 2012-01-06  Bruno Haible  <bruno@clisp.org>
8569
8570         Talk about "native Windows API", not "Woe32".
8571         * lib/accept4.c: Update comments to mention native Windows.
8572         * lib/execute.c: Likewise.
8573         * lib/fatal-signal.c: Likewise.
8574         * lib/localcharset.c: Likewise.
8575         * lib/nanosleep.c: Likewise.
8576         * lib/nl_langinfo.c: Likewise.
8577         * lib/pclose.c: Likewise.
8578         * lib/pipe-filter-gi.c: Likewise.
8579         * lib/pipe-filter-ii.c: Likewise.
8580         * lib/pipe.c: Likewise.
8581         * lib/pipe2.c: Likewise.
8582         * lib/popen.c: Likewise.
8583         * lib/progreloc.c: Likewise.
8584         * lib/relocatable.c: Likewise.
8585         * lib/sigaction.c: Likewise.
8586         * lib/sigprocmask.c: Likewise.
8587         * lib/spawn-pipe.h: Likewise.
8588         * lib/spawn-pipe.c: Likewise.
8589         * lib/spawni.c: Likewise.
8590         * lib/stat-time.h: Likewise.
8591         * lib/w32spawn.h: Likewise.
8592         * tests/test-isatty.c: Likewise.
8593         * lib/config.charset: More comments.
8594         * doc/gnulib-intro.texi: Mention native Windows.
8595         * doc/posix-functions/_Exit_C99.texi: Likewise.
8596         * doc/posix-headers/fcntl.texi: Likewise.
8597
8598 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8599
8600         argp: Avoid crash if translator uses % characters in a translation.
8601         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8602         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8603
8604 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8605
8606         doc: C11 and C++11 are now official
8607         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8608         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8609         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8610         * modules/stdalign:
8611         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8612
8613 2012-01-06  Bruno Haible  <bruno@clisp.org>
8614
8615         uc-is-grapheme-break tests: Tweak.
8616         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8617         message.
8618
8619 2012-01-06  Bruno Haible  <bruno@clisp.org>
8620
8621         test-init.sh: correct the test for diff -u
8622         * tests/test-init.sh: Also redirect stdout to /dev/null.
8623
8624 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8625
8626         Use ', not `, for quoting output.
8627         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8628         (print_changelog_deltas, get_tool_versions, main program):
8629         * build-aux/git-version-gen:
8630         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8631         * build-aux/move-if-change (help):
8632         * build-aux/useless-if-before-free (usage, main program):
8633         * check-module (parse_module_file, usage)
8634         (find_included_lib_files, check_module):
8635         * lib/argmatch.c (main) [TEST]:
8636         * lib/argp-help.c (_help):
8637         * lib/getopt1.c (main) [TEST]:
8638         * lib/git-merge-changelog.c (usage):
8639         * lib/xstrtol-error.c (xstrtol_error):
8640         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8641         * m4/argz.m4 (gl_FUNC_ARGZ):
8642         * m4/bison.m4 (gl_BISON):
8643         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8644         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8645         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8646         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8647         * m4/gc-random.m4 (gl_GC_RANDOM):
8648         * m4/intl.m4 (gt_CHECK_DECL):
8649         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8650         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8651         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8652         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8653         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8654         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8655         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8656         * tests/test-dirname.c (main):
8657         * tests/test-getpass.c (main):
8658         * tests/test-iconvme.c (main):
8659         * tests/test-parse-datetime.c (LOG):
8660         * tests/test-xstrtoimax.sh:
8661         * tests/test-xstrtol.sh:
8662         * tests/test-xstrtoll.sh:
8663         * tests/test-xstrtoumax.sh:
8664         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8665         * top/GNUmakefile (abort-due-to-no-makefile):
8666         Quote 'like this', not `like this', as per the recent change to
8667         the GNU coding standards.
8668
8669 2012-01-05  Bruno Haible  <bruno@clisp.org>
8670
8671         strtoimax: Don't force a replacement on systems where intmax_t is int.
8672         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8673         'intmax_t' is not larger than 'int'.
8674         Reported by Pádraig Brady <P@draigBrady.com>.
8675
8676 2012-01-05  Bruno Haible  <bruno@clisp.org>
8677
8678         doc: Mention NetBSD bugs.
8679         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8680         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8681
8682 2012-01-05  Bruno Haible  <bruno@clisp.org>
8683
8684         strtoumax tests: Enhance tests.
8685         * tests/test-strtoumax.c (main): Add tests for large values.
8686
8687 2012-01-05  Bruno Haible  <bruno@clisp.org>
8688
8689         strtoimax: Work around AIX 5.1 bug.
8690         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8691         definition.
8692         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8693         Set HAVE_STRTOIMAX.
8694         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8695         REPLACE_STRTOIMAX.
8696         * modules/inttypes-incomplete (Makefile.am): Substitute
8697         REPLACE_STRTOIMAX.
8698         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8699         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8700         (Depends-on): Update conditions.
8701         * tests/test-strtoimax.c (main): Add tests for large values.
8702         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8703
8704 2012-01-05  Bruno Haible  <bruno@clisp.org>
8705
8706         inttypes: Modernize.
8707         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8708         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
8709         (Makefile.am): Update inttypes.h rule.
8710
8711 2012-01-05  Jim Meyering  <meyering@redhat.com>
8712
8713         init.sh: don't waste a subshell just to redirect stderr
8714         * tests/init.sh: In testing for diff -u and diff -c, use a
8715         stderr-redirecting exec inside `...` rather than a subshell.
8716
8717         test-init.sh: avoid failure on HP-UX 11.00
8718         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
8719         resolves to diff -c or cmp.  Reported by Bruno Haible.
8720
8721 2012-01-05  Bruno Haible  <bruno@clisp.org>
8722
8723         Tests for module 'strtoull'.
8724         * modules/strtoull-tests: New file.
8725         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
8726
8727 2012-01-05  Bruno Haible  <bruno@clisp.org>
8728
8729         Tests for module 'strtoll'.
8730         * modules/strtoll-tests: New file.
8731         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
8732
8733 2012-01-05  Bruno Haible  <bruno@clisp.org>
8734
8735         Tests for module 'strtoul'.
8736         * modules/strtoul-tests: New file.
8737         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
8738
8739 2012-01-05  Bruno Haible  <bruno@clisp.org>
8740
8741         Tests for module 'strtol'.
8742         * modules/strtol-tests: New file.
8743         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
8744
8745 2012-01-04  Jim Meyering  <meyering@redhat.com>
8746
8747         test-init.sh: accommodate Solaris 5.10's different diff -u output
8748         * tests/test-init.sh: Also exempt @@ lines from the comparison
8749         of diff output, since Solaris 5.10 and GNU diff formats differ.
8750         Reported by Stefano Lattarini.
8751
8752 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8753
8754         test-posixtm: don't assume signed integer wraparound
8755         * tests/test-posixtm.c (main): Don't assume wraparound semantics
8756         after signed integer overflow.  Inspired by (though it may not
8757         fix) Bruno Haible's bug report in
8758         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
8759
8760         Spell out "Windows 9x" and "Windows XP".
8761         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
8762         "Windows 9x" and "WinXP" with "Windows XP".
8763
8764 2012-01-04  Jim Meyering  <meyering@redhat.com>
8765
8766         test-vc-list-files-cvs.sh: remove obsolete comment
8767         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
8768         double exit.  Now that's all encapsulated via skip_ and Exit.
8769
8770 2012-01-04  Bruno Haible  <bruno@clisp.org>
8771
8772         Talk about "native Windows API", not "Win32".
8773         * lib/classpath.c: Update comments to mention native Windows.
8774         * lib/csharpexec.c: Likewise.
8775         * lib/dup2.c: Likewise.
8776         * lib/error.c: Likewise.
8777         * lib/fcntl.c: Likewise.
8778         * lib/filename.h: Likewise.
8779         * lib/findprog.c: Likewise.
8780         * lib/get-rusage-as.c: Likewise.
8781         * lib/get-rusage-data.c: Likewise.
8782         * lib/getpagesize.c: Likewise.
8783         * lib/javaexec.c: Likewise.
8784         * lib/msvc-inval.c: Likewise.
8785         * lib/msvc-nothrow.c: Likewise.
8786         * lib/nanosleep.c: Likewise.
8787         * lib/nonblocking.c: Likewise.
8788         * lib/printf-parse.c: Likewise.
8789         * lib/setlocale.c: Likewise.
8790         * lib/sigaction.c: Likewise.
8791         * lib/strerror_r.c: Likewise.
8792         * lib/tmpdir.c: Likewise.
8793         * lib/vasnprintf.c: Likewise.
8794         * lib/w32spawn.h: Likewise.
8795         * lib/waitpid.c: Likewise.
8796         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
8797         * m4/locale-ar.m4: Likewise.
8798         * m4/locale-fr.m4: Likewise.
8799         * m4/locale-ja.m4: Likewise.
8800         * m4/locale-tr.m4: Likewise.
8801         * m4/locale-zh.m4: Likewise.
8802         * m4/printf.m4: Likewise.
8803         * tests/test-cloexec.c: Likewise.
8804         * tests/test-copy-acl.sh: Likewise.
8805         * tests/test-copy-file.sh: Likewise.
8806         * tests/test-file-has-acl.sh: Likewise.
8807         * tests/test-set-mode-acl.sh: Likewise.
8808         * tests/test-dup-safer.c: Likewise.
8809         * tests/test-dup2.c: Likewise.
8810         * tests/test-dup3.c: Likewise.
8811         * tests/test-fcntl.c: Likewise.
8812         * tests/test-nonblocking-pipe.h: Likewise.
8813         * tests/test-nonblocking-socket.h: Likewise.
8814         * tests/test-pipe.c: Likewise.
8815         * tests/test-pipe2.c: Likewise.
8816         * tests/test-spawn-pipe-child.c: Likewise.
8817         * doc/acl-resources.txt: Likewise.
8818         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8819         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
8820         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
8821         * lib/localcharset.c: Update comments to mention native Windows.
8822         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8823         * lib/localename.c: Likewise.
8824         * lib/progreloc.c: Likewise.
8825         * lib/relocatable.c: Likewise.
8826         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8827         (windows_compute_revents): Renamed from win32_compute_revents.
8828         (windows_compute_revents_socket): Renamed from
8829         win32_compute_revents_socket.
8830         * lib/select.c: Update comments to mention native Windows.
8831         (windows_poll_handle): Renamed from win32_poll_handle.
8832         * m4/threadlib.m4: Update comments to mention native Windows.
8833         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
8834         --enable-threads=windows instead of --enable-threads=win32. Set
8835         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
8836         * lib/glthread/lock.h: Update comments to mention native Windows.
8837         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
8838         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
8839         USE_WIN32_THREADS.
8840         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
8841         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
8842         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
8843         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
8844         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
8845         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
8846         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
8847         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
8848         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
8849         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
8850         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
8851         * tests/test-tls.c: Likewise.
8852         Rationale:
8853         Microsoft renamed the "Win32 API" to "Windows API", as it is available
8854         on both 32-bit and 64-bit Windows systems.
8855         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
8856         line of distinction is between "native Windows" on one side and Unix/
8857         POSIX systems on the other side. More details in
8858         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
8859         Suggested by Paul Eggert.
8860
8861 2012-01-03  Bruno Haible  <bruno@clisp.org>
8862
8863         isatty: Support for MSVC 9.
8864         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
8865         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
8866         (_isatty_nothrow): New function.
8867         (isatty): Use it instead of _isatty.
8868         (IsConsoleHandle): Add comment, from Paolo Bonzini.
8869         * lib/poll.c (IsConsoleHandle): Likewise.
8870         * lib/select.c (IsConsoleHandle): Likewise.
8871         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
8872         (gl_PREREQ_ISATTY): New macro.
8873         * modules/isatty (Depends-on): Add msvc-inval.
8874         (configure.ac): Invoke gl_PREREQ_ISATTY.
8875
8876 2012-01-03  Jim Meyering  <meyering@redhat.com>
8877
8878         maint.mk: remove temporary transition aid from over 1.5 years ago
8879         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8880         purpose was to aid in the transition (avoiding silent malfunction)
8881         from that old name to the new _sc_search_regexp.  This shim was
8882         added by commit 219c504b.
8883
8884         init.sh: do not try to accommodate compare arguments starting with "-"
8885         * tests/init.sh (compare_dev_null_): Do not try to accommodate
8886         compare arguments that start with "-".  Besides, we do not worry
8887         about this when invoking diff or cmp; why start now with sed?
8888         Using "--" to separate options from argument would trigger sed
8889         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
8890         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
8891
8892 2012-01-02  Bruno Haible  <bruno@clisp.org>
8893
8894         Enhance tests for module 'isatty'.
8895         * modules/isatty-tests (Depends-on): Add pipe-posix.
8896         * tests/test-isatty.c: Include <fcntl.h>.
8897         (DEV_NULL): New macro.
8898         (main): Test the resut of isatty() also on regular files, pipes, and
8899         /dev/null.
8900
8901         New module 'isatty'.
8902         * lib/unistd.in.h (isatty): New declaration.
8903         * lib/isatty.c: New file, based on an idea of
8904         Bastien Roucariès <roucaries.bastien@gmail.com>.
8905         * m4/isatty.m4: New file.
8906         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
8907         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
8908         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
8909         REPLACE_ISATTY.
8910         * modules/isatty: New file.
8911         * doc/posix-functions/isatty.texi: Mention the new module.
8912         Suggested by Paolo Bonzini.
8913
8914 2012-01-02  Bruno Haible  <bruno@clisp.org>
8915
8916         canonicalize: Tweak 2011-12-29 commit.
8917         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
8918         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
8919
8920 2012-01-02  Jim Meyering  <meyering@redhat.com>
8921
8922         gitlog-to-changelog: describe input syntax in --help output
8923         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
8924
8925         gitlog-to-changelog: fix typo in --help: show backslash before email @
8926         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
8927         in sources, but not in actual output.
8928
8929 2011-12-30  Jim Meyering  <meyering@redhat.com>
8930
8931         gitlog-to-changelog: don't malfunction when name contains %-directive
8932         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
8933         in a name string cause trouble.  E.g., with a user name of "%s",
8934         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
8935
8936 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
8937
8938         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
8939         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
8940         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
8941         the "  (tiny change)" notation that is appended to the standard
8942         ChangeLog "date  name  email" header line.
8943
8944 2012-01-01  Jim Meyering  <meyering@redhat.com>
8945
8946         test-framework-sh: init.sh: fix "make dist" failure
8947         When using gnulib-tool's --with-tests option and any module that
8948         depends on test-framework-sh, "make dist" would fail due to the
8949         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
8950         in the gltests directory, and not in the gllib/ directory.
8951         One way to work around that is to move the EXTRA_DIST += init.sh
8952         from the primary module to the -tests one:
8953         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
8954         * modules/test-framework-sh (Makefile.am): ...not here.
8955         Reported by Tom G. Christensen in
8956         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
8957
8958         version-etc: update copyright year reported by --version
8959         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
8960
8961 2011-12-31  Pádraig Brady  <P@draigBrady.com>
8962
8963         canonicalize: only stat() if required
8964         * lib/canonicalize.c (canonicalize_filename_mode):
8965         Avoid calling l?stat() when both CAN_MISSING,
8966         and CAN_NOLINKS are set, as we neither need
8967         to resolve symlinks or test component existence.
8968
8969 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
8970
8971         doc: cover st_ino issues once; add OpenVMS etc.
8972         * doc/posix-functions/stat.texi (stat):
8973         * doc/posix-functions/lstat.texi (lstat):
8974         * doc/posix-functions/fstatat.texi (fstatat):
8975         * doc/posix-functions/fstat.texi (fstat):
8976         Move general 'struct stat' stuff to sys_stat.texi,
8977         leaving behind a pointer.
8978         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8979         Merge duplicate info about 'struct stat' problems into here.
8980         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
8981         and suggest partial workarounds.
8982
8983         same-inode: port to OpenVMS
8984         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
8985         three st_ino values.
8986
8987 2011-12-30  Pádraig Brady  <P@draigBrady.com>
8988
8989         canonicalize: fix references to stat() and lstat()
8990         * lib/canonicalize.c (canonicalize_filename_mode):
8991         Ensure references always resolve to a replacement
8992         function if required (even via a macro).
8993
8994 2011-12-30  Jim Meyering  <meyering@redhat.com>
8995
8996         gitlog-to-changelog: remove a little duplication
8997         * build-aux/gitlog-to-changelog (main): Grep @lines once,
8998         rather than twice.
8999
9000 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9001
9002         canonicalize: add support for not resolving symlinks
9003         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9004         indicate we don't want to follow symlinks.  Also
9005         provide CAN_MODE_MASK to aid setting these existing
9006         mutually exclusive values.
9007         * lib/canonicalize.c (canonicalize_filename_mode):
9008         Extract the flags from can_mode parameter, which
9009         are currently just used to select between stat()
9010         and lstat().  Also ensure that mutually exclusive
9011         values are flagged immediately as invalid.
9012         * tests/test-canonicalize.c: Verify symlinks are
9013         not followed, and that invalid flag combinations
9014         are diagnosed.
9015
9016 2011-12-25  Jim Meyering  <meyering@redhat.com>
9017
9018         gitlog-to-changelog: do not clump multi-paragraph entries
9019         Identical header lines (date,name,email+coauthors) are suppressed,
9020         thus putting all entries with those same characteristics under
9021         a single header.  However, when a log entry consists of two or
9022         more paragraphs, it may not be clear where it starts and ends.
9023         This change makes it so that such an entry is always separated
9024         from others by a header line, even when that header would
9025         otherwise be suppressed.
9026         * build-aux/gitlog-to-changelog: Implement the above.
9027         Inspired by a related request from Stefano Lattarini in
9028         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9029
9030 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9031
9032         announce-gen: fix `cmd' typo in diagnostic
9033         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9034         diagnostic: a missing '$' meant that the command was not output.
9035
9036 2011-12-23  Jim Meyering  <meyering@redhat.com>
9037
9038         test-framework-sh: distribute init.sh
9039         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9040         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9041         fail due to the lack of init.sh.
9042
9043         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9044         * modules/atexit-tests: Rather than listing tests/init.sh,
9045         now that there's a module for it, simply depend on that new module.
9046         * modules/closein-tests: Likewise.
9047         * modules/exclude-tests: Likewise.
9048         * modules/getcwd-tests: Likewise.
9049         * modules/perror-tests: Likewise.
9050         * modules/pread-tests: Likewise.
9051         * modules/pwrite-tests: Likewise.
9052         * modules/vc-list-files-tests: Likewise.
9053         * modules/verify-tests: Likewise.
9054         * modules/xalloc-die-tests: Likewise.
9055         * modules/xstrtoimax-tests: Likewise.
9056         * modules/xstrtol-tests: Likewise.
9057         * modules/xstrtoll-tests: Likewise.
9058         * modules/xstrtoumax-tests: Likewise.
9059         * modules/yesno-tests: Likewise.
9060
9061 2011-12-22  Jim Meyering  <meyering@redhat.com>
9062
9063         test-framework-sh: add minimal tests of init.sh's compare function
9064         * modules/test-framework-sh-tests: New file.
9065         * tests/test-init.sh: New file.
9066
9067         test-framework-sh: new module
9068         * modules/test-framework-sh: New file.
9069         * MODULES.html.sh (Support for maintaining and releasing projects):
9070         List it.
9071
9072         init.sh: do not emit simulated diff output to stderr
9073         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9074
9075 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9076
9077         .gitignore: ignore gnulib.dvi and regex.info
9078         * doc/.gitignore:add gnulib.dvi and regex.info
9079
9080 2011-12-22  Jim Meyering  <meyering@redhat.com>
9081
9082         init.sh: correct previous change
9083         * tests/init.sh (compare): My previous change was wrong.
9084         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9085
9086         init.sh: avoid unwarranted test failure when using "set -e"
9087         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9088         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9089         a use like "compare exp out" would get evoke an unconditional failure.
9090
9091 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9092
9093         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9094         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9095         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9096         autoreconf that did not.
9097         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9098         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9099
9100 2011-12-17  Jim Meyering  <meyering@redhat.com>
9101
9102         bootstrap: remove some now-unneeded code
9103         This script arose back when gnulib-tool was young.
9104         Since then, it has seen improvements that render much of this
9105         script unnecessary.  In particular, it can now make symlinks
9106         to the files it uses.  Also, I no longer see as much value in
9107         marking files as read-only via comments.
9108         If you relied on the symlink-creation feature of the preceding
9109         version of this script, you can get most of that functionality
9110         by adding the --symlink option to the definition of
9111         gnulib_tool_option_extras in your bootstrap.conf file.
9112         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9113         Run autopoint and libtoolize *before* gnulib-tool.
9114         After it, run an abbreviated autoreconf, rather than a loop around
9115         all tools.
9116         (slirp, bt_mark_as_generated): Remove functions.
9117
9118 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9119
9120         ftoastr: fix typo
9121         * lib/ftoastr.h: Fix misspelling in comment.
9122
9123 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9124
9125         * top/README-release: fix punctuation.
9126
9127 2011-12-17  Jim Meyering  <meyering@redhat.com>
9128
9129         bootstrap: correct the recent buildreq change
9130         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9131         had no effect.
9132         * build-aux/bootstrap (buildreq): Bracket each search term with
9133         "*...*", so that the shell "case" statement works as intended.
9134         Add comments.
9135
9136 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9137
9138         build: let bootstrap resort to wget when downloading .po files
9139         * build-aux/bootstrap (download_po_files): Fallback to wget when
9140         downloading the .po files via rsync fails.  This is necessary to
9141         bootstrap from behind a strict firewall.
9142
9143 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9144
9145         stdint: don't assume C++11 when compiling with g++
9146         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9147         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9148         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9149         work also in C++ before C++11, as that improperly inhibits
9150         generating a substitute stdint.h for that case.
9151
9152 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9153
9154         alloca: protect comment from gnulib-tool
9155         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9156         that gnulib-tool doesn't think it's a license, and munge it to
9157         say "GCC version 3".
9158
9159 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9160
9161         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9162         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9163         $(abs_top_builddir) instead of $(top_builddir).
9164
9165 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9166
9167         strftime-tests: also test nanoseconds
9168         * tests/test-strftime.c (T): Add a test of %N.
9169
9170 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9171
9172         inttypes, stdint: add C++11 support
9173         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9174         when including inttypes.h and stdint.h.  Support this change to
9175         the standard.
9176         * doc/posix-headers/inttypes.texi (inttypes.h):
9177         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9178         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9179         Define if not defined already, for the benefit of pre-C++11 hosts.
9180         Define the standard format macros (e.g., PRId8) always.
9181         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9182         Likewise, if __cpluspus.  Define the standard constant and limit
9183         macros (e.g., INT8_C, INT8_MAX) always.
9184         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9185         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9186         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9187         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9188         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9189         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9190         Likewise.
9191
9192 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9193
9194         nonblocking tests: Fix test failure on Linux/PPC.
9195         Suggested by Prerna Saxena in
9196         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9197         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9198         Set to 1100000.
9199
9200 2011-12-12  Jim Meyering  <meyering@redhat.com>
9201
9202         argmatch: don't hard-code `' when listing valid option arguments
9203         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9204         use the quote function to add quotes.  Use fputs rather than
9205         fprintf for the format string with no format directive.
9206
9207 2011-12-07  Eric Blake  <eblake@redhat.com>
9208
9209         bootstrap: detect tools required by gnulib-tool
9210         * build-aux/bootstrap (buildreq): Provide minimum implicit
9211         dependencies.
9212         * DEPENDENCIES: Mention patch as a prereq.
9213
9214 2011-12-04  Bruno Haible  <bruno@clisp.org>
9215
9216         sethostname: Port to Windows platforms.
9217         * lib/sethostname.c: Provide an alternate implementation for Windows
9218         platforms.
9219         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9220         (main): Skip the test if sethostname() fails with EPERM. On Windows
9221         platforms, don't check the result of gethostname().
9222
9223 2011-12-04  Bruno Haible  <bruno@clisp.org>
9224             Jim Meyering  <meyering@redhat.com>
9225
9226         tests: Avoid spurious error message on platforms without mktemp program.
9227         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9228
9229 2011-12-04  Bruno Haible  <bruno@clisp.org>
9230
9231         sethostname: Fix documentation.
9232         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9233         "not fixed" section.
9234
9235 2011-12-03  Bruno Haible  <bruno@clisp.org>
9236
9237         gnulib-tool: Verify that the License field is present and non-empty.
9238         * gnulib-tool (func_get_license_raw): New function, extracted from
9239         func_get_license.
9240         (func_get_license): Use it. Warn if the module is not a test module and
9241         has no license.
9242         Suggested by Jim Meyering.
9243
9244 2011-12-03  Bruno Haible  <bruno@clisp.org>
9245
9246         sethostname tests: Fix link error on mingw.
9247         * tests/test-sethostname1.c: New file, extracted from
9248         tests/test-sethostname.c.
9249         * tests/test-sethostname2.c: New file, extracted from
9250         tests/test-sethostname.c.
9251         * tests/test-sethostname.c: Remove file.
9252         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9253         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9254         (Depends-on): Add gethostname.
9255         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9256         Link the latter with $(GETHOSTNAME_LIB).
9257
9258         sethostname tests: Fix compilation error on mingw.
9259         * tests/test-sethostname.c: Don't include <sys/types.h>.
9260         (geteuid): Use a dummy value without uid_t.
9261         * modules/sethostname-tests (Depends-on): Remove sys_types.
9262
9263         sethostname tests: Avoid a gcc warning.
9264         * tests/test-sethostname.c (main): Remove an unused variable.
9265
9266         Tweak last commit.
9267         * modules/sethostname-tests (Files): Sort by decreasing importance.
9268         (configure.ac): Check for geteuid.
9269         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9270         the test when there's nothing to test. Drop an unnecessary cast.
9271         Improve an error message. Verify that the final sethostname() call
9272         succeeds.
9273
9274 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9275
9276         Add a test suite for the sethostname module.
9277         * modules/sethostname-tests: New file.  A test program
9278         for the sethostname module.
9279         * tests/test-sethostname.c: Likewise.
9280
9281 2011-12-03  Bruno Haible  <bruno@clisp.org>
9282
9283         Tweak last commit.
9284         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9285         Fix preprocessor directives indentation. Fix typos.
9286         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9287         * modules/unistd (Makefile): Likewise.
9288
9289 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9290
9291         Integrate the sethostname module into unistd.
9292         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9293         into the unistd.h header.
9294         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9295         preprocessor directives.
9296         * modules/unistd: Setup the Makefile substitutions of the
9297         SETHOSTNAME preprocessor directives.
9298
9299 2011-12-03  Bruno Haible  <bruno@clisp.org>
9300
9301         Tweak last commit.
9302         * lib/sethostname.c: Don't include <string.h>.
9303         (sethostname): No need to copy the argument string to the stack. Don't
9304         call clearerr. Preserve errno when fprintf failed.
9305         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9306         Don't invoke AC_REPLACE_FUNCS.
9307         * modules/sethostname (Link): Remove empty section.
9308         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9309         failure problem.
9310
9311 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9312
9313         New module 'sethostname'.
9314         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9315         for systems that lack it.
9316         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9317         sethostname declaration and function.
9318         * modules/sethostname: New file.  Define the sethostname module.
9319
9320 2011-12-03  Bruno Haible  <bruno@clisp.org>
9321
9322         Tweak last commit.
9323         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9324
9325 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9326
9327         Split the HOST_NAME_MAX detection into a separate m4 macro.
9328         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9329         macro so it can be used by the pending sethostname module.
9330
9331 2011-12-03  Bruno Haible  <bruno@clisp.org>
9332
9333         Fix module descriptions syntax.
9334         * modules/argv-iter (License): Fix syntax.
9335         * modules/di-set (License): Likewise.
9336         * modules/ino-map (License): Likewise.
9337         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9338
9339 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9340
9341         stdalign: port to Clang 3.0
9342         Problem reported by Simon Josefsson in
9343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9344         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9345         which has <stdalign.h> but which does not define alignof.
9346         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9347
9348 2011-12-01  Eric Blake  <eblake@redhat.com>
9349
9350         mktempd: silence dd usage
9351         * build-aux/mktempd (rand_bytes): Silence dd.
9352
9353 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9354
9355         manywarnings: Don't mention gcc version in docstring.
9356         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9357         Jim Meyering <meyering@redhat.com>.
9358
9359 2011-11-30  Jim Meyering  <meyering@redhat.com>
9360
9361         hash: mark a few floating point constants with "f" suffix
9362         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9363         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9364         floating point constants with "f", since they're destined to be
9365         saved/used as "float"s.
9366
9367 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9368
9369         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9370         * tests/test-float.c (test_long_double): Correct and re-enable the
9371         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9372
9373 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9374
9375         Avoid subtracting two pointers that don't point into the same block.
9376         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9377         only pointers into the same memory block are subtracted. We cannot
9378         assume that sizeof (ptrdiff_t) == sizeof (void *).
9379
9380 2011-11-29  Eric Blake  <eblake@redhat.com>
9381
9382         maint.mk: add syntax check for use of compare from init.sh
9383         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9384         moved here from coreutils.
9385
9386         manywarnings: drop -Wunsuffixed-float-constants
9387         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9388         '1.0D', which is the only way to silence this warning for 'double'.
9389
9390 2011-11-29  Jim Meyering  <meyering@redhat.com>
9391
9392         hash: mark compute_bucket_size with the pure attribute
9393         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9394
9395         quotearg, propername: correct pragma guard expression
9396         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9397         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9398
9399 2011-11-28  Jim Meyering  <meyering@redhat.com>
9400
9401         propername: do not mark proper_name with the const attribute
9402         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9403         since it examines data pointed to by its parameter.
9404         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9405         the suggestion from -Wsuggest-attribute=const.
9406
9407         propername: mark one more function as const
9408         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9409
9410 2011-11-27  Jim Meyering  <meyering@redhat.com>
9411
9412         mark functions with const and pure attributes
9413
9414         Mark functions per suggestions from gcc-4.6 when using these options:
9415         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9416         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9417         Follow these guidelines: when possible, apply the attribute to
9418         an extern declaration, not to its definition.  Apply it to the
9419         definition only when the definition is static.
9420         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9421         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9422         * lib/base64.h (isbase64): Likewise.
9423         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9424         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9425         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9426         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9427         (c_tolower, c_toupper): Likewise.
9428         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9429         * lib/chdir-long.c (find_non_slash): Likewise.
9430         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9431         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9432         * lib/file-type.h (file_type): Likewise.
9433         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9434         * lib/filevercmp.c (verrevcmp): Likewise.
9435         * lib/freadahead.h (freadahead): Likewise.
9436         * lib/fts.c (fts_maxarglen): Likewise.
9437         * lib/hash-pjw.h (hash_pjw): Likewise.
9438         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9439         * lib/hash.c (is_prime, next_prime): Likewise.
9440         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9441         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9442         (hash_table_ok, hash_get_first, hash_string): Likewise.
9443         (compute_bucket_size): Likewise.
9444         * lib/i-ring.h (i_ring_empty): Likewise.
9445         * lib/isnan.c (isnanl): Likewise.
9446         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9447         * lib/memcasecmp.h (memcasecmp): Likewise.
9448         * lib/memchr2.h (memchr2): Likewise.
9449         * lib/memcmp2.h (memcmp2): Likewise.
9450         * lib/parse-datetime.y (lookup_zone): Likewise.
9451         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9452         [!WINDOWS_SOCKETS]: Likewise.
9453         * lib/strnlen1.h (strnlen1): Likewise.
9454         * lib/uniwidth.in.h (uc_width): Likewise.
9455         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9456         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9457         (quoting_options_from_style): Add a comment.
9458         * lib/propername.h (proper_name): Add a comment.
9459
9460 2011-11-27  Bruno Haible  <bruno@clisp.org>
9461
9462         Remove unused macros from !_LIBC code in glibc-borrowed files.
9463         * lib/fnmatch.c (STRCOLL): Remove macro.
9464         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9465         * lib/glob.c (__stat, __readdir64): Remove macros.
9466         * lib/tempname.c (__open64, __xstat64): Remove macros.
9467         Suggested by Paul Eggert.
9468
9469 2011-11-27  Bruno Haible  <bruno@clisp.org>
9470
9471         getcwd: Fix link error on MSVC 9.
9472         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9473
9474 2011-11-27  Bruno Haible  <bruno@clisp.org>
9475
9476         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9477         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9478         HAVE_OPENDIR is 0.
9479         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9480         HAVE_CLOSEDIR is 0.
9481         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9482         is 0.
9483         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9484
9485 2011-11-27  Bruno Haible  <bruno@clisp.org>
9486
9487         getcwd: Fix bug from 2011-08-17.
9488         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9489         platforms that need it.
9490         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9491         code of 4 to be a failure, not a success. This ensures that
9492         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9493
9494 2011-11-27  Bruno Haible  <bruno@clisp.org>
9495
9496         binary-io tests: Avoid test failure on mingw when libtool is used.
9497         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9498         Don't verify the size of t-bin-out1.tmp here.
9499         * tests/test-binary-io.sh: Verify it here.
9500         Reported by Simon Josefsson.
9501
9502 2011-11-26  Bruno Haible  <bruno@clisp.org>
9503
9504         Fix conflict between two instantiations of module 'unistd'.
9505         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9506         ${include_guard_prefix} also in the autoconf snippet.
9507         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9508         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9509         GNULIB_UNISTD_H_GETOPT.
9510         * modules/getopt-posix (configure.ac): Set the
9511         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9512         * modules/getopt-gnu (configure.ac): Likewise.
9513         * modules/unistd (Makefile.am): Change the substitution value of
9514         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9515         Reported by Simon Josefsson.
9516
9517 2011-11-25  Bruno Haible  <bruno@clisp.org>
9518
9519         pagealign_alloc: Doc and comments.
9520         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9521         module.
9522         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9523
9524 2011-11-25  Jim Meyering  <meyering@redhat.com>
9525
9526         test-update-copyright.sh: avoid false-positive failure
9527         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9528         around false positive failure on Cygwin/Windows.  The latter was
9529         matching erroneously-created files with names like
9530         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9531
9532 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9533
9534         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9535         * m4/valgrind-tests.m4: Check that the parameters that will be
9536         used works, not just a subset of them.  Reported by Bruno Haible
9537         <bruno@clisp.org>.
9538
9539 2011-11-24  Jim Meyering  <meyering@redhat.com>
9540
9541         test-stdalign.c: comment out long double tests
9542         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9543         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9544         error: '_Alignas' specifiers cannot reduce alignment of \
9545         'static_longdouble_alignas'.
9546
9547 2011-11-22  Jim Meyering  <meyering@redhat.com>
9548
9549         init.sh: make "compare /dev/null FILE" output more readable
9550         * tests/init.sh (compare_): Document the preferred order of arguments.
9551         (emit_diff_u_header_): New function.
9552         (compare_dev_null_): Emit a simulated diff, rather than just the
9553         contents of the unexpected file.  Suggestion from Bruno Haible.
9554
9555 2011-11-21  Jim Meyering  <meyering@redhat.com>
9556             Eric Blake  <eblake@redhat.com>
9557
9558         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9559         * tests/init.sh: Make our compare function slightly more portable.
9560         Reported by Bruno Haible in
9561         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9562
9563 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9564
9565         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9566         before using it, in code that ends up in config.h.
9567
9568 2011-11-20  Bruno Haible  <bruno@clisp.org>
9569
9570         getcwd: Work around getcwd bug on AIX 5..7.
9571         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9572         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9573         Use a different value for gl_cv_func_getcwd_path_max. Move the
9574         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9575         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9576         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9577         Define HAVE_MINIMALLY_WORKING_GETCWD.
9578         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9579         where it is not even minimally working, that is, on AIX.
9580         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9581         m4/getcwd-path-max.m4.
9582         (main): Update exit code computation.
9583         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9584         getcwd does not handle long file names.
9585
9586 2011-11-20  Bruno Haible  <bruno@clisp.org>
9587
9588         getcwd: Fix bug from 2009-09-10.
9589         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9590         like "no".
9591
9592 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9593
9594         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9595
9596 2011-11-20  Bruno Haible  <bruno@clisp.org>
9597
9598         fma tests: Avoid shadowing local variables.
9599         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9600         expected.
9601
9602 2011-11-20  Bruno Haible  <bruno@clisp.org>
9603
9604         copysignf tests: Fix.
9605         * tests/test-copysignf.c: Fix signature check.
9606
9607 2011-11-20  Bruno Haible  <bruno@clisp.org>
9608
9609         fma: Remove unused code.
9610         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9611         unused macros.
9612
9613 2011-11-20  Bruno Haible  <bruno@clisp.org>
9614
9615         sethostname: Fix doc about AIX.
9616         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9617         sethostname; it has it.
9618
9619         sethostname: Mention more portability problems.
9620         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9621         problem.
9622         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9623
9624 2011-11-19  Bruno Haible  <bruno@clisp.org>
9625
9626         Depend on module fcntl-h when AT_FDCWD is used.
9627         * modules/utimens (Depends-on): Add fcntl-h.
9628         * modules/areadlinkat (Depends-on): Likewise.
9629         * modules/areadlinkat-with-size (Depends-on): Likewise.
9630         * modules/faccessat (Depends-on): Likewise.
9631         * modules/fchmodat (Depends-on): Likewise.
9632         * modules/fchownat (Depends-on): Likewise.
9633         * modules/getcwd (Depends-on): Likewise.
9634         * modules/mkdirat (Depends-on): Likewise.
9635         * modules/mkfifoat (Depends-on): Likewise.
9636         * modules/readlinkat (Depends-on): Likewise.
9637         * modules/symlinkat (Depends-on): Likewise.
9638         * modules/dup2-tests (Depends-on): Likewise.
9639         * modules/fdutimensat-tests (Depends-on): Likewise.
9640         * modules/futimens-tests (Depends-on): Likewise.
9641
9642 2011-11-19  Bruno Haible  <bruno@clisp.org>
9643
9644         euidaccess: Update a comment.
9645         * lib/euidaccess.c: Update comment about platforms with faccessat.
9646
9647 2011-11-19  Bruno Haible  <bruno@clisp.org>
9648
9649         openat: Fix file list.
9650         * modules/openat (Files): Remove lib/at-func.c.
9651
9652 2011-11-19  Bruno Haible  <bruno@clisp.org>
9653
9654         fstatat: Simplify.
9655         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9656         gnulib should define rpl_fstatat, there is a
9657         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9658
9659 2011-11-19  Bruno Haible  <bruno@clisp.org>
9660
9661         Ensure 'inline' can be used in tests/test-utimens-common.h.
9662         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9663         * modules/futimens-tests (configure.ac): Likewise.
9664         * modules/utimens-tests (configure.ac): Likewise.
9665         * modules/utimensat-tests (configure.ac): Likewise.
9666
9667 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9668
9669         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9670         not hash_insert0.
9671         (hash_insert_if_absent): Doc fix.
9672
9673 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9674
9675         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9676
9677 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9678
9679         test-getcwd: disambiguate exit status
9680         * tests/test-getcwd.c (test_long_name): Return 0..7.
9681         (main): Exit with an unambiguous exit status.  The old
9682         code yielded a mysterious mixture of two failure codes.
9683
9684         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9685         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9686         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9687         rpl_fstatat or fstatat.  This should fix the other problem
9688         reported by Kai Habel in
9689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9690         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9692         and I reproduced it on a Solaris 8 host we still have in production.
9693
9694 2011-11-18  Jim Meyering  <meyering@redhat.com>
9695
9696         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9697         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9698         Add a sentence to the comment.
9699         (hash_insert0): New function that simply calls hash_insert_if_absent.
9700         * lib/hash.h (hash_insert_if_absent): Declare it.
9701         (hash_insert0): Add deprecation attribute.
9702         (_GL_ATTRIBUTE_DEPRECATED): Define.
9703         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9704         not hash_insert0.
9705         * NEWS: Mention it, even though it's not really an incompatible change.
9706
9707 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9708
9709         openat: avoid compilation failure due to lack of <errno.h> inclusion
9710         * lib/openat.c: Include <errno.h>.
9711
9712 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9713
9714         * modules/getcwd (Depends-on): Add fdopendir.
9715         This fixes one of the two problems reported by Kai Habel in
9716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9717
9718         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
9719         stdalign problem reported by Ian Beckwith in
9720         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
9721         * modules/crypto/gc-arcfour (Depends-on):
9722         Depend conditionally on crypto/arcfour.
9723         * modules/crypto/gc-arctwo (Depends-on):
9724         Depend conditionally on crypto/arctwo.
9725         * modules/crypto/gc-des (Depends-on):
9726         Depend conditionally on crypto/des.
9727         * modules/crypto/gc-hmac-md5 (Depends-on):
9728         Depend conditionally on crypto/hmac-md5.
9729         * modules/crypto/gc-hmac-sha1 (Depends-on):
9730         Depend conditionally on crypto/hmac-sha1.
9731         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
9732         * modules/crypto/gc-md4 (Depends-on):
9733         Depend conditionally on crypto/md4.
9734         * modules/crypto/gc-md5 (Depends-on):
9735         Depend conditionally on crypto/md5.
9736         * modules/crypto/gc-rijndael (Depends-on):
9737         Depend conditionally on crypto/rijndael.
9738         * modules/crypto/gc-sha1 (Depends-on):
9739         Depend conditionally on crypto/sha1.
9740         * modules/crypto/gc-arcfour:
9741         * modules/crypto/gc-arctwo:
9742         * modules/crypto/gc-des:
9743         * modules/crypto/gc-hmac-md5:
9744         * modules/crypto/gc-hmac-sha1:
9745         * modules/crypto/gc-md2:
9746         * modules/crypto/gc-md4:
9747         * modules/crypto/gc-md5:
9748         * modules/crypto/gc-rijndael:
9749         * modules/crypto/gc-sha1:
9750         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
9751         now that the conditional dependencies do the work for us.
9752
9753 2011-11-17  Jim Meyering  <meyering@redhat.com>
9754
9755         tests: factor st_ctime-comparison out of two headers
9756         * tests/test-utimens-common.h (ctime_compare): Define.
9757         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
9758         * tests/test-lutimens.h (test_lutimens): Likewise.
9759         * tests/test-utimens.h (test_utimens): Likewise.
9760
9761         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
9762         Invoke the test program via an init.sh-using wrapper.
9763         * tests/test-getcwd.sh: New file.
9764         * modules/getcwd-tests (Files): Add it.
9765         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
9766
9767 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
9768
9769         gitlog-to-changelog: support multi-author commits.
9770         The FSF cares about keeping track of all authors of patches to its
9771         projects, but Git doesn't provide obvious support for multi-author
9772         changesets. Consensus seems to be forming around the use of extra
9773         Signed-off-by inspired lines in the log message formatted as
9774         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
9775         multi-author commits between version control systems.
9776         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
9777         log message and output in standard ChangeLog multi-author format.
9778         Reported by Peter Rosin <peda@lysator.liu.se>
9779
9780 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
9781             Bruno Haible  <bruno@clisp.org>
9782
9783         Fix some modules' file list.
9784         * modules/fstatat (Files): Add m4/lstat.m4.
9785         * modules/openat (Files): Likewise.
9786         * modules/unlinkat (Files): Likewise.
9787
9788 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
9789
9790         maint.mk: fix tight-scope.mk generation in VPATH builds.
9791         * top/maint.mk (tight-scope.mk): Make sure to prefix file
9792         reference with $(srcdir) so that the file is found correctly even
9793         when running `make syntax-check' in a VPATH build.
9794
9795 2011-11-13  Bruno Haible  <bruno@clisp.org>
9796             Jim Meyering  <meyering@redhat.com>
9797
9798         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
9799         * tests/init.sh (compare): Remove "No differences encountered" or
9800         synonymous output from the 'diff' program.
9801
9802 2011-11-13  Bruno Haible  <bruno@clisp.org>
9803
9804         Makefile: Tweak indentation.
9805         * Makefile: Use tab as first character in every line that contains rule
9806         commands.
9807
9808 2011-11-13  Bruno Haible  <bruno@clisp.org>
9809
9810         Syntax check for copyright statements.
9811         * check-copyright: New file.
9812         * Makefile (sc_check_copyright): New rule.
9813
9814 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9815
9816         * build-aux/git-version-gen: Add --prefix to configure the tag
9817         match string.
9818
9819 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9820
9821         * build-aux/git-version-gen: Add --help and --version.
9822
9823 2011-11-12  Jim Meyering  <meyering@redhat.com>
9824
9825         revamp the other test-exclude?.sh scripts to use init.sh, too
9826         * tests/test-exclude1.sh: Use init.sh.
9827         * tests/test-exclude2.sh: Likewise.
9828         * tests/test-exclude3.sh: Likewise.
9829         * tests/test-exclude4.sh: Likewise.
9830         * tests/test-exclude5.sh: Likewise.
9831         * tests/test-exclude6.sh: Likewise.
9832         * tests/test-exclude7.sh: Likewise.
9833         * tests/test-exclude8.sh: Likewise.
9834         * modules/exclude-tests (Files): List init.sh.
9835
9836         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
9837         These shell scripts ignored failure of the binary test-exclude,
9838         so making the latter return 77 didn't cause them to be skipped.
9839         * tests/test-exclude5.sh: Exit with test-exclude's error status
9840         when that program fails.  Revamp to use init.sh.
9841         * tests/test-exclude2.sh: Likewise.
9842
9843         test-exclude: fix a typo
9844         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
9845
9846 2011-11-11  Bruno Haible  <bruno@clisp.org>
9847
9848         obstack: Fix compilation error on MSVC 9.
9849         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
9850
9851 2011-11-11  Jim Meyering  <meyering@redhat.com>
9852
9853         test-exclude: skip tests rather than failing on deficient systems
9854         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
9855         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
9856         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
9857         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
9858
9859 2011-11-10  Bruno Haible  <bruno@clisp.org>
9860
9861         ptsname_r test: Avoid gcc warning on glibc systems.
9862         * tests/test-ptsname_r.c (null_ptr): New function.
9863         (test_errors): Use it.
9864
9865 2011-11-10  Bruno Haible  <bruno@clisp.org>
9866
9867         ptsname_r: Avoid compilation error on OSF/1 5.1.
9868         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
9869         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
9870         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
9871         function is not declared or incompatibly declared.
9872         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
9873         * modules/ptsname_r (Depends-on, configure.ac): Update.
9874         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9875
9876 2011-11-10  Bruno Haible  <bruno@clisp.org>
9877
9878         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9879         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9880         When cross-compiling, guess yes on all platforms except AIX.
9881         Reported by Ludovic Courtès <ludo@gnu.org>.
9882
9883 2011-11-09  Bruno Haible  <bruno@clisp.org>
9884
9885         ptsname_r tests: Fix bugs.
9886         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
9887         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
9888
9889 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9890
9891         fstatat: work with cross-compilation
9892         Problem reported by Ludovic Courtès in
9893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
9894         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
9895         "cross-compiling" and assume the bug is present.  Replace
9896         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
9897         an inverted sense, to be more conservative about our assumptions.
9898         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
9899
9900 2011-11-09  Bruno Haible  <bruno@clisp.org>
9901
9902         Improve MODULES.html output.
9903         * modules/mkfifoat (Description): Use the word "function".
9904         * modules/readlinkat (Description): Likewise.
9905         * modules/symlinkat (Description): Likewise.
9906
9907 2011-11-09  Eric Blake  <eblake@redhat.com>
9908
9909         ptsname_r-tests: new test module
9910         * modules/ptsname_r-tests: New module.
9911         * tests/test-ptsname_r.c: New file.
9912
9913         ptsname_r: new module
9914         * modules/ptsname_r: New module.
9915         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
9916         * lib/ptsname.c (__ptsname_r): Split...
9917         * lib/ptsname_r.c: ...into new file.
9918         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9919         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
9920         * modules/stdlib (Makefile.am): Substitute witnesses.
9921         * lib/stdlib.in.h (ptsname_r): Declare it.
9922         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
9923         * MODULES.html.sh (Misc): Likewise.
9924         * modules/ptsname (Depends-on): Alter dependency.
9925         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
9926
9927 2011-11-09  Jim Meyering  <meyering@redhat.com>
9928
9929         announce-gen: be more concise when there's only one URL+tarball
9930         * build-aux/announce-gen (get_tool_versions): When you distribute
9931         only one type of tarball, combine the first two "Here are..."
9932         sections and make the key-checking grammar independent of
9933         how many tarballs there are.
9934
9935 2011-11-09  Eric Blake  <eblake@redhat.com>
9936
9937         openpty: provide a stub on mingw
9938         * lib/pty.in.h (includes): Provide forward declarations.
9939         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
9940
9941         raise: fix mingw handling of SIGPIPE
9942         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
9943
9944 2011-11-08  Bruno Haible  <bruno@clisp.org>
9945
9946         More conditional dependencies.
9947         * modules/faccessat (Depends-on): Add conditions.
9948         * modules/fchmodat (Depends-on): Likewise.
9949         * modules/fchownat (Depends-on): Likewise.
9950         * modules/fstatat (Depends-on): Likewise.
9951         * modules/mkfifoat (Depends-on): Likewise.
9952         * modules/readlinkat (Depends-on): Likewise.
9953         * modules/symlinkat (Depends-on): Likewise.
9954         * modules/unlinkat (Depends-on): Likewise.
9955         * modules/utimensat (Depends-on): Likewise.
9956         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
9957         * modules/linkat (Depends-on): Refine the conditions.
9958         * modules/renameat (Depends-on): Likewise.
9959
9960 2011-11-08  Bruno Haible  <bruno@clisp.org>
9961
9962         faccessat: Move AC_LIBOBJ invocation to module description.
9963         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
9964         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
9965         invocation from here...
9966         * modules/faccessat (configure.ac): ... to here. Invoke
9967         gl_PREREQ_FACCESSAT.
9968
9969 2011-11-08  Bruno Haible  <bruno@clisp.org>
9970
9971         faccessat: Simplify autoconf macro.
9972         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
9973         gl_FUNC_EUIDACCESS.
9974
9975 2011-11-08  Bruno Haible  <bruno@clisp.org>
9976
9977         renameat: Fix dependencies.
9978         * modules/renameat (Depends-on): Add stdbool.
9979
9980 2011-11-08  Bruno Haible  <bruno@clisp.org>
9981
9982         mkfifoat: Fix module description.
9983         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
9984         not gl_UNISTD_MODULE_INDICATOR.
9985
9986 2011-11-08  Bruno Haible  <bruno@clisp.org>
9987
9988         fstatat: Remove unused dependency.
9989         * modules/fstatat (Depends-on): Remove fstat.
9990
9991 2011-11-08  Simon Josefsson  <simon@josefsson.org>
9992
9993         GNUmakefile: behave when Makefile is missing.
9994         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
9995
9996 2011-11-08  Bruno Haible  <bruno@clisp.org>
9997
9998         openat: Conditionalize dependencies.
9999         * lib/openat.c: Reduce the scope of some #includes.
10000         * modules/openat (Depends-on): Add conditions.
10001
10002 2011-11-07  Jim Meyering  <meyering@redhat.com>
10003
10004         maint.mk: extract GPG key ID without using a temporary file
10005         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10006         without using a temporary file.  Based on a suggestion from Werner Koch
10007         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10008
10009 2011-11-07  Eric Blake  <eblake@redhat.com>
10010
10011         grantpt: fix typo
10012         * lib/stdlib.in.h (grantpt): Check correct function.
10013
10014         maint.mk: silence new syntax check
10015         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10016
10017 2011-11-06  Bruno Haible  <bruno@clisp.org>
10018
10019         Doc about floating-point and math API.
10020         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10021         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10022
10023 2011-11-06  Bruno Haible  <bruno@clisp.org>
10024
10025         stdalign tests: Skip the test when compiled by Sun C.
10026         * tests/test-stdalign.c (main): Skip the test on Sun C.
10027
10028 2011-11-06  Bruno Haible  <bruno@clisp.org>
10029
10030         ansi-c++-opt: Complete the 2011-06-05 change.
10031         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10032         does not support namespaces, set the variable to "no", not to ":".
10033
10034 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10035
10036         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10037
10038 2011-11-06  Bruno Haible  <bruno@clisp.org>
10039
10040         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10041         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10042         (minus_zerol) [HP-UX]: New macro.
10043         (unary_minus) [HP-UX]: New function.
10044         (copysignl) [HP-UX]: Use unary_minus function.
10045
10046 2011-11-06  Bruno Haible  <bruno@clisp.org>
10047
10048         ldexp, ldexpf, ldexpl: Enhance tests.
10049         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10050         and tests/test-ldexpl.c.
10051         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10052         LDEXP, MIN_EXP, MAX_EXP): New macros.
10053         Include test-ldexp.h.
10054         (main): Just call test_function.
10055         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10056         infinity.h, nan.h.
10057         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10058         MAX_EXP): New macros.
10059         Include test-ldexp.h.
10060         (x, y): Remove variables.
10061         (main): Just call test_function.
10062         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10063         infinity.h, nan.h.
10064         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10065         MAX_EXP): New macros.
10066         Include test-ldexp.h.
10067         (x, y): Remove variables.
10068         (main): Just call test_function.
10069         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10070         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10071         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10072         (Depends-on): Add isnand-nolibm, signbit, float.
10073         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10074         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10075         (Depends-on): Add isnanf-nolibm, signbit, float.
10076
10077 2011-11-06  Bruno Haible  <bruno@clisp.org>
10078
10079         math tests: Cosmetics.
10080         * tests/test-math-c++.cc: Reorder declarations.
10081
10082 2011-11-05  Bruno Haible  <bruno@clisp.org>
10083
10084         fma*: Simplify test.
10085         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10086         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10087
10088         Tests for module 'fmal'.
10089         * modules/fmal-tests: New file.
10090         * tests/test-fmal1.c: New file.
10091         * tests/test-fmal2.c: New file.
10092
10093         New module 'fmal'.
10094         * lib/math.in.h (fmal): New declaration.
10095         * lib/fmal.c: New file.
10096         * m4/fmal.m4: New file.
10097         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10099         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10100         REPLACE_FMAL.
10101         * modules/fmal: New file.
10102         * doc/posix-functions/fmal.texi: Mention the new module and the various
10103         bugs.
10104
10105         Tests for module 'fmaf'.
10106         * modules/fmaf-tests: New file.
10107         * tests/test-fmaf1.c: New file.
10108         * tests/test-fmaf2.c: New file.
10109
10110         New module 'fmaf'.
10111         * lib/math.in.h (fmaf): New declaration.
10112         * lib/fmaf.c: New file.
10113         * m4/fmaf.m4: New file.
10114         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10116         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10117         REPLACE_FMAF.
10118         * modules/fmaf: New file.
10119         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10120         bugs.
10121
10122         Tests for module 'fma'.
10123         * modules/fma-tests: New file.
10124         * tests/test-fma1.c: New file.
10125         * tests/test-fma1.h: New file.
10126         * tests/test-fma2.c: New file.
10127         * tests/test-fma2.h: New file.
10128
10129         New module 'fma'.
10130         * lib/math.in.h (fma): New declaration.
10131         * lib/fma.c: New file.
10132         * m4/fma.m4: New file.
10133         * m4/fegetround.m4: New file.
10134         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10135         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10136         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10137         REPLACE_FMA.
10138         * modules/fma: New file.
10139         * doc/posix-functions/fma.texi: Mention the new module and the various
10140         bugs.
10141
10142         Extend gl_MATHFUNC.
10143         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10144         Support 'void' as argument type.
10145         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10146
10147 2011-11-05  Jim Meyering  <meyering@redhat.com>
10148
10149         maint.mk: also prohibit inclusion of dirent.h without use
10150         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10151
10152 2011-11-05  Bruno Haible  <bruno@clisp.org>
10153
10154         ldexpl tests: Avoid test failure on MSVC 9.
10155         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10156         value. Needed in order to enforce the conversion from a value greater
10157         than LDBL_MAX to Infinity.
10158
10159 2011-11-05  Bruno Haible  <bruno@clisp.org>
10160
10161         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10162         * modules/at-internal: New file, extracted from modules/openat.
10163         * modules/openat-h: New file.
10164         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10165         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10166         * modules/openat (Description): Add reference to POSIX function.
10167         (Files): Remove lib/openat.h, lib/openat-proc.c.
10168         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10169         intprops, unistd.
10170         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10171         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10172         gl_FCNTL_MODULE_INDICATOR.
10173         (Include): Remove unistd.h, openat.h.
10174         * modules/areadlinkat (Files): Add lib/at-func.c.
10175         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10176         openat-die, openat-h, save-cwd.
10177         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10178         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10179         openat-die, openat-h, save-cwd, unistd.
10180         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10181         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10182         openat-h, save-cwd. Remove fcntl-h, openat.
10183         * modules/fchmodat (Files): Remove lib/openat.h.
10184         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10185         openat, stdbool, unistd.
10186         * modules/fchownat (Files): Remove lib/openat.h.
10187         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10188         openat, stdbool, sys_stat.
10189         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10190         lib/openat-proc.c.
10191         (Depends-on): Add at-internal.
10192         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10193         * modules/fstatat (Files): Remove lib/openat.h.
10194         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10195         stdbool, unistd.
10196         * modules/fts (Depends-on): Add openat-h.
10197         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10198         openat.
10199         * modules/mkdirat (Files): Remove lib/openat.h.
10200         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10201         openat, stdbool, sys_stat.
10202         * modules/mkfifoat (Files): Add lib/at-func.c.
10203         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10204         openat-h, save-cwd. Remove fcntl-h, openat.
10205         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10206         * modules/readlinkat (Files): Add lib/at-func.c.
10207         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10208         openat-h, save-cwd. Remove fcntl-h, openat.
10209         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10210         openat.
10211         * modules/selinux-at (Files): Add lib/at-func.c.
10212         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10213         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10214         * modules/symlinkat (Files): Add lib/at-func.c.
10215         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10216         openat-h, save-cwd. Remove fcntl-h, openat.
10217         * modules/unlinkat (Files): Remove lib/openat.h.
10218         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10219         stdbool.
10220         * modules/utimensat (Files): Add lib/at-func.c.
10221         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10222         openat-die, openat-h, save-cwd.
10223         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10224         * modules/fdutimensat-tests (Depends-on): Add openat.
10225         * modules/fstatat-tests (Depends-on): Add openat-h.
10226         * modules/readlinkat-tests (Depends-on): Add openat.
10227         * modules/symlinkat-tests (Depends-on): Add openat.
10228
10229 2011-11-05  Bruno Haible  <bruno@clisp.org>
10230
10231         openat: Include <stdbool.h>.
10232         * lib/openat.c: Include <stdbool.h>.
10233
10234 2011-11-04  Bruno Haible  <bruno@clisp.org>
10235
10236         fchownat, renameat, unlinkat: Fix dependencies.
10237         * modules/fchownat (Depends-on): Add fstatat.
10238         * modules/renameat (Depends-on): Likewise.
10239         * modules/unlinkat (Depends-on): Likewise.
10240
10241 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10242
10243         openat: remove direct dependency on dirent
10244         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10245         and hasn't been needed ever since fdopendir was split into its own
10246         module on 2009-08-31.
10247         * modules/openat (Depends-on): Remove dirent.
10248
10249 2011-11-04  Bruno Haible  <bruno@clisp.org>
10250
10251         renameat: Optimize code size.
10252         * modules/renameat (configure.ac): Don't compile at-func2.c if
10253         REPLACE_RENAMEAT is 1.
10254
10255 2011-11-04  Bruno Haible  <bruno@clisp.org>
10256
10257         openat tests: Fix file list.
10258         * modules/openat-tests (Files): Add tests/test-open.h.
10259
10260 2011-11-04  Bruno Haible  <bruno@clisp.org>
10261
10262         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10263         * modules/fchmodat (Depends-on): Add openat-die.
10264         * modules/fchownat (Depends-on): Likewise.
10265         * modules/linkat (Depends-on): Likewise.
10266         * modules/renameat (Depends-on): Likewise.
10267         * modules/openat (Depends-on): Add dirent.
10268
10269 2011-11-04  Jim Meyering  <meyering@redhat.com>
10270
10271         at-func*.c: fix comments
10272         * lib/at-func2.c: Correct/improve first-line comment.
10273         * lib/at-func.c: Correct grammar in first-line comment.
10274
10275 2011-11-04  Bruno Haible  <bruno@clisp.org>
10276
10277         New module 'mkdirat', split off from module 'openat'.
10278         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10279         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10280         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10281         * modules/mkdirat: New file, extracted from modules/openat.
10282         * modules/openat (Files): Remove lib/mkdirat.c.
10283         (Depends-on): Remove mkdir.
10284         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10285         (Include): Remove <sys/stat.h>.
10286         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10287         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10288         tests/test-mkdir.h.
10289         (Depends-on): Remove ignore-value.
10290         (Makefile.am): Remove rules for test-mkdirat.
10291         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10292         of module 'openat'.
10293         * NEWS: Mention the change.
10294
10295 2011-11-04  Bruno Haible  <bruno@clisp.org>
10296
10297         closedir: Avoid warning on mingw.
10298         * lib/closedir.c: Include <unistd.h>.
10299
10300 2011-11-04  Bruno Haible  <bruno@clisp.org>
10301
10302         New module 'fstatat', split off from module 'openat'.
10303         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10304         defined.
10305         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10306         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10307         gl_FUNC_FSTATAT.
10308         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10309         * modules/fstatat: New file, extracted from modules/openat.
10310         * modules/openat (Files): Remove lib/fstatat.c.
10311         (Depends-on): Remove lstat.
10312         (configure.ac): Remove AC_LIBOBJ of fstatat.
10313         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10314         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10315         tests/test-lstat.h, tests/test-stat.h.
10316         (Depends-on): Remove getcwd-lgpl.
10317         (Makefile.am): Remove rules for test-fstatat.
10318         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10319         of module 'openat'.
10320         * NEWS: Mention the change.
10321         * modules/getcwd (Depends-on): Add fstatat.
10322         * modules/linkat (Depends-on): Likewise.
10323         * modules/mkfifoat-tests (Depends-on): Likewise.
10324         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10325
10326 2011-11-03  Bruno Haible  <bruno@clisp.org>
10327
10328         New module 'unlinkat', split off from module 'openat'.
10329         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10330         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10331         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10332         * modules/unlinkat: New file, extracted from modules/openat. Correct
10333         the dependency conditions.
10334         * modules/openat (Files): Remove lib/unlinkat.c.
10335         (Depends-on): Remove rmdir, unlink.
10336         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10337         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10338         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10339         tests/test-rmdir.h, tests/test-unlink.h.
10340         (Depends-on): Remove unlinkdir.
10341         (Makefile.am): Remove rules for test-unlinkat.
10342         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10343         of module 'openat'.
10344         * NEWS: Mention the change.
10345         * modules/linkat-tests (Depends-on): Add unlinkat.
10346         * modules/mkfifoat-tests (Depends-on): Likewise.
10347         * modules/readlinkat-tests (Depends-on): Likewise.
10348
10349 2011-11-02  Bruno Haible  <bruno@clisp.org>
10350
10351         New module 'fchmodat', split off from module 'openat'.
10352         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10353         defined.
10354         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10355         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10356         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10357         * modules/fchmodat: New file, extracted from modules/openat.
10358         * modules/openat (Files): Remove lib/fchmodat.c.
10359         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10360         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10361         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10362         (Makefile.am): Remove rules for test-fchmodat.
10363         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10364         of module 'openat'.
10365         * NEWS: Mention the change.
10366
10367 2011-11-02  Jim Meyering  <meyering@redhat.com>
10368
10369         putenv: indent #definition of "environ" to placate cppi
10370         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10371
10372         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10373         Git logs are often treated as immutable, because editing them
10374         changes the SHA1 checksums of all descendants.  Thus, errors in
10375         git logs tend to stay there forever.  However, when we generate
10376         a ChangeLog file -- typically for distribution -- from that git log,
10377         we can actually make corrections in the generated file.  The key
10378         lies in recording in machine-readable/applicable form the desired
10379         corrections.  See --help for description and an example.
10380         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10381         (usage): Describe it; alphabetize option descriptions.
10382         (main): Honor the new option, carefully.
10383
10384 2011-11-01  Jim Meyering  <meyering@redhat.com>
10385
10386         gitlog-to-changelog: avoid an infloop
10387         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10388         that ends up being empty.
10389
10390 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10391
10392         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10393         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10394         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10395         contains (possibly-quoted) backslashes.  This should avoid
10396         all-too-common shell bugs if COMPLICATED contains backslashes in
10397         the "wrong" places.  Reported by David Evans in
10398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10399         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10400         because we want ASCII ranges.  Is there some reason we don't use
10401         the C locale everywhere in this script?
10402         (func_module, top level): Avoid unwanted pathname expansion when
10403         $repo_url_prefix or $repo_url_suffix_repl contain shell
10404         metacharacters like '?' and '*'.
10405
10406 2011-11-01  Bruno Haible  <bruno@clisp.org>
10407
10408         fchownat: Improve description.
10409         * modules/fchownat (Description): Add link to function.
10410
10411 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10412
10413         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10414         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10415         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10416         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10417
10418 2011-11-01  Bruno Haible  <bruno@clisp.org>
10419
10420         alignof: Avoid collision with stdalign module.
10421         * lib/alignof.h (alignof): Remove macro.
10422         * NEWS: Mention the change.
10423         Reported by Paul Eggert.
10424
10425 2011-11-01  Bruno Haible  <bruno@clisp.org>
10426
10427         New module 'fchownat', split off from module 'openat'.
10428         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10429         defined.
10430         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10431         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10432         invoke gl_FUNC_FCHOWNAT.
10433         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10434         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10435         * modules/fchownat: New file, extracted from modules/openat.
10436         * modules/openat (Files): Remove lib/fchownat.c.
10437         (Depends-on): Remove lchown.
10438         (configure.ac): Remove AC_LIBOBJ of fchownat.
10439         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10440         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10441         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10442         (Depends-on): Remove mgetgroups, usleep, stat-time.
10443         (configure.ac): Remove test for getegid.
10444         (Makefile.am): Remove rules for test-fchownat.
10445         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10446         of module 'openat'.
10447         * NEWS: Mention the change.
10448
10449 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10450
10451         stdalign: port better to MSVC and to Sun C 5.11
10452         This fixes some of the problems reported by Bruno Haible in
10453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10454         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10455         shortcomings of MSVC and of Sun C 5.11.
10456         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10457         around __declspec arg.
10458         * modules/stdalign-tests (Files): Add tests/macros.h.
10459         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10460         Include macros.h, for ASSERT.
10461         (DECLARE_ALIGNED): Remove.
10462         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10463         to catch bug), and to 1 if not (simplifies the rest of the code).
10464         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10465         (CHECK_AUTO): Remove.
10466         (CHECK_ALIGNED): Check only the alignment of the static vars,
10467         since auto var alignment isn't supported by Sun C 5.11.
10468         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10469         ASSERT failures are easier to diagnose.
10470
10471 2011-10-31  Bruno Haible  <bruno@clisp.org>
10472
10473         doc about some IRIX 5.3 problems.
10474         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10475         on IRIX 5.3.
10476         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10477         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10478         5.3.
10479         * doc/posix-functions/grantpt.texi: Likewise.
10480         * doc/posix-functions/unlockpt.texi: Likewise.
10481         * doc/posix-functions/lgamma.texi: Likewise.
10482         * doc/posix-functions/nextafter.texi: Likewise.
10483         * doc/posix-functions/remainder.texi: Likewise.
10484         * doc/posix-functions/select.texi: Mention misplaced declaration on
10485         IRIX 5.3.
10486         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10487
10488 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10489
10490         gitlog-to-changelog: fix git-log invocation.
10491         git-log mishandles date strings before 1970-01-01 UTC, and there is
10492         no use to specify --since=1970-01-01 by default anyway.
10493         * build-aux/gitlog-to-changelog: By default, when no --since option
10494         was given, do not specify explicit --since option to git-log.
10495
10496 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10497
10498         gitlog-to-changelog: new option --append-dot.
10499         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10500         first non-blank line of each commit message terminated with a dot.
10501
10502 2011-10-30  Bruno Haible  <bruno@clisp.org>
10503
10504         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10505         * lib/ffsl.h: Include <config.h>.
10506         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10507
10508 2011-10-30  Jim Meyering  <meyering@redhat.com>
10509
10510         GNUmakefile: reenable "make syntax-check" for most projects
10511         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10512         build-aux variable", "syntax-check" would do nothing but succeed with
10513         the "No version control files detected..." diagnostic (unless you
10514         happened to override _build-aux via cfg.mk).
10515         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10516         to precede inclusion of maint.mk.  Otherwise, these variables would
10517         be used undefined in any project that does not override the default.
10518
10519 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10520
10521         gitlog-to-changelog: treat a message with only blank lines as empty.
10522         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10523         trailing blank lines before the code that issues a warning about an
10524         empty commit message.
10525
10526 2011-10-30  Jim Meyering  <meyering@redhat.com>
10527
10528         test-parse-datetime.c: avoid new DST-related false positive test failure
10529         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10530         based on the time/date we'll convert, not the current time.
10531         Otherwise, the moment we cross a DST boundary like today's in
10532         Europe, (CEST to CET), that offset ends up being one hour off.
10533
10534 2011-10-27  Bruno Haible  <bruno@clisp.org>
10535
10536         fstat: Tweak documentation.
10537         * modules/fstat (Description): More precise description.
10538
10539 2011-10-27  Bruno Haible  <bruno@clisp.org>
10540
10541         Update documentation regarding 'largefile' module.
10542         * doc/posix-functions/fstat.texi: Tweak wording.
10543         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10544         problems with huge directories and/or small ino_t types.
10545         * doc/posix-functions/readdir.texi: Likewise.
10546         * doc/posix-functions/rewinddir.texi: Likewise.
10547
10548 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10549
10550         maint.mk: don't maintain a second build-aux variable.
10551         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10552         depends on GNUmakefile, which already maintains a cfg.mk
10553         overridable $(_build-aux) for projects with a non-standard
10554         build-aux directory location, although without the $(srcdir)
10555         prefix.  Use that variable consistently instead of introducing a
10556         second one.  Adjust all call sites.
10557
10558 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10559
10560         Add stdalign module and use it in other modules.
10561         This is based on a previous proposal by Bruno Haible
10562         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10563
10564         stdalign: new module
10565         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10566         * modules/stdalign: New files.
10567         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10568         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10569
10570         stdalign-tests: new module
10571         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10572
10573         argp: use stdalign
10574         * lib/argp-parse.c: Include <stdalign.h>.
10575         (alignof): Remove.
10576         * modules/argp (Depends-on): Add stdalign.
10577
10578         crypto libraries: use stdalign
10579         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10580         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10581         Do not include <stdlib.h> twice, in md4.c.
10582         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10583         because we are accessing a pointer's bit-pattern, not a size.
10584         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10585         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10586         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10587         * modules/crypto/sha512: Likewise.
10588
10589         sys_socket: use stdalign, not alignof
10590         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10591         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10592
10593 2011-10-27  Bruno Haible  <bruno@clisp.org>
10594
10595         raise test: Avoid a test failure on Linux/MIPS.
10596         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10597         because 99 is a valid signal on Linux/MIPS.
10598
10599 2011-10-27  Bruno Haible  <bruno@clisp.org>
10600
10601         nonblocking tests: Fix test failure on Linux/MIPS.
10602         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10603         Set to 270000.
10604
10605 2011-10-27  Bruno Haible  <bruno@clisp.org>
10606
10607         utimensat: Work around problem on Linux/hppa.
10608         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10609         values.
10610         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10611
10612 2011-10-25  Jim Meyering  <meyering@redhat.com>
10613
10614         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10615         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10616         after symbols like NULL, size_t, etc.
10617         Reported by Alfred M. Szmidt.
10618
10619         maint.mk: exempt ENODATA from a syntax-check rule
10620         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10621         from the sc_prohibit_always-defined_macros syntax-check rule.
10622         Add a comment.  See this for more details:
10623         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10624
10625 2011-10-23  Jim Meyering  <meyering@redhat.com>
10626
10627         fts: close parent dir FD before returning from post-traversal fts_read
10628         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10629         unlink A, even though an FD open on A remained.  This is suboptimal
10630         (holding a file descriptor open longer than needed), but otherwise not
10631         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10632         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10633         that represents a real problem: it causes the removal of A to fail
10634         with e.g., "rm: cannot remove `A': Device or resource busy"
10635
10636         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10637         directory file descriptors.  After completing the final, FTS_DP,
10638         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10639         cache, but then proceeded to add a new FD to it via the subsequent
10640         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10641         final file descriptor would be closed only via fts_close's call to
10642         fd_ring_clear.  Now, it is usually closed earlier, via the final
10643         FTS_DP-returning fts_read call.
10644         * lib/fts.c (restore_initial_cwd): New function, converted from
10645         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10646         Update callers.
10647         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10648         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10649
10650 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10651             Bruno Haible  <bruno@clisp.org>
10652             Jim Meyering  <jim@meyering.net>
10653
10654         readme-release: improve safety of release prep instructions.
10655         * README-release: Don't git pull all branches when only master
10656         is needed for the release process.
10657         Run make maintainer-clean before changing trees and merging.
10658         Don't try to run ./configure right after git pull in case files
10659         that influence the bootstrap process have changed, move the
10660         ./configure step to after running ./bootstrap.
10661         Don't bootstrap "one last time"... it's the first time!
10662
10663 2011-10-22  Bruno Haible  <bruno@clisp.org>
10664
10665         errno, strerror-override: Support for MSVC 10.
10666         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10667         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10668         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10669         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10670         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10671         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10672         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10673         Assign values compatible with MSVC 10.
10674         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10675         New macros.
10676         (GNULIB_defined_EWINSOCK): New macro.
10677         * lib/strerror-override.c (strerror_override): Update accordingly.
10678         * lib/strerror-override.h: Likewise.
10679         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10680         longer equal to the corresponding errno value.
10681         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10682
10683 2011-10-22  Bruno Haible  <bruno@clisp.org>
10684
10685         perror: Recognize when test program crashes.
10686         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10687         strerror, set gl_cv_func_perror_works to no.
10688         Reported by Daniel Richard G. <skunk@iskunk.org>.
10689
10690         perror: Fix indentation.
10691         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10692
10693 2011-10-22  Bruno Haible  <bruno@clisp.org>
10694
10695         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10696         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10697         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10698         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10699         functions, not as a macro.
10700         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10701         macros.
10702         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10703         absence of macro.
10704         Suggested by Eric Blake.
10705         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10706
10707 2011-10-21  Bruno Haible  <bruno@clisp.org>
10708
10709         relocatable-prog-wrapper: Don't leave object files behind.
10710         * build-aux/install-reloc: Re-synchronize list of .o files to be
10711         removed with list of compilation units.
10712
10713 2011-10-20  Bruno Haible  <bruno@clisp.org>
10714
10715         openpty, posix_openpt: Remove code duplication.
10716         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
10717         * lib/openpty.c: Include <stdlib.h>.
10718         (openpty): Use posix_openpt on all platforms except IRIX.
10719         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
10720
10721 2011-10-20  Bruno Haible  <bruno@clisp.org>
10722
10723         unlockpt: Detect invalid argument.
10724         * lib/unlockpt.c: Include <fcntl.h>.
10725         (unlockpt): Check whether fd is valid, using fcntl().
10726         * modules/unlockpt (Depends-on): Add fcntl-h.
10727
10728 2011-10-20  Bruno Haible  <bruno@clisp.org>
10729
10730         openpty: Avoid compilation error on AIX 6.1.
10731         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
10732
10733 2011-10-20  Bruno Haible  <bruno@clisp.org>
10734
10735         posix_openpt: Support for OpenBSD.
10736         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
10737         (posix_openpt) [OpenBSD]: New code.
10738         * lib/grantpt.c: Include <fcntl.h>.
10739         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
10740         * modules/grantpt (Depends-on): Add fcntl-h.
10741
10742 2011-10-20  Bruno Haible  <bruno@clisp.org>
10743
10744         posix_openpt test: Coding style.
10745         * tests/test-posix_openpt.c: Use GNU coding style.
10746
10747 2011-10-20  Bruno Haible  <bruno@clisp.org>
10748
10749         grantpt: Support --avoid=pt_chown.
10750         * modules/grantpt (Files): Add lib/pty-private.h.
10751
10752 2011-10-20  Bruno Haible  <bruno@clisp.org>
10753
10754         posix_openpt: Fix autoconf macro.
10755         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
10756         unneeded check for _getpty.
10757
10758 2011-10-20  Bruno Haible  <bruno@clisp.org>
10759
10760         openpty: Update comments.
10761         * lib/openpty.c: Add comments about Minix.
10762
10763 2011-10-19  Eric Blake  <eblake@redhat.com>
10764
10765         openpty: relax license
10766         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
10767
10768         pt_chown: use configmake to simplify build
10769         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
10770
10771         ptsname and others: relax license
10772         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
10773         * modules/unlockpt (License): Likewise.
10774         * modules/pt_chown (License): Likewise.
10775         * modules/ptsname (License): Likewise.
10776         * modules/ttyname_r (License): Likewise.
10777
10778 2011-10-19  Jim Meyering  <meyering@redhat.com>
10779
10780         posix_openpt: remove spurious #endif
10781         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
10782
10783 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
10784
10785         maint.mk: Respect $(build_aux) in web-manual rule.
10786         * top/maint.mk (web-manual): Find gen-announce script in user's
10787         $(build_aux) directory instead of hard-coding 'build-aux'.
10788
10789 2011-10-19  Bruno Haible  <bruno@clisp.org>
10790
10791         posix_openpt: Fix compilation error.
10792         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
10793         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
10794         Mention the openpty module as an alternative.
10795
10796 2011-10-19  Bruno Haible  <bruno@clisp.org>
10797
10798         Support for old NeXTstep 3.3 frexp().
10799         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
10800         execution time of the test to 5 seconds.
10801         Reported by Daniel Richard G. <skunk@iskunk.org>.
10802
10803 2011-10-19  Bruno Haible  <bruno@clisp.org>
10804
10805         Support for old NeXTstep 3.3 sed.
10806         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
10807         part, use /.../, not \|...|. Escape periods in the header file name.
10808         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10809         Reported by Daniel Richard G. <skunk@iskunk.org>.
10810
10811 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10812
10813         Support for old NeXTstep 3.3 gcc.
10814         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
10815         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
10816         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
10817         * lib/spawn.in.h (_Restrict_arr_): Likewise.
10818         * lib/regex.h (_Restrict_arr_): Likewise.
10819         * lib/regex_internal.h (re_token_t): Likewise.
10820         * lib/regexec.c (check_node_accept_bytes): Likewise.
10821         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
10822
10823 2011-10-18  Eric Blake  <eblake@redhat.com>
10824
10825         posix_openpt: new module
10826         * modules/posix_openpt: New module.
10827         * m4/posix_openpt.m4: New file.
10828         * lib/posix_openpt.c: Likewise.
10829         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10830         (gl_STDLIB_H_DEFAULTS): Set defaults.
10831         * modules/stdlib (Makefile.am): Substitute macros.
10832         * lib/stdlib.in.h (posix_openpt): Declare.
10833         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
10834         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
10835         * modules/posix_openpt-tests: New test module.
10836         * tests/test-posix_openpt.c: New test.
10837
10838 2011-10-15  Bruno Haible  <bruno@clisp.org>
10839
10840         xstrtoll: Fix compilation failure.
10841         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
10842         from lib/strtol.c.
10843         * doc/posix-headers/limits.texi: Mention missing numerical limits on
10844         some platforms.
10845         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10846
10847 2011-10-15  Bruno Haible  <bruno@clisp.org>
10848
10849         vasnprintf: Optimize bit search operation.
10850         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
10851         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
10852         gl_DOUBLE_EXPONENT_LOCATION.
10853         * modules/vasnprintf (Files): Add m4/exponentd.m4.
10854         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10855         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10856         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10857         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10858         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10859         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10860         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10861         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
10862
10863 2011-10-15  Bruno Haible  <bruno@clisp.org>
10864
10865         vasnprintf: Fix comments.
10866         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
10867
10868 2011-10-14  Bruno Haible  <bruno@clisp.org>
10869
10870         Tests for module 'integer_length_ll'.
10871         * modules/integer_length_ll-tests: New file.
10872         * tests/test-integer_length_ll.c: New file.
10873
10874         New module 'integer_length_ll'.
10875         * lib/integer_length_ll.c: New file.
10876         * modules/integer_length_ll: New file.
10877
10878 2011-10-14  Bruno Haible  <bruno@clisp.org>
10879
10880         Tests for module 'integer_length_l'.
10881         * modules/integer_length_l-tests: New file.
10882         * tests/test-integer_length_l.c: New file.
10883
10884         New module 'integer_length_l'.
10885         * lib/integer_length_l.c: New file.
10886         * modules/integer_length_l: New file.
10887
10888 2011-10-14  Bruno Haible  <bruno@clisp.org>
10889
10890         Tests for module 'integer_length'.
10891         * modules/integer_length-tests: New file.
10892         * tests/test-integer_length.c: New file.
10893
10894         New module 'integer_length'.
10895         * lib/integer_length.h: New file.
10896         * lib/integer_length.c: New file.
10897         * modules/integer_length: New file.
10898
10899 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10900
10901         popen: Fix dependency conditions.
10902         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
10903
10904 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10905
10906         perror: Fix autoconf test.
10907         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
10908         <stdlib.h> and <string.h>.
10909
10910 2011-10-14  Bruno Haible  <bruno@clisp.org>
10911
10912         ffsl: Optimize on 64-bit platforms.
10913         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
10914         unrolling.
10915
10916 2011-10-13  Bruno Haible  <bruno@clisp.org>
10917
10918         ffsl: Optimize on 32-bit platforms.
10919         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
10920         use ffs() without a loop.
10921
10922         ffsl, ffsll: Optimize for GCC.
10923         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
10924         * lib/ffsl.c (GCC_BUILTIN): New macro.
10925         * lib/ffsll.c (GCC_BUILTIN): Likewise.
10926
10927 2011-10-13  Bruno Haible  <bruno@clisp.org>
10928
10929         ffs, bcopy, memset: Support symbol renaming via config.h.
10930         * lib/ffs.c: Include <config.h>.
10931         * lib/bcopy.c: Likewise.
10932         * lib/memset.c: Likewise.
10933
10934 2011-10-10  Bruno Haible  <bruno@clisp.org>
10935
10936         atanl: Simplify for platforms where 'long double' == 'double'.
10937         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10938         alternative implementation.
10939         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10940         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10941         * modules/atanl (Depends-on): Add atan. Update conditions.
10942
10943 2011-10-10  Bruno Haible  <bruno@clisp.org>
10944
10945         acosl: Simplify for platforms where 'long double' == 'double'.
10946         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10947         alternative implementation.
10948         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10949         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10950         * modules/acosl (Depends-on): Add acos. Update conditions.
10951
10952 2011-10-10  Bruno Haible  <bruno@clisp.org>
10953
10954         asinl: Simplify for platforms where 'long double' == 'double'.
10955         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10956         alternative implementation.
10957         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10958         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10959         * modules/asinl (Depends-on): Add asin. Update conditions.
10960
10961 2011-10-10  Bruno Haible  <bruno@clisp.org>
10962
10963         tanl: Simplify for platforms where 'long double' == 'double'.
10964         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10965         implementation.
10966         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10967         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10968         * modules/tanl (Depends-on): Add tan. Update conditions.
10969         (configure.ac): Don't compile trigl.c if
10970         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10971
10972 2011-10-10  Bruno Haible  <bruno@clisp.org>
10973
10974         cosl: Simplify for platforms where 'long double' == 'double'.
10975         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10976         implementation.
10977         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10978         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10979         * modules/cosl (Depends-on): Add cos. Update conditions.
10980         (configure.ac): Don't compile sincosl.c and trigl.c if
10981         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10982
10983 2011-10-10  Bruno Haible  <bruno@clisp.org>
10984
10985         sinl: Simplify for platforms where 'long double' == 'double'.
10986         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10987         implementation.
10988         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10989         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10990         * modules/sinl (Depends-on): Add sin. Update conditions.
10991         (configure.ac): Don't compile sincosl.c and trigl.c if
10992         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10993
10994 2011-10-10  Bruno Haible  <bruno@clisp.org>
10995
10996         logl: Simplify for platforms where 'long double' == 'double'.
10997         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10998         implementation.
10999         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11000         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11001         * modules/logl (Depends-on): Add log. Update conditions.
11002
11003 2011-10-10  Bruno Haible  <bruno@clisp.org>
11004
11005         expl: Simplify for platforms where 'long double' == 'double'.
11006         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11007         implementation.
11008         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11009         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11010         * modules/expl (Depends-on): Add exp. Update conditions.
11011
11012 2011-10-10  Bruno Haible  <bruno@clisp.org>
11013
11014         sqrtl: Simplify for platforms where 'long double' == 'double'.
11015         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11016         alternative implementation.
11017         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11018         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11019         * modules/sqrtl (Depends-on): Update conditions.
11020
11021 2011-10-10  Bruno Haible  <bruno@clisp.org>
11022
11023         ldexpl: Simplify for platforms where 'long double' == 'double'.
11024         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11025         alternative implementation.
11026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11027         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11028         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11029
11030 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11031
11032         ffsll: set correct witness
11033         * modules/ffsll (configure.ac): Fix typo.
11034
11035 2011-10-10  Bruno Haible  <bruno@clisp.org>
11036
11037         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11038         * lib/printf-frexpl.c: Include <config.h>.
11039         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11040         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11041         second time.
11042         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11043         gl_LONG_DOUBLE_VS_DOUBLE.
11044         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11045         conditions.
11046
11047 2011-10-10  Bruno Haible  <bruno@clisp.org>
11048
11049         frexpl: Simplify for platforms where 'long double' == 'double'.
11050         * lib/frexpl.c: Include <config.h>.
11051         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11052         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11053         time.
11054         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11055         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11056         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11057         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11058         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11059         conditions.
11060
11061 2011-10-10  Jim Meyering  <meyering@redhat.com>
11062
11063         test-renameat: don't leave behind a temporary file
11064         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11065           ERROR: files left in build directory after distclean:
11066           ./gltests/test-renameat.too
11067           make[1]: *** [distcleancheck] Error 1
11068         Reported by Tom G. Christensen.
11069
11070 2011-10-09  Bruno Haible  <bruno@clisp.org>
11071
11072         rint: Determine RINT_LIBM correctly on AIX 7.
11073         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11074         directly, not only through a function pointer. Also accept an optional
11075         4th argument with extra code.
11076         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11077         rintf() call by gcc when optimizing.
11078
11079         mathfunc.m4: Refactor.
11080         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11081         m4 variable.
11082
11083 2011-10-09  Bruno Haible  <bruno@clisp.org>
11084
11085         rintl: Simplify for platforms where 'long double' == 'double'.
11086         * lib/rintl.c: Include <config.h>.
11087         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11088         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11089         time.
11090         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11091         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11092         * modules/rintl (Depends-on): Add rint. Update conditions.
11093
11094 2011-10-09  Bruno Haible  <bruno@clisp.org>
11095
11096         roundl: Simplify for platforms where 'long double' == 'double'.
11097         * lib/roundl.c: Include <config.h>.
11098         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11099         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11100         time.
11101         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11102         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11103         * modules/roundl (Depends-on): Add round. Update conditions.
11104
11105 2011-10-09  Bruno Haible  <bruno@clisp.org>
11106
11107         truncl: Simplify for platforms where 'long double' == 'double'.
11108         * lib/truncl.c: Include <config.h>.
11109         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11110         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11111         time.
11112         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11113         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11114         * modules/truncl (Depends-on): Add trunc. Update conditions.
11115
11116 2011-10-09  Bruno Haible  <bruno@clisp.org>
11117
11118         ceill: Simplify for platforms where 'long double' == 'double'.
11119         * lib/ceill.c: Include <config.h>.
11120         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11121         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11122         time.
11123         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11124         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11125         * modules/ceill (Depends-on): Add ceil. Update conditions.
11126
11127 2011-10-09  Bruno Haible  <bruno@clisp.org>
11128
11129         floorl: Simplify for platforms where 'long double' == 'double'.
11130         * lib/floorl.c: Include <config.h>.
11131         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11132         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11133         time.
11134         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11135         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11136         * modules/floorl (Depends-on): Add floor. Update conditions.
11137
11138 2011-10-09  Bruno Haible  <bruno@clisp.org>
11139
11140         rint: Fix ordering constraints.
11141         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11142         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11143         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11144
11145 2011-10-09  Bruno Haible  <bruno@clisp.org>
11146
11147         copysignl: Simplify for platforms where 'long double' == 'double'.
11148         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11149         alternative.
11150         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11151         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11152         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11153
11154 2011-10-09  Bruno Haible  <bruno@clisp.org>
11155
11156         Tests for module 'rintl'.
11157         * modules/rintl-tests: New file.
11158         * tests/test-rintl.c: New file.
11159
11160         New module 'rintl'.
11161         * lib/math.in.h (rintl): New declaration.
11162         * lib/rintl.c: New file.
11163         * m4/rintl.m4: New file.
11164         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11166         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11167         * modules/rintl: New file.
11168         * tests/test-math-c++.cc: Check the declaration of rintl.
11169         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11170         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11171         * doc/posix-functions/rintl.texi: Mention the new module.
11172
11173 2011-10-09  Bruno Haible  <bruno@clisp.org>
11174
11175         Tests for module 'rintf'.
11176         * modules/rintf-tests: New file.
11177         * tests/test-rintf.c: New file.
11178
11179         New module 'rintf'.
11180         * lib/math.in.h (rintf): New declaration.
11181         * lib/rintf.c: New file.
11182         * m4/rintf.m4: New file.
11183         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11184         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11185         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11186         * modules/rintf: New file.
11187         * tests/test-math-c++.cc: Check the declaration of rintf.
11188         * doc/posix-functions/rintf.texi: Mention the new module.
11189
11190 2011-10-09  Bruno Haible  <bruno@clisp.org>
11191
11192         rint: Support for MSVC.
11193         * lib/math.in.h (rint): New declaration.
11194         * lib/rint.c: New file.
11195         * m4/rint.m4: New file.
11196         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11197         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11198         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11199         * modules/rint (Description): Fix.
11200         (Files): Add lib/rint.c, m4/rint.m4.
11201         (Depends-on): Add math.
11202         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11203         gl_MATH_MODULE_INDICATOR.
11204         * tests/test-math-c++.cc: Check the declaration of rint.
11205         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11206         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11207         * doc/posix-functions/rint.texi: Mention the replacement provided by
11208         the module.
11209
11210         rint tests: More tests.
11211         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11212         minus-zero.h, infinity.h, nan.h.
11213         (main): Skip the test if the current rounding mode is not standard. Add
11214         tests for negative numbers, minus zero, infinity, NaN.
11215         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11216         tests/nan.h.
11217         (Depends-on): Add isnand-nolibm.
11218
11219 2011-10-09  Bruno Haible  <bruno@clisp.org>
11220
11221         Tests for module 'copysignl'.
11222         * modules/copysignl-tests: New file.
11223         * tests/test-copysignl.c: New file.
11224
11225         New module 'copysignl'.
11226         * lib/math.in.h (copysignl): New declaration.
11227         * lib/copysignl.c: New file.
11228         * m4/copysignl.m4: New file.
11229         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11230         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11231         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11232         HAVE_COPYSIGNL.
11233         * modules/copysignl: New file.
11234         * tests/test-math-c++.cc: Check the declaration of copysignl.
11235         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11236         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11237         * doc/posix-functions/copysignl.texi: Mention the new module.
11238
11239 2011-10-09  Bruno Haible  <bruno@clisp.org>
11240
11241         Tests for module 'copysignf'.
11242         * modules/copysignf-tests: New file.
11243         * tests/test-copysignf.c: New file.
11244
11245         New module 'copysignf'.
11246         * lib/math.in.h (copysignf): New declaration.
11247         * lib/copysignf.c: New file.
11248         * m4/copysignf.m4: New file.
11249         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11250         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11251         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11252         HAVE_COPYSIGNF.
11253         * modules/copysignf: New file.
11254         * tests/test-math-c++.cc: Check the declaration of copysignf.
11255         * doc/posix-functions/copysignf.texi: Mention the new module.
11256
11257 2011-10-09  Bruno Haible  <bruno@clisp.org>
11258
11259         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11260         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11261         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11262         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11263         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11264         gl_SIGNAL_H_DEFAULTS.
11265
11266 2011-10-09  Bruno Haible  <bruno@clisp.org>
11267
11268         poll: Make macro safer.
11269         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11270         ac_cv_header_poll_h is not set.
11271
11272 2011-10-09  Bruno Haible  <bruno@clisp.org>
11273
11274         copysign: Provide replacement.
11275         * lib/math.in.h (copysign): New declaration.
11276         * lib/copysign.c: New file.
11277         * m4/copysign.m4: New file.
11278         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11279         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11280         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11281         HAVE_COPYSIGN.
11282         * modules/copysign (Description): Clarify.
11283         (Files): Add lib/copysign.c, m4/copysign.m4.
11284         (Depends-on): Add math, signbit.
11285         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11286         gl_MATH_MODULE_INDICATOR.
11287         * tests/test-math-c++.cc: Check the declaration of copysign.
11288         * doc/posix-functions/copysign.texi: Mention the effects of the module
11289         on Minix and MSVC.
11290
11291 2011-10-09  Bruno Haible  <bruno@clisp.org>
11292
11293         isinf: Ensure macro on AIX 5.1.
11294         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11295         macro.
11296         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11297
11298 2011-10-09  Bruno Haible  <bruno@clisp.org>
11299
11300         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11301         * modules/snprintf-posix-tests (configure.ac): Require
11302         gl_LONG_DOUBLE_VS_DOUBLE.
11303         * modules/sprintf-posix-tests (configure.ac): Likewise.
11304         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11305         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11306         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11307         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11308         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11309         tests on platforms where 'long double' is the same as 'double'.
11310         * tests/test-sprintf-posix.h (test_function): Likewise.
11311         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11312         * tests/test-vasprintf-posix.c (test_function): Likewise.
11313
11314         *printf: Fix for platforms where 'long double' == 'double'.
11315         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11316         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11317         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11318         * modules/fprintf-posix (Files): Likewise.
11319         * modules/obstack-printf-posix (Files): Likewise.
11320         * modules/snprintf-posix (Files): Likewise.
11321         * modules/sprintf-posix (Files): Likewise.
11322         * modules/vasnprintf (Files): Likewise.
11323         * modules/vasnprintf-posix (Files): Likewise.
11324         * modules/vasprintf-posix (Files): Likewise.
11325         * modules/vdprintf-posix (Files): Likewise.
11326         * modules/vfprintf-posix (Files): Likewise.
11327         * modules/vsnprintf-posix (Files): Likewise.
11328         * modules/vsprintf-posix (Files): Likewise.
11329         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11330         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11331         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11332         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11333         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11334         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11335         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11336
11337         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11338         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11339         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11340         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11341         'long double'.
11342         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11343
11344         isinf: Fix for platforms where 'long double' == 'double'.
11345         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11346         Don't blindly assume 80-bit 'long double'.
11347
11348         isfinite: Fix for platforms where 'long double' == 'double'.
11349         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11350         Don't blindly assume 80-bit 'long double'.
11351
11352         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11353         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11354         * modules/isfinite-tests (configure.ac): Require
11355         gl_LONG_DOUBLE_VS_DOUBLE.
11356         * modules/isinf-tests (configure.ac): Likewise.
11357         * modules/isnan-tests (configure.ac): Likewise.
11358         * modules/isnanl-tests (configure.ac): Likewise.
11359         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11360         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11361         tests on platforms where 'long double' is the same as 'double'.
11362         * tests/test-isinf.c (test_isinfl): Likewise.
11363         * tests/test-isnan.c (test_long_double): Likewise.
11364         * tests/test-isnanl.h (main): Likewise.
11365
11366 2011-10-08  Bruno Haible  <bruno@clisp.org>
11367
11368         Tests for module 'tanhf'.
11369         * modules/tanhf-tests: New file.
11370         * tests/test-tanhf.c: New file.
11371
11372         New module 'tanhf'.
11373         * lib/math.in.h (tanhf): New declaration.
11374         * lib/tanhf.c: New file.
11375         * m4/tanhf.m4: New file.
11376         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11377         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11378         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11379         * modules/tanhf: New file.
11380         * tests/test-math-c++.cc: Check the declaration of tanhf.
11381         * doc/posix-functions/tanhf.texi: Mention the new module.
11382
11383         tanh: Use a .m4 file.
11384         * m4/tanh.m4: New file.
11385         * modules/tanh (Files): Add it.
11386         (configure.ac): Just invoke gl_FUNC_TANH.
11387
11388 2011-10-08  Bruno Haible  <bruno@clisp.org>
11389
11390         Tests for module 'coshf'.
11391         * modules/coshf-tests: New file.
11392         * tests/test-coshf.c: New file.
11393
11394         New module 'coshf'.
11395         * lib/math.in.h (coshf): New declaration.
11396         * lib/coshf.c: New file.
11397         * m4/coshf.m4: New file.
11398         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11400         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11401         * modules/coshf: New file.
11402         * tests/test-math-c++.cc: Check the declaration of coshf.
11403         * doc/posix-functions/coshf.texi: Mention the new module.
11404
11405         cosh: Use a .m4 file.
11406         * m4/cosh.m4: New file.
11407         * modules/cosh (Files): Add it.
11408         (configure.ac): Just invoke gl_FUNC_COSH.
11409
11410 2011-10-08  Bruno Haible  <bruno@clisp.org>
11411
11412         Tests for module 'sinhf'.
11413         * modules/sinhf-tests: New file.
11414         * tests/test-sinhf.c: New file.
11415
11416         New module 'sinhf'.
11417         * lib/math.in.h (sinhf): New declaration.
11418         * lib/sinhf.c: New file.
11419         * m4/sinhf.m4: New file.
11420         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11422         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11423         * modules/sinhf: New file.
11424         * tests/test-math-c++.cc: Check the declaration of sinhf.
11425         * doc/posix-functions/sinhf.texi: Mention the new module.
11426
11427         sinh: Use a .m4 file.
11428         * m4/sinh.m4: New file.
11429         * modules/sinh (Files): Add it.
11430         (configure.ac): Just invoke gl_FUNC_SINH.
11431
11432 2011-10-08  Bruno Haible  <bruno@clisp.org>
11433
11434         Tests for module 'atan2f'.
11435         * modules/atan2f-tests: New file.
11436         * tests/test-atan2f.c: New file.
11437
11438         New module 'atan2f'.
11439         * lib/math.in.h (atan2f): New declaration.
11440         * lib/atan2f.c: New file.
11441         * m4/atan2f.m4: New file.
11442         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11443         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11444         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11445         * modules/atan2f: New file.
11446         * tests/test-math-c++.cc: Check the declaration of atan2f.
11447         * doc/posix-functions/atan2f.texi: Mention the new module.
11448
11449         atan2: Use a .m4 file.
11450         * m4/atan2.m4: New file.
11451         * modules/atan2 (Files): Add it.
11452         (configure.ac): Just invoke gl_FUNC_ATAN2.
11453
11454 2011-10-08  Bruno Haible  <bruno@clisp.org>
11455
11456         Tests for module 'atanf'.
11457         * modules/atanf-tests: New file.
11458         * tests/test-atanf.c: New file.
11459
11460         New module 'atanf'.
11461         * lib/math.in.h (atanf): New declaration.
11462         * lib/atanf.c: New file.
11463         * m4/atanf.m4: New file.
11464         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11465         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11466         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11467         * modules/atanf: New file.
11468         * tests/test-math-c++.cc: Check the declaration of atanf.
11469         * doc/posix-functions/atanf.texi: Mention the new module.
11470
11471         atan: Use a .m4 file.
11472         * m4/atan.m4: New file.
11473         * modules/atan (Files): Add it.
11474         (configure.ac): Just invoke gl_FUNC_ATAN.
11475
11476 2011-10-08  Bruno Haible  <bruno@clisp.org>
11477
11478         Tests for module 'acosf'.
11479         * modules/acosf-tests: New file.
11480         * tests/test-acosf.c: New file.
11481
11482         New module 'acosf'.
11483         * lib/math.in.h (acosf): New declaration.
11484         * lib/acosf.c: New file.
11485         * m4/acosf.m4: New file.
11486         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11488         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11489         * modules/acosf: New file.
11490         * tests/test-math-c++.cc: Check the declaration of acosf.
11491         * doc/posix-functions/acosf.texi: Mention the new module.
11492
11493         acos: Use a .m4 file.
11494         * m4/acos.m4: New file.
11495         * modules/acos (Files): Add it.
11496         (configure.ac): Just invoke gl_FUNC_ACOS.
11497
11498 2011-10-08  Bruno Haible  <bruno@clisp.org>
11499
11500         Tests for module 'asinf'.
11501         * modules/asinf-tests: New file.
11502         * tests/test-asinf.c: New file.
11503
11504         New module 'asinf'.
11505         * lib/math.in.h (asinf): New declaration.
11506         * lib/asinf.c: New file.
11507         * m4/asinf.m4: New file.
11508         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11510         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11511         * modules/asinf: New file.
11512         * tests/test-math-c++.cc: Check the declaration of asinf.
11513         * doc/posix-functions/asinf.texi: Mention the new module.
11514
11515         asin: Use a .m4 file.
11516         * m4/asin.m4: New file.
11517         * modules/asin (Files): Add it.
11518         (configure.ac): Just invoke gl_FUNC_ASIN.
11519
11520 2011-10-08  Bruno Haible  <bruno@clisp.org>
11521
11522         Tests for module 'tanf'.
11523         * modules/tanf-tests: New file.
11524         * tests/test-tanf.c: New file.
11525
11526         New module 'tanf'.
11527         * lib/math.in.h (tanf): New declaration.
11528         * lib/tanf.c: New file.
11529         * m4/tanf.m4: New file.
11530         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11532         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11533         * modules/tanf: New file.
11534         * tests/test-math-c++.cc: Check the declaration of tanf.
11535         * doc/posix-functions/tanf.texi: Mention the new module.
11536
11537         tan: Use a .m4 file.
11538         * m4/tan.m4: New file.
11539         * modules/tan (Files): Add it.
11540         (configure.ac): Just invoke gl_FUNC_TAN.
11541
11542 2011-10-08  Bruno Haible  <bruno@clisp.org>
11543
11544         Tests for module 'cosf'.
11545         * modules/cosf-tests: New file.
11546         * tests/test-cosf.c: New file.
11547
11548         New module 'cosf'.
11549         * lib/math.in.h (cosf): New declaration.
11550         * lib/cosf.c: New file.
11551         * m4/cosf.m4: New file.
11552         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11554         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11555         * modules/cosf: New file.
11556         * tests/test-math-c++.cc: Check the declaration of cosf.
11557         * doc/posix-functions/cosf.texi: Mention the new module.
11558
11559         cos: Use a .m4 file.
11560         * m4/cos.m4: New file.
11561         * modules/cos (Files): Add it.
11562         (configure.ac): Just invoke gl_FUNC_COS.
11563
11564 2011-10-08  Bruno Haible  <bruno@clisp.org>
11565
11566         Tests for module 'sinf'.
11567         * modules/sinf-tests: New file.
11568         * tests/test-sinf.c: New file.
11569
11570         New module 'sinf'.
11571         * lib/math.in.h (sinf): New declaration.
11572         * lib/sinf.c: New file.
11573         * m4/sinf.m4: New file.
11574         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11576         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11577         * modules/sinf: New file.
11578         * tests/test-math-c++.cc: Check the declaration of sinf.
11579         * doc/posix-functions/sinf.texi: Mention the new module.
11580
11581         sin: Use a .m4 file.
11582         * m4/sin.m4: New file.
11583         * modules/sin (Files): Add it.
11584         (configure.ac): Just invoke gl_FUNC_SIN.
11585
11586 2011-10-08  Bruno Haible  <bruno@clisp.org>
11587
11588         Tests for module 'powf'.
11589         * modules/powf-tests: New file.
11590         * tests/test-powf.c: New file.
11591
11592         New module 'powf'.
11593         * lib/math.in.h (powf): New declaration.
11594         * lib/powf.c: New file.
11595         * m4/powf.m4: New file.
11596         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11598         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11599         * modules/powf: New file.
11600         * tests/test-math-c++.cc: Check the declaration of powf.
11601         * doc/posix-functions/powf.texi: Mention the new module.
11602
11603         pow: Use a .m4 file.
11604         * m4/pow.m4: New file.
11605         * modules/pow (Files): Add it.
11606         (configure.ac): Just invoke gl_FUNC_POW.
11607
11608 2011-10-08  Bruno Haible  <bruno@clisp.org>
11609
11610         Tests for module 'log10f'.
11611         * modules/log10f-tests: New file.
11612         * tests/test-log10f.c: New file.
11613
11614         New module 'log10f'.
11615         * lib/math.in.h (log10f): New declaration.
11616         * lib/log10f.c: New file.
11617         * m4/log10f.m4: New file.
11618         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11620         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11621         * modules/log10f: New file.
11622         * tests/test-math-c++.cc: Check the declaration of log10f.
11623         * doc/posix-functions/log10f.texi: Mention the new module.
11624
11625         log10: Use a .m4 file.
11626         * m4/log10.m4: New file.
11627         * modules/log10 (Files): Add it.
11628         (configure.ac): Just invoke gl_FUNC_LOG10.
11629
11630 2011-10-08  Bruno Haible  <bruno@clisp.org>
11631
11632         Tests for module 'logf'.
11633         * modules/logf-tests: New file.
11634         * tests/test-logf.c: New file.
11635
11636         New module 'logf'.
11637         * lib/math.in.h (logf): New declaration.
11638         * lib/logf.c: New file.
11639         * m4/logf.m4: New file.
11640         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11642         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11643         * modules/logf: New file.
11644         * tests/test-math-c++.cc: Check the declaration of logf.
11645         * doc/posix-functions/logf.texi: Mention the new module.
11646
11647         log: Use a .m4 file.
11648         * m4/log.m4: New file.
11649         * modules/log (Files): Add it.
11650         (configure.ac): Just invoke gl_FUNC_LOG.
11651
11652 2011-10-08  Bruno Haible  <bruno@clisp.org>
11653
11654         Tests for module 'expf'.
11655         * modules/expf-tests: New file.
11656         * tests/test-expf.c: New file.
11657
11658         New module 'expf'.
11659         * lib/math.in.h (expf): New declaration.
11660         * lib/expf.c: New file.
11661         * m4/expf.m4: New file.
11662         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11663         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11664         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11665         * modules/expf: New file.
11666         * tests/test-math-c++.cc: Check the declaration of expf.
11667         * doc/posix-functions/expf.texi: Mention the new module.
11668
11669         exp: Use a .m4 file.
11670         * m4/exp.m4: New file.
11671         * modules/exp (Files): Add it.
11672         (configure.ac): Just invoke gl_FUNC_EXP.
11673
11674 2011-10-08  Bruno Haible  <bruno@clisp.org>
11675
11676         Tests for module 'sqrtf'.
11677         * modules/sqrtf-tests: New file.
11678         * tests/test-sqrtf.c: New file.
11679
11680         New module 'sqrtf'.
11681         * lib/math.in.h (sqrtf): New declaration.
11682         * lib/sqrtf.c: New file.
11683         * m4/sqrtf.m4: New file.
11684         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11686         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11687         * modules/sqrtf: New file.
11688         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11689         * doc/posix-functions/sqrtf.texi: Mention the new module.
11690
11691 2011-10-08  Bruno Haible  <bruno@clisp.org>
11692
11693         Tests: Avoid link failures w.r.t. libintl.
11694         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11695         $(LIBINTL).
11696         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11697         $(LIBINTL).
11698         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11699         against $(LIBINTL).
11700         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11701         $(LIBINTL).
11702         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11703         $(LIBINTL).
11704         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11705
11706 2011-10-08  Bruno Haible  <bruno@clisp.org>
11707
11708         pow tests: Defeat compiler optimizations.
11709         * tests/test-pow.c (main): Assign arguments to x and y before use.
11710
11711 2011-10-08  Bruno Haible  <bruno@clisp.org>
11712
11713         gnulib-tool: Improve last commit.
11714         * gnulib-tool (func_modules_transitive_closure): Simplify code.
11715         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11716         ignore dependencies that are not among the modules list.
11717
11718 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
11719
11720         gnulib-tool: don't follow dependencies to avoided modules
11721         This fixes a bug that is related to the previous one.
11722         * gnulib-tool (func_modules_transitive_closure)
11723         (func_emit_autoconf_snippets):
11724         Check whether a dependency is acceptable before using it.
11725         (--extract-dependencies): Report an error if --avoid is also used,
11726         since this combination of options is not yet supported.
11727
11728         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
11729         Problem reported by Peter Dyballa in
11730         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
11731         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
11732         when echoing "$condition".
11733
11734 2011-10-07  Bruno Haible  <bruno@clisp.org>
11735
11736         Fix documentation about math functions on MacOS X.
11737         * doc/posix-functions/exp2.texi: Don't say the function is missing on
11738         MacOS X 10.5.
11739         * doc/posix-functions/fdim.texi: Likewise.
11740         * doc/posix-functions/feclearexcept.texi: Likewise.
11741         * doc/posix-functions/fegetenv.texi: Likewise.
11742         * doc/posix-functions/fegetround.texi: Likewise.
11743         * doc/posix-functions/feholdexcept.texi: Likewise.
11744         * doc/posix-functions/feraiseexcept.texi: Likewise.
11745         * doc/posix-functions/fesetenv.texi: Likewise.
11746         * doc/posix-functions/fesetround.texi: Likewise.
11747         * doc/posix-functions/fetestexcept.texi: Likewise.
11748         * doc/posix-functions/feupdateenv.texi: Likewise.
11749         * doc/posix-functions/fmax.texi: Likewise.
11750         * doc/posix-functions/fmin.texi: Likewise.
11751         * doc/posix-functions/log2.texi: Likewise.
11752         * doc/posix-functions/modff.texi: Likewise.
11753         * doc/posix-functions/nan.texi: Likewise.
11754         * doc/posix-functions/nanf.texi: Likewise.
11755         * doc/posix-functions/nextafterf.texi: Likewise.
11756         * doc/posix-functions/remquo.texi: Likewise.
11757
11758 2011-10-07  Bruno Haible  <bruno@clisp.org>
11759
11760         modff: Drop assumption about library that defines modff.
11761         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
11762         AC_CHECK_FUNCS.
11763         * modules/modff (Files): Add m4/mathfunc.m4.
11764
11765 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
11766
11767         raise tests: Avoid a GCC warning.
11768         * tests/test-raise.c (handler): Use _Noreturn.
11769
11770 2011-10-07  Bruno Haible  <bruno@clisp.org>
11771
11772         Tests for module 'ldexpf'.
11773         * modules/ldexpf-tests: New file.
11774         * tests/test-ldexpf.c: New file.
11775
11776         New module 'ldexpf'.
11777         * lib/math.in.h (ldexpf): New declaration.
11778         * lib/ldexpf.c: New file.
11779         * m4/ldexpf.m4: New file.
11780         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
11781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
11782         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
11783         * modules/ldexpf: New file.
11784         * tests/test-math-c++.cc: Check the declaration of ldexpf.
11785         * doc/posix-functions/ldexpf.texi: Mention the new module.
11786
11787 2011-10-06  Bruno Haible  <bruno@clisp.org>
11788
11789         frexpf: Work around problems on IRIX and mingw.
11790         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
11791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
11792         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
11793         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
11794         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
11795         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
11796         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
11797
11798 2011-10-06  Bruno Haible  <bruno@clisp.org>
11799
11800         fabsf: Drop assumption about library that defines fabsf.
11801         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
11802         AC_CHECK_FUNCS.
11803         * modules/fabsf (Files): Add m4/mathfunc.m4.
11804
11805 2011-10-06  Bruno Haible  <bruno@clisp.org>
11806
11807         frexpf: Drop assumption about library that defines frexpf.
11808         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
11809         'int *', 'float *', 'long double *', 'float', 'long double'.
11810         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
11811         AC_CHECK_FUNCS.
11812         * modules/frexpf (Files): Add m4/mathfunc.m4.
11813
11814         Tests for module 'frexpf'.
11815         * modules/frexpf-tests: New file.
11816         * tests/test-frexpf.c: New file.
11817
11818         New module 'frexpf'.
11819         * lib/math.in.h (frexpf): New declaration.
11820         * lib/frexpf.c: New file.
11821         * m4/frexpf.m4: New file.
11822         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
11823         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
11824         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
11825         * modules/frexpf: New file.
11826         * tests/test-math-c++.cc: Check the declaration of frexpf.
11827         * doc/posix-functions/frexpf.texi: Mention the new module.
11828
11829 2011-10-06  Bruno Haible  <bruno@clisp.org>
11830
11831         math: Sort function declarations of math.in.h.
11832         * lib/math.in.h (frexp, logb): Move declarations.
11833
11834 2011-10-05  Bruno Haible  <bruno@clisp.org>
11835
11836         Tests for module 'modff'.
11837         * modules/modff-tests: New file.
11838         * tests/test-modff.c: New file.
11839
11840         New module 'modff'.
11841         * lib/math.in.h (modff): New declaration.
11842         * lib/modff.c: New file.
11843         * m4/modff.m4: New file.
11844         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
11845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
11846         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
11847         * modules/modff: New file.
11848         * tests/test-math-c++.cc: Check the declaration of modff.
11849         * doc/posix-functions/modff.texi: Mention the new module.
11850
11851         modf tests: Make test sharper.
11852         * tests/test-modf.c (main): Strengthen upper bound.
11853
11854         modf: Use a .m4 file.
11855         * m4/modf.m4: New file.
11856         * modules/modf (Files): Add it.
11857         (configure.ac): Just invoke gl_FUNC_MODF.
11858
11859 2011-10-05  Bruno Haible  <bruno@clisp.org>
11860
11861         Tests for module 'fmodf'.
11862         * modules/fmodf-tests: New file.
11863         * tests/test-fmodf.c: New file.
11864
11865         New module 'fmodf'.
11866         * lib/math.in.h (fmodf): New declaration.
11867         * lib/fmodf.c: New file.
11868         * m4/fmodf.m4: New file.
11869         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
11870         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
11871         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
11872         * modules/fmodf: New file.
11873         * tests/test-math-c++.cc: Check the declaration of fmodf.
11874         * doc/posix-functions/fmodf.texi: Mention the new module.
11875
11876         fmod: Use a .m4 file.
11877         * m4/fmod.m4: New file.
11878         * modules/fmod (Files): Add it.
11879         (configure.ac): Just invoke gl_FUNC_FMOD.
11880
11881 2011-10-05  Bruno Haible  <bruno@clisp.org>
11882
11883         Tests for module 'fabsf'.
11884         * modules/fabsf-tests: New file.
11885         * tests/test-fabsf.c: New file.
11886
11887         New module 'fabsf'.
11888         * lib/math.in.h (fabsf): New declaration.
11889         * lib/fabsf.c: New file.
11890         * m4/fabsf.m4: New file.
11891         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
11892         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
11893         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
11894         * modules/fabsf: New file.
11895         * tests/test-math-c++.cc: Check the declaration of fabsf.
11896         * doc/posix-functions/fabsf.texi: Mention the new module.
11897
11898         fabs: Use a .m4 file.
11899         * m4/fabs.m4: New file.
11900         * modules/fabs (Files): Add it.
11901         (configure.ac): Just invoke gl_FUNC_FABS.
11902
11903 2011-10-05  Jim Meyering  <meyering@redhat.com>
11904
11905         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
11906         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
11907         ls -lL regression introduced in coreutils-8.12, it does so at the
11908         cost of an additional stat call in the common case.  Besides, now
11909         that the kernel change that prompted commit 95f7c57f has been reverted
11910         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
11911         we have no use for commit 95f7c57f, "file-has-acl: use
11912         acl_extended_file_nofollow if available".
11913
11914 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
11915
11916         file-has-acl: revert unintended change in behavior of ls -L
11917         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
11918         derived from...
11919         (file_has_acl): ...code here.  Call it.
11920         This problem was introduced with 2011-07-22 commit 95f7c57f,
11921         "file-has-acl: use acl_extended_file_nofollow if available".
11922         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
11923
11924 2011-10-03  Bruno Haible  <bruno@clisp.org>
11925
11926         poll: Avoid link errors on MSVC.
11927         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
11928         * modules/poll (Depends-on): Add sockets.
11929         (Link): New section.
11930         * NEWS: Mention the change.
11931         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
11932         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
11933         $(LIB_POLL) instead of $(LIBSOCKET).
11934
11935 2011-10-03  Bruno Haible  <bruno@clisp.org>
11936
11937         sys_select tests: Fix link error on MSVC 9.
11938         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
11939         with $(LIB_SELECT) instead of $(LIBSOCKET).
11940
11941 2011-10-03  Bruno Haible  <bruno@clisp.org>
11942
11943         sys_select: Fix compilation error on mingw.
11944         * lib/sys_select.in.h: On native Windows, include <io.h>.
11945
11946 2011-10-03  Bruno Haible  <bruno@clisp.org>
11947
11948         wmemset: Support for MSVC.
11949         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
11950         whether wmemset() exists.
11951
11952 2011-10-03  Bruno Haible  <bruno@clisp.org>
11953
11954         wmemmove: Support for MSVC.
11955         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
11956         whether wmemmove() exists.
11957
11958 2011-10-03  Bruno Haible  <bruno@clisp.org>
11959
11960         wmemcpy: Support for MSVC.
11961         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
11962         whether wmemcpy() exists.
11963
11964 2011-10-03  Bruno Haible  <bruno@clisp.org>
11965
11966         wmemcmp: Support for MSVC.
11967         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
11968         whether wmemcmp() exists.
11969
11970 2011-10-03  Bruno Haible  <bruno@clisp.org>
11971
11972         wmemchr: Support for MSVC.
11973         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
11974         whether wmemchr() exists.
11975
11976 2011-10-03  Bruno Haible  <bruno@clisp.org>
11977
11978         glthread/*, strsignal: Support for MSVC.
11979         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
11980         including <winsock.h> on MSVC 9.
11981         * lib/glthread/lock.h: Likewise.
11982         * lib/glthread/thread.h: Likewise.
11983         * lib/glthread/tls.h: Likewise.
11984         * lib/glthread/yield.h: Likewise.
11985         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
11986         if HAVE_UNISTD_H is false.
11987         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
11988
11989 2011-10-03  Bruno Haible  <bruno@clisp.org>
11990
11991         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
11992         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
11993         Set to 100000.
11994
11995 2011-10-03  Bruno Haible  <bruno@clisp.org>
11996
11997         acl: Fix specification.
11998         * lib/file-has-acl.c (file_has_acl): Fix specification.
11999
12000 2011-10-03  Bruno Haible  <bruno@clisp.org>
12001
12002         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12003         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12004         (compute_curr_prefix, shared_library_fullname,
12005         find_shared_library_fullname, get_shared_library_fullname, relocate):
12006         Use it together with PIC && INSTALLDIR.
12007         Reported by <jojelino@gmail.com>
12008         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12009
12010 2011-10-01  Jim Meyering  <meyering@redhat.com>
12011
12012         maint.mk: adjust a release-related rule not to require use of gzip
12013         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12014         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12015         projects that build only .tar.xz files.  Also fix an erroneous test.
12016
12017         test-linkat: don't leave behind a temporary file
12018         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12019         Otherwise, coreutils' "make distcheck" would fail with this:
12020           Only in /c/cu/tests/torture/coreutils/test/\
12021             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12022           make[2]: *** [my-distcheck] Error 1
12023
12024         float, math: add omitted file
12025         * lib/itold.c: Add file, required for yesterday's float change.
12026
12027 2011-10-01  Bruno Haible  <bruno@clisp.org>
12028
12029         isinf: Fix for OpenBSD/x86.
12030         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12031         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12032         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12033
12034 2011-10-01  Bruno Haible  <bruno@clisp.org>
12035
12036         isfinite: Fix syntax error in configure test.
12037         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12038
12039         isfinite: Fix typo.
12040         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12041         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12042
12043 2011-10-01  Bruno Haible  <bruno@clisp.org>
12044
12045         nonblocking tests: Fix test failure on Linux/IA-64.
12046         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12047         Set to 270000.
12048
12049 2011-10-01  Bruno Haible  <bruno@clisp.org>
12050
12051         mkfifoat tests: Fix a test failure on mingw.
12052         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12053         with error ENOSYS.
12054
12055 2011-09-30  Bruno Haible  <bruno@clisp.org>
12056
12057         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12058         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12059         'long double'. Set REPLACE_ITOLD.
12060         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12061         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12062         * lib/itold.c: New file.
12063         * modules/float (Files): Add lib/itold.c.
12064         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12065         (Makefile.am): Substitute REPLACE_ITOLD.
12066         * modules/math (Depends-on): Add float.
12067         (Makefile.am): Substitute REPLACE_ITOLD.
12068         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12069         * doc/posix-headers/math.texi: Likewise.
12070         * doc/posix-functions/logl.texi: Likewise.
12071
12072 2011-09-30  Bruno Haible  <bruno@clisp.org>
12073
12074         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12075         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12076         Set to 140000.
12077
12078 2011-09-30  Bruno Haible  <bruno@clisp.org>
12079
12080         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12081         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12082         invocation, say "right after AC_PROG_CC_STDC", not "right after
12083         AC_PROG_CC".
12084         Reported by Gary V. Vaughan <gary@gnu.org>.
12085
12086 2011-09-30  Bruno Haible  <bruno@clisp.org>
12087
12088         Centralize C99 requirement.
12089         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12090         * modules/stdarg (configure.ac-early): Invoke it instead of
12091         AC_PROG_CC_STDC.
12092         Reported by Gary V. Vaughan and Paul Eggert.
12093
12094 2011-09-29  Bruno Haible  <bruno@clisp.org>
12095
12096         float: Fix LDBL_MAX value on Linux/PowerPC.
12097         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12098         on Linux/PowerPC.
12099         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12100         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12101         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12102         platform.
12103         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12104
12105 2011-09-29  Bruno Haible  <bruno@clisp.org>
12106
12107         doc: Improve doc about gl_EARLY.
12108         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12109         AC_PROG_CC_STDC invocation.
12110         Reported by Gary V. Vaughan <gary@gnu.org>.
12111
12112 2011-09-28  Bruno Haible  <bruno@clisp.org>
12113
12114         fgetc, fputc, fread, fwrite tests: Fix link error.
12115         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12116         on non-MSVC platforms.
12117         * tests/test-fputc.c (main): Likewise.
12118         * tests/test-fread.c (main): Likewise.
12119         * tests/test-fwrite.c (main): Likewise.
12120         Reported by Jim Meyering.
12121
12122 2011-09-27  Bruno Haible  <bruno@clisp.org>
12123
12124         fputc, fwrite tests: Avoid test failure on MSVC.
12125         * tests/test-fgetc.c: Include msvc-inval.h.
12126         (main): Invoke gl_msvc_inval_ensure_handler.
12127         * tests/test-fputc.c: Include msvc-inval.h.
12128         (main): Invoke gl_msvc_inval_ensure_handler.
12129         * tests/test-fread.c: Include msvc-inval.h.
12130         (main): Invoke gl_msvc_inval_ensure_handler.
12131         * tests/test-fwrite.c: Include msvc-inval.h.
12132         (main): Invoke gl_msvc_inval_ensure_handler.
12133         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12134         * modules/fputc-tests (Depends-on): Likewise.
12135         * modules/fread-tests (Depends-on): Likewise.
12136         * modules/fwrite-tests (Depends-on): Likewise.
12137
12138 2011-09-27  Bruno Haible  <bruno@clisp.org>
12139
12140         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12141         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12142         (raise): Remove older, duplicated declaration.
12143         (_gl_raise_SIGPIPE): New declaration.
12144         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12145         (rpl_raise): Remove function.
12146         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12147         a gnulib-defined SIGPIPE here.
12148         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12149         'sigprocmask' has detected missing signal-blocking and the module
12150         'sigpipe' is enabled.
12151         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12152
12153 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12154
12155         base64-tests: avoid memory leak
12156         * tests/test-base64.c (main): Plug memory leak.
12157
12158         base32: new module
12159         * modules/base32: New module.
12160         * lib/base32.c: New file.
12161         * lib/base32.h: Likewise.
12162         * m4/base32.m4: Likewise.
12163         * modules/base32-tests: New test.
12164         * tests/test-base32.c: Likewise.
12165         * MODULES.html.sh (Misc): Mention it.
12166
12167 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12168
12169         gnulib: use more-standard license notice wording
12170         * gnulib-tool (func_emit_copyright_notice): When emitting a
12171         license notice into a file, use the standard wording as suggested
12172         by the current information for GNU maintainers, except say "file"
12173         rather than "program".  The new wording gives a license version
12174         number, which addresses an issue raised by Glenn Morris in
12175         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12176         * m4/onceonly.m4: Use that same wording here, too.
12177
12178         dup2: minor simplification
12179         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12180         as lib/dup2.c no longer uses 'inline'.
12181
12182 2011-09-25  Bruno Haible  <bruno@clisp.org>
12183
12184         strings: Fix compilation error on MSVC.
12185         * lib/strings.in.h: Include <stddef.h> for size_t.
12186
12187 2011-09-25  Bruno Haible  <bruno@clisp.org>
12188
12189         fflush et al.: Document limitation on MSVC.
12190         * doc/posix-functions/fflush.texi: Document possible crash in handling
12191         mode other than DEFAULT_HANDLING.
12192         * doc/posix-functions/fgetc.texi: Likewise.
12193         * doc/posix-functions/fputc.texi: Likewise.
12194         * doc/posix-functions/fread.texi: Likewise.
12195         * doc/posix-functions/fwrite.texi: Likewise.
12196
12197 2011-09-25  Bruno Haible  <bruno@clisp.org>
12198
12199         msvc-inval: Allow three invalid parameter handling modes.
12200         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12201         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12202         macros.
12203         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12204         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12205         SANE_LIBRARY_HANDLING as a no-op.
12206         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12207         <stdlib.h>.
12208         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12209
12210 2011-09-25  Bruno Haible  <bruno@clisp.org>
12211
12212         msvc-inval: Make handler multithread-safe.
12213         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12214         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12215         declarations.
12216         (gl_msvc_inval_current): New declaration.
12217         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12218         Operate on the structure returned by gl_msvc_inval_current().
12219         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12220         Remove varaiables.
12221         (tls_index, tls_initialized): New variables.
12222         (not_per_thread): New variable.
12223         (gl_msvc_inval_current): New function.
12224         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12225         returned by gl_msvc_inval_current().
12226
12227 2011-09-25  Bruno Haible  <bruno@clisp.org>
12228
12229         msvc-inval: Install handler globally.
12230         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12231         !_MSC_VER.
12232         (gl_msvc_invalid_parameter_handler): Remove declaration.
12233         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12234         declarations.
12235         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12236         Install the handler globally, don't uninstall it.
12237         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12238         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12239         currently valid, call RaiseException instead.
12240         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12241         for !_MSC_VER.
12242
12243 2011-09-25  Bruno Haible  <bruno@clisp.org>
12244
12245         strerror_r-posix: Fix for MSVC 9.
12246         * lib/strerror_r.c (local_snprintf): New function.
12247         (snprintf): Define to local_snprintf, not to _snprintf.
12248
12249 2011-09-25  Bruno Haible  <bruno@clisp.org>
12250
12251         ftruncate: Support for MSVC 9.
12252         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12253         (chsize_nothrow): New function.
12254         (chsize): Redefine as a macro.
12255         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12256         * modules/ftruncate (Depends-on): Add msvc-inval.
12257
12258 2011-09-25  Bruno Haible  <bruno@clisp.org>
12259
12260         New module 'fstat'.
12261         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12262         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12263         * lib/fchdir.c (rpl_fstat): Remove function.
12264         * m4/fstat.m4: New file.
12265         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12266         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12267         declared.
12268         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12269         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12270         * modules/fstat: New file.
12271         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12272         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12273         is set.
12274         * doc/posix-functions/fstat.texi: Mention the new module and the
12275         problem on MSVC.
12276         * NEWS: Mention the change.
12277         * modules/acl (Depends-on): Add fstat.
12278         * modules/chdir-safer (Depends-on): Likewise.
12279         * modules/chown (Depends-on): Likewise.
12280         * modules/copy-file (Depends-on): Likewise.
12281         * modules/fchdir (Depends-on): Likewise.
12282         * modules/fdopendir (Depends-on): Likewise.
12283         * modules/fopen (Depends-on): Likewise.
12284         * modules/fts (Depends-on): Likewise.
12285         * modules/getcwd (Depends-on): Likewise.
12286         * modules/isapipe (Depends-on): Likewise.
12287         * modules/linkat (Depends-on): Likewise.
12288         * modules/lseek (Depends-on): Likewise.
12289         * modules/mkdir-p (Depends-on): Likewise.
12290         * modules/open (Depends-on): Likewise.
12291         * modules/openat (Depends-on): Likewise.
12292         * modules/read-file (Depends-on): Likewise.
12293         * modules/renameat (Depends-on): Likewise.
12294         * modules/utimens (Depends-on): Likewise.
12295
12296 2011-09-25  Bruno Haible  <bruno@clisp.org>
12297
12298         linkat: Fix compilation on MSVC 9.
12299         * lib/linkat.c: Don't include <stdint.h>.
12300
12301 2011-09-25  Bruno Haible  <bruno@clisp.org>
12302
12303         fclose: Support for MSVC 9.
12304         * lib/fclose.c: Include msvc-inval.h.
12305         (fclose_nothrow): New function.
12306         (rpl_fclose): Use it.
12307         * modules/fclose (Depends-on): Add msvc-inval.
12308         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12309
12310 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12311
12312         dup2: minor simplifications
12313         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12314         that it's a performance win.
12315         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12316         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12317
12318 2011-09-24  Jim Meyering  <meyering@redhat.com>
12319
12320         test-futimens: avoid a warning from gcc -Wshadow
12321         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12322         to avoid a shadowing warning.
12323
12324 2011-09-24  Bruno Haible  <bruno@clisp.org>
12325
12326         fdopen: Support for MSVC 9.
12327         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12328         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12329         * lib/fdopen.c: Include msvc-inval.h.
12330         (fdopen_nothrow): New function.
12331         (rpl_fdopen): Use it.
12332         * modules/fdopen (Depends-on): Add msvc-inval.
12333         * modules/fclose-tests (Depends-on): Add fdopen.
12334         * modules/fflush-tests (Depends-on): Likewise.
12335         * modules/fgetc-tests (Depends-on): Likewise.
12336         * modules/fputc-tests (Depends-on): Likewise.
12337         * modules/fread-tests (Depends-on): Likewise.
12338         * modules/freopen-tests (Depends-on): Likewise.
12339         * modules/fseeko-tests (Depends-on): Likewise.
12340         * modules/ftello-tests (Depends-on): Likewise.
12341         * modules/fwrite-tests  (Depends-on): Likewise.
12342         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12343
12344 2011-09-24  Bruno Haible  <bruno@clisp.org>
12345
12346         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12347         * modules/fgetc-tests (Depends-on): Add unistd.
12348         * modules/fputc-tests (Depends-on): Likewise.
12349         * modules/fread-tests (Depends-on): Likewise.
12350         * modules/fwrite-tests (Depends-on): Likewise.
12351
12352 2011-09-24  Bruno Haible  <bruno@clisp.org>
12353
12354         dup: Simplify autoconf test.
12355         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12356         on gl_MSVC_INVAL's result.
12357
12358 2011-09-24  Bruno Haible  <bruno@clisp.org>
12359
12360         Tests for function fwrite().
12361         * modules/fwrite-tests: New file.
12362         * tests/test-fwrite.c: New file.
12363         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12364
12365         Tests for function fread().
12366         * modules/fread-tests: New file.
12367         * tests/test-fread.c: New file.
12368         * modules/stdio-tests (Depends-on): Add fread-tests.
12369
12370         Activate fputc tests.
12371         * modules/stdio-tests (Depends-on): Add fputc-tests.
12372
12373         Enhance fgetc, fputc tests.
12374         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12375         * tests/test-fputc.c (main): Likewise.
12376
12377 2011-09-24  Bruno Haible  <bruno@clisp.org>
12378
12379         write: Support for MSVC 9.
12380         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12381         is not 1.
12382         * lib/write.c (write_nothrow): New function.
12383         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12384         not 1. Use write_nothrow.
12385         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12386         invalid parameter handler.
12387         (gl_PREREQ_WRITE): New macro.
12388         * modules/write (Depends-on): Add msvc-inval.
12389         (configure.ac): Invoke gl_PREREQ_WRITE.
12390         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12391
12392 2011-09-24  Bruno Haible  <bruno@clisp.org>
12393
12394         read: Fix last commit.
12395         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12396
12397 2011-09-24  Bruno Haible  <bruno@clisp.org>
12398
12399         dup2: Fix last commit.
12400         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12401         (rpl_dup2): Disable fcntl workaround on native Windows.
12402
12403         sigprocmask: Make code safer.
12404         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12405         section that changes macro definitions for this compilation unit.
12406
12407 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12408
12409         dup2: clarify by coalescing Windows-specific material
12410         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12411         "msvc-nothrow.h"' to the Windows-specific section, so that the
12412         Emacs source need not contain these include files.
12413         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12414         Windows-specific fixes into this function rather than just the
12415         nothrow fix, as this shortens and clarifies the code.  Always
12416         define as a function, as that's a bit cleaner than having it be
12417         sometimes a function and sometimes a macro.
12418         (rpl_dup2): Move the Windows-specific stuff out of here and into
12419         ms_windows_dup2.  Don't protect the Haiku-related fix with
12420         "#if !defined __linux__", as the same code also works around
12421         a Linux kernel bug, and it doesn't add any system calls on any
12422         platform.  Add comment about FreeBSD 6.1.
12423
12424         sigprocmask: move #include directive
12425         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12426         Windows-specific section, so that the Emacs source need not
12427         contain msvc-inval.h.
12428
12429 2011-09-23  Bruno Haible  <bruno@clisp.org>
12430
12431         read: Support for MSVC 9.
12432         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12433         is not 1.
12434         * lib/read.c (read_nothrow): New function.
12435         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12436         read_nothrow.
12437         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12438         invalid parameter handler.
12439         (gl_PREREQ_READ): New macro.
12440         * modules/read (Depends-on): Add msvc-inval.
12441         (configure.ac): Invoke gl_PREREQ_READ.
12442         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12443
12444 2011-09-23  Bruno Haible  <bruno@clisp.org>
12445
12446         close: Support for MSVC 9.
12447         * lib/close.c: Include <errno.h>, msvc-inval.h.
12448         (close_nothrow): New function.
12449         (rpl_close): Use it.
12450         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12451         invalid parameter handler.
12452         * modules/close (Depends-on): Add msvc-inval.
12453         * modules/dup2-tests (Depends-on): Add close.
12454         * modules/dup3-tests (Depends-on): Likewise.
12455         * modules/fcntl-tests (Depends-on): Likewise.
12456         * modules/spawn-pipe-tests (Depends-on): Likewise.
12457         * modules/unistd-safer-tests (Depends-on): Likewise.
12458         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12459
12460 2011-09-23  Bruno Haible  <bruno@clisp.org>
12461
12462         New module 'dup'.
12463         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12464         Allow replacement.
12465         * lib/dup.c: New file.
12466         * lib/fchdir.c (rpl_dup): Remove function.
12467         * m4/dup.m4: New file.
12468         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12469         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12470         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12471         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12472         * modules/dup: New file.
12473         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12474         'dup' module is in use.
12475         * modules/fdopendir (Depends-on): Add dup.
12476         * modules/fdutimensat-tests (Depends-on): Likewise.
12477         * modules/fts (Depends-on): Likewise.
12478         * modules/futimens-tests (Depends-on): Likewise.
12479         * modules/posix_spawnp-tests (Depends-on): Likewise.
12480         * modules/unistd-safer-tests (Depends-on): Likewise.
12481         * modules/utimens-tests (Depends-on): Likewise.
12482         * doc/posix-functions/dup.texi: Mention the new module and the problem
12483         on MSVC.
12484
12485 2011-09-23  Bruno Haible  <bruno@clisp.org>
12486
12487         getdtablesize: Support for MSVC 9.
12488         * lib/getdtablesize.c: Include msvc-inval.h.
12489         (_setmaxstdio_nothrow): New function.
12490         (_setmaxstdio): Redefine it.
12491         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12492         * modules/getdtablesize (Depends-on): Add msvc-inval.
12493         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12494
12495 2011-09-23  Bruno Haible  <bruno@clisp.org>
12496
12497         signal-h: Rename from signal.
12498         * modules/signal-h: Renamed from modules/signal.
12499         * modules/pthread_sigmask (Depends-on): Update.
12500         * modules/raise (Depends-on): Likewise.
12501         * modules/sigaction (Depends-on): Likewise.
12502         * modules/sigpipe (Depends-on): Likewise.
12503         * modules/sigprocmask (Depends-on): Likewise.
12504         * modules/sys_select (Depends-on): Likewise.
12505         * modules/signal-h-tests: Renamed from modules/signal-tests.
12506         (Files, Depends-on, Makefile.am): Update.
12507         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12508         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12509         (Files, Makefile.am): Update.
12510         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12511         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12512         * modules/signal: New placeholder file.
12513         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12514         * doc/posix-headers/signal.texi: Update.
12515         * NEWS: Mention the change.
12516
12517 2011-09-23  Bruno Haible  <bruno@clisp.org>
12518
12519         sigprocmask: Avoid crashes through signal() on MSVC 9.
12520         * lib/sigprocmask.c: Include msvc-inval.h.
12521         (signal_nothrow): New function.
12522         (signal): Redefine it.
12523         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12524         * modules/sigprocmask (Depends-on): Add msvc-inval.
12525         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12526
12527 2011-09-23  Bruno Haible  <bruno@clisp.org>
12528
12529         Tests for module 'raise'.
12530         * modules/raise-tests: New file.
12531         * tests/test-raise.c: New file.
12532
12533         raise: Support for MSVC.
12534         * lib/signal.in.h (raise): New declaration.
12535         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12536         for native Windows platforms.
12537         * m4/raise.m4: New file.
12538         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12539         HAVE_RAISE, REPLACE_RAISE.
12540         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12541         REPLACE_RAISE.
12542         * modules/raise (Status, Notice): Remove fields.
12543         (Files): Add m4/raise.m4.
12544         (Depends-on): Add signal, msvc-inval.
12545         (configure.ac): Use the common idioms.
12546         (Maintainer): Add me.
12547         * tests/test-signal-c++.cc: Check the signature of raise.
12548         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12549
12550 2011-09-23  Bruno Haible  <bruno@clisp.org>
12551
12552         pipe2: Fix compilation on pre-C99 compilers.
12553         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12554
12555 2011-09-23  Bruno Haible  <bruno@clisp.org>
12556
12557         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12558         * lib/msvc-nothrow.h: New file.
12559         * lib/msvc-nothrow.c: New file.
12560         * m4/msvc-nothrow.m4: New file.
12561         * modules/msvc-nothrow: New file.
12562         * lib/dup2.c: Include msvc-nothrow.h.
12563         (rpl_dup2): No need to protect _get_osfhandle call here.
12564         * lib/accept4.c: Include msvc-nothrow.h.
12565         * lib/error.c: Likewise.
12566         * lib/fcntl.c: Likewise.
12567         * lib/lseek.c: Likewise.
12568         * lib/nonblocking.c: Likewise.
12569         * lib/poll.c: Likewise.
12570         * lib/read.c: Likewise.
12571         * lib/select.c: Likewise.
12572         * lib/sockets.h: Likewise.
12573         * lib/sockets.c: Likewise.
12574         * lib/stdio-read.c: Likewise.
12575         * lib/stdio-write.c: Likewise.
12576         * lib/write.c: Likewise.
12577         * lib/w32sock.h: Likewise.
12578         * lib/w32spawn.h: Likewise.
12579         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12580         * lib/fsync.c: Likewise.
12581         * lib/isapipe.c: Likewise.
12582         * modules/dup2 (Depends-on): Add msvc-nothrow.
12583         * modules/accept4 (Depends-on): Likewise.
12584         * modules/error (Depends-on): Likewise.
12585         * modules/fcntl (Depends-on): Likewise.
12586         * modules/lseek (Depends-on): Likewise.
12587         * modules/nonblocking (Depends-on): Likewise.
12588         * modules/poll (Depends-on): Likewise.
12589         * modules/read (Depends-on): Likewise.
12590         * modules/select (Depends-on): Likewise.
12591         * modules/sockets (Depends-on): Likewise.
12592         * modules/sigpipe (Depends-on): Likewise.
12593         * modules/write (Depends-on): Likewise.
12594         * modules/accept (Depends-on): Likewise.
12595         * modules/bind (Depends-on): Likewise.
12596         * modules/connect (Depends-on): Likewise.
12597         * modules/gethostname (Depends-on): Likewise.
12598         * modules/getpeername (Depends-on): Likewise.
12599         * modules/getsockname (Depends-on): Likewise.
12600         * modules/getsockopt (Depends-on): Likewise.
12601         * modules/ioctl (Depends-on): Likewise.
12602         * modules/listen (Depends-on): Likewise.
12603         * modules/recv (Depends-on): Likewise.
12604         * modules/recvfrom (Depends-on): Likewise.
12605         * modules/send (Depends-on): Likewise.
12606         * modules/sendto (Depends-on): Likewise.
12607         * modules/setsockopt (Depends-on): Likewise.
12608         * modules/shutdown (Depends-on): Likewise.
12609         * modules/socket (Depends-on): Likewise.
12610         * modules/execute (Depends-on): Likewise.
12611         * modules/spawn-pipe (Depends-on): Likewise.
12612         * modules/flock (Depends-on): Likewise.
12613         * modules/fsync (Depends-on): Likewise.
12614         * modules/isapipe (Depends-on): Likewise.
12615         * tests/test-cloexec.c: Include msvc-nothrow.h.
12616         * tests/test-dup-safer.c: Likewise.
12617         * tests/test-dup2.c: Likewise.
12618         * tests/test-dup3.c: Likewise.
12619         * tests/test-fcntl.c: Likewise.
12620         * tests/test-pipe.c: Likewise.
12621         * tests/test-pipe2.c: Likewise.
12622         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12623         * modules/unistd-safer-tests (Depends-on): Likewise.
12624         * modules/dup2-tests (Depends-on): Likewise.
12625         * modules/dup3-tests (Depends-on): Likewise.
12626         * modules/fcntl-tests (Depends-on): Likewise.
12627         * modules/pipe-posix-tests (Depends-on): Likewise.
12628         * modules/pipe2-tests (Depends-on): Likewise.
12629
12630 2011-09-23  Bruno Haible  <bruno@clisp.org>
12631
12632         dup2: Make code more maintainable.
12633         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12634         (rpl_dup2): Use it.
12635         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12636         * modules/dup2 (configure.ac): Invoke it.
12637         Reported by Paul Eggert.
12638
12639 2011-09-23  Bruno Haible  <bruno@clisp.org>
12640
12641         msvc-inval: Fix compilation error.
12642         * lib/msvc-inval.h: Include <excpt.h>.
12643
12644 2011-09-23  Bruno Haible  <bruno@clisp.org>
12645
12646         mkdir: Tweak for MSVC 9.
12647         * lib/sys_stat.in.h: Update comments.
12648         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12649
12650         Tests for module 'chdir'.
12651         * modules/chdir-tests: New file.
12652         * tests/test-chdir.c: New file.
12653
12654         New module 'chdir'.
12655         * modules/chdir: New file.
12656         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12657         (chdir): New declaration.
12658         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12659         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12660         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12661         * tests/test-unistd-c++.cc: Check signature of chdir.
12662         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12663         * modules/chdir-long (Depends-on): Add chdir.
12664         * modules/fchdir (Depends-on): Likewise.
12665         * modules/rename (Depends-on): Likewise.
12666         * modules/savewd (Depends-on): Likewise.
12667
12668         rmdir: Support for mingw, MSVC 9.
12669         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12670         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12671
12672         getcwd: Tweak for MSVC 9.
12673         * lib/unistd.in.h: Update comments.
12674         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12675
12676 2011-09-22  Bruno Haible  <bruno@clisp.org>
12677
12678         strerror_r-posix: Avoid a link error on MSVC.
12679         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12680         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12681
12682 2011-09-22  Bruno Haible  <bruno@clisp.org>
12683
12684         select: Avoid link errors on MSVC.
12685         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12686         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12687         * modules/pselect (Link): Likewise.
12688         * NEWS: Mention the change.
12689         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12690         test-select-stdin against $(LIB_SELECT).
12691         * modules/pselect-tests (Makefile.am): Link test-pselect against
12692         $(LIB_SELECT).
12693
12694 2011-09-22  Bruno Haible  <bruno@clisp.org>
12695
12696         select: Avoid compilation error on MSVC.
12697         * lib/select.c: Don't include <stdbool.h>.
12698
12699 2011-09-21  Bruno Haible  <bruno@clisp.org>
12700
12701         Consolidate all uses of PATH_MAX in *.m4 files.
12702         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12703         macros.
12704         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12705         and gl_PATHMAX_SNIPPET.
12706         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12707         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12708         * modules/chdir-long (Files): Add m4/pathmax.m4.
12709         * modules/getcwd (Files): Likewise.
12710
12711 2011-09-21  Bruno Haible  <bruno@clisp.org>
12712
12713         ftruncate: Un-deprecate, concentrate on Win32 support.
12714         * modules/ftruncate (Status, Notice): Remove sections.
12715         (Depends-on): Add largefile.
12716         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
12717         non-mingw platforms.
12718         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
12719         include <io.h>.
12720         * modules/perror-tests (Depends-on): Add ftruncate.
12721         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
12722         'ftruncate' module.
12723
12724 2011-09-21  Bruno Haible  <bruno@clisp.org>
12725
12726         Add dependencies to new dirent related modules.
12727         * modules/opendir (Depends-on): Add closedir.
12728         * modules/getcwd (Depends-on): Add opendir, closedir.
12729         * modules/dirent-safer-tests (Depends-on): Likewise.
12730         * modules/fdopendir-tests (Depends-on): Likewise.
12731         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
12732         * modules/renameat-tests (Depends-on): Likewise.
12733
12734 2011-09-21  Bruno Haible  <bruno@clisp.org>
12735
12736         opendir: Avoid compilation error on mingw.
12737         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
12738         * modules/opendir (Depends-on): Add unistd.
12739
12740 2011-09-21  Bruno Haible  <bruno@clisp.org>
12741
12742         ftruncate tests: Avoid a test failure on mingw.
12743         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
12744
12745 2011-09-21  Bruno Haible  <bruno@clisp.org>
12746
12747         select tests: Avoid test failures on OSF/1 5.1 and mingw.
12748         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
12749         native Windows.
12750
12751 2011-09-21  Bruno Haible  <bruno@clisp.org>
12752
12753         New module 'fdopen'.
12754         * lib/stdio.in.h (fdopen): New declaration.
12755         * lib/fdopen.c: New file.
12756         * m4/fdopen.m4: New file.
12757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
12758         REPLACE_FDOPEN.
12759         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
12760         REPLACE_FDOPEN.
12761         * modules/fdopen: New file.
12762         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
12763         * tests/test-stdio-c++.cc: Check signature of fdopen.
12764         * doc/posix-functions/fdopen.texi: Mention the new module.
12765
12766 2011-09-21  Bruno Haible  <bruno@clisp.org>
12767
12768         unlockpt tests: Avoid test failure on NetBSD 5.1.
12769         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
12770         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
12771
12772 2011-09-21  Bruno Haible  <bruno@clisp.org>
12773
12774         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
12775         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
12776         * tests/test-getlogin_r.c (main): Likewise.
12777
12778 2011-09-20  Bruno Haible  <bruno@clisp.org>
12779
12780         time tests: Don't require pid_t.
12781         * doc/posix-headers/time.texi: Revert last change.
12782         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
12783         * tests/test-time.c: Comment out the check for pid_t.
12784
12785 2011-09-20  Bruno Haible  <bruno@clisp.org>
12786
12787         fsync tests: Avoid a test failure on mingw.
12788         * tests/test-fsync.c (main): Allow a failure with EIO.
12789
12790 2011-09-20  Bruno Haible  <bruno@clisp.org>
12791
12792         euidaccess: Update comments.
12793         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
12794
12795 2011-09-20  Bruno Haible  <bruno@clisp.org>
12796
12797         Ensure EBADF returns for socket functions on mingw.
12798         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
12799         descriptor is invalid.
12800         * lib/bind.c (rpl_bind): Likewise.
12801         * lib/connect.c (rpl_connect): Likewise.
12802         * lib/getpeername.c (rpl_getpeername): Likewise.
12803         * lib/getsockname.c (rpl_getsockname): Likewise.
12804         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12805         * lib/listen.c (rpl_listen): Likewise.
12806         * lib/recv.c (rpl_recv): Likewise.
12807         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12808         * lib/send.c (rpl_send): Likewise.
12809         * lib/sendto.c (rpl_sendto): Likewise.
12810         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12811         * lib/shutdown.c (rpl_shutdown): Likewise.
12812
12813 2011-09-20  Bruno Haible  <bruno@clisp.org>
12814
12815         select tests: EBADF tests.
12816         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
12817         test_bad_fd): New functions.
12818         (test_function): Invoke also test_bad_fd.
12819
12820 2011-09-20  Bruno Haible  <bruno@clisp.org>
12821
12822         Tests for module 'posix_spawn_file_actions_addopen.
12823         * modules/posix_spawn_file_actions_addopen-tests: New file.
12824         * tests/test-posix_spawn_file_actions_addopen.c: New file.
12825
12826         Tests for module 'posix_spawn_file_actions_adddup2'.
12827         * modules/posix_spawn_file_actions_adddup2-tests: New file.
12828         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
12829
12830         Tests for module 'posix_spawn_file_actions_addclose'.
12831         * modules/posix_spawn_file_actions_addclose-tests: New file.
12832         * tests/test-posix_spawn_file_actions_addclose.c: New file.
12833
12834 2011-09-20  Bruno Haible  <bruno@clisp.org>
12835
12836         Tests for module 'unlockpt'.
12837         * modules/unlockpt-tests: New file.
12838         * tests/test-unlockpt.c: New file.
12839         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
12840
12841         Tests for module 'grantpt'.
12842         * modules/grantpt-tests: New file.
12843         * tests/test-grantpt.c: New file.
12844         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
12845
12846 2011-09-20  Bruno Haible  <bruno@clisp.org>
12847
12848         freopen tests: EBADF tests.
12849         * tests/test-freopen.c: Include errno.h, unistd.h.
12850         (main): Add tests for EBADF, commented out for the moment.
12851
12852         fclose tests: EBADF tests.
12853         * tests/test-fclose.c (main): Add tests for EBADF.
12854
12855         fflush tests: EBADF tests.
12856         * tests/test-fflush.c: Include errno.h, macros.h.
12857         (main): Add tests for EBADF.
12858
12859         ftello tests: EBADF tests.
12860         * tests/test-ftello4.sh: New file.
12861         * tests/test-ftello4.c: New file.
12862         * modules/ftello-tests (Files): Add them.
12863         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
12864
12865         fseeko tests: EBADF tests.
12866         * tests/test-fseeko4.sh: New file.
12867         * tests/test-fseeko4.c: New file.
12868         * modules/fseeko-tests (Files): Add them.
12869         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
12870
12871         Tests for function fputc().
12872         * modules/fputc-tests: New file.
12873         * tests/test-fputc.c: New file.
12874         * modules/stdio-tests (Depends-on): Add fputc-tests.
12875
12876         Tests for function fgetc().
12877         * modules/fgetc-tests: New file.
12878         * tests/test-fgetc.c: New file.
12879         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12880
12881         Tests for function fdopen().
12882         * modules/fdopen-tests: New file.
12883         * tests/test-fdopen.c: New file.
12884         * modules/stdio-tests (Depends-on): Add fdopen-tests.
12885
12886         Tests for module 'vdprintf'.
12887         * modules/vdprintf-tests: New file.
12888         * tests/test-vdprintf.c: New file.
12889
12890         Tests for module 'dprintf'.
12891         * modules/dprintf-tests: New file.
12892         * tests/test-dprintf.c: New file.
12893
12894 2011-09-20  Bruno Haible  <bruno@clisp.org>
12895
12896         Tests for module 'ioctl'.
12897         * modules/ioctl-tests: New file.
12898         * tests/test-ioctl.c: New file.
12899
12900 2011-09-20  Bruno Haible  <bruno@clisp.org>
12901
12902         fcntl tests: EBADF tests.
12903         * tests/test-fcntl.c (main): Add more tests for EBADF.
12904
12905 2011-09-20  Bruno Haible  <bruno@clisp.org>
12906
12907         utimensat tests: EBADF tests.
12908         * tests/test-utimensat.c (main): Add tests for EBADF.
12909
12910         renameat tests: EBADF tests.
12911         * tests/test-renameat.c (main): Add tests for EBADF.
12912
12913         mkfifoat tests: EBADF tests.
12914         * tests/test-mkfifoat.c (main): Add tests for EBADF.
12915
12916         readlinkat tests: EBADF tests.
12917         * tests/test-readlinkat.c (main): Add tests for EBADF.
12918
12919         symlinkat tests: EBADF tests.
12920         * tests/test-symlinkat.c (main): Add tests for EBADF.
12921
12922         linkat tests: EBADF tests.
12923         * tests/test-linkat.c (main): Add tests for EBADF.
12924
12925         Tests for module 'faccessat'.
12926         * modules/faccessat-tests: New file.
12927         * tests/test-faccessat.c: New file.
12928
12929         fdopendir tests: EBADF tests.
12930         * tests/test-fdopendir.c (main): Add more tests for EBADF.
12931
12932         openat tests: EBADF tests.
12933         * tests/test-fchownat.c (main): Add tests for EBADF.
12934         * tests/test-fstatat.c (main): Likewise.
12935         * tests/test-mkdirat.c (main): Likewise.
12936         * tests/test-openat.c (main): Likewise.
12937         * tests/test-unlinkat.c (main): Likewise.
12938         * tests/test-fchmodat.c: New file.
12939         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
12940         (Makefile.am): Also run 'test-fchmodat'.
12941
12942 2011-09-20  Bruno Haible  <bruno@clisp.org>
12943
12944         utimens, futimens, fdutimensat tests: EBADF tests.
12945         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
12946
12947         Tests for function fstat().
12948         * modules/fstat-tests: New file.
12949         * tests/test-fstat.c: New file.
12950         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
12951
12952 2011-09-20  Bruno Haible  <bruno@clisp.org>
12953
12954         test-ttyname_r tests: EBADF tests.
12955         * tests/test-ttyname_r.c (main): Add tests for EBADF.
12956
12957         Tests for module 'isatty'.
12958         * modules/isatty-tests: New file.
12959         * tests/test-isatty.c: New file.
12960
12961         Tests for module 'write'.
12962         * modules/write-tests: New file.
12963         * tests/test-write.c: New file.
12964
12965         Tests for module 'read'.
12966         * modules/read-tests: New file.
12967         * tests/test-read.c: New file.
12968
12969         pwrite tests: EBADF tests.
12970         * tests/test-pwrite.c (main): Add tests for EBADF.
12971
12972         pread tests: EBADF tests.
12973         * tests/test-pread.c (main): Add tests for EBADF.
12974
12975         lseek tests: EBADF tests.
12976         * tests/test-lseek.c (main): Add more tests for EBADF.
12977
12978         Tests for module 'ftruncate'.
12979         * modules/ftruncate-tests: New file.
12980         * tests/test-ftruncate.sh: New file.
12981         * tests/test-ftruncate.c: New file.
12982
12983         fsync tests: EBADF tests.
12984         * tests/test-fsync.c (main): Add more tests for EBADF.
12985
12986         fdatasync tests: EBADF tests.
12987         * tests/test-fdatasync.c (main): Add more tests for EBADF.
12988
12989         Tests for module 'fchown'.
12990         * modules/fchown-tests: New file.
12991         * tests/test-fchown.c: New file.
12992
12993         Tests for module 'fchmod'.
12994         * modules/fchmod-tests: New file.
12995         * tests/test-fchmod.c: New file.
12996
12997         fchdir tests: EBADF tests.
12998         * tests/test-fchdir.c (main): Add more tests for EBADF.
12999
13000         dup2 tests: EBADF tests.
13001         * tests/test-dup2.c (main): Add more tests for EBADF.
13002
13003         Tests for module 'dup'.
13004         * modules/dup-tests: New file.
13005         * tests/test-dup.c: New file.
13006
13007         Tests for module 'close'.
13008         * modules/close-tests: New file.
13009         * tests/test-close.c: New file.
13010
13011 2011-09-20  Bruno Haible  <bruno@clisp.org>
13012
13013         Tests for module 'shutdown'.
13014         * modules/shutdown-tests: New file.
13015         * tests/test-shutdown.c: New file.
13016
13017         Tests for module 'setsockopt'.
13018         * modules/setsockopt-tests: New file.
13019         * tests/test-setsockopt.c: New file.
13020
13021         Tests for module 'sendto'.
13022         * modules/sendto-tests: New file.
13023         * tests/test-sendto.c: New file.
13024
13025         Tests for module 'send'.
13026         * modules/send-tests: New file.
13027         * tests/test-send.c: New file.
13028
13029         Tests for module 'recvfrom'.
13030         * modules/recvfrom-tests: New file.
13031         * tests/test-recvfrom.c: New file.
13032
13033         Tests for module 'recv'.
13034         * modules/recv-tests: New file.
13035         * tests/test-recv.c: New file.
13036
13037         Tests for module 'listen'.
13038         * modules/listen-tests: New file.
13039         * tests/test-listen.c: New file.
13040
13041         Tests for module 'getsockopt'.
13042         * modules/getsockopt-tests: New file.
13043         * tests/test-getsockopt.c: New file.
13044
13045         Tests for module 'getsockname'.
13046         * modules/getsockname-tests: New file.
13047         * tests/test-getsockname.c: New file.
13048
13049         Tests for module 'getpeername'.
13050         * modules/getpeername-tests: New file.
13051         * tests/test-getpeername.c: New file.
13052
13053         Tests for module 'connect'.
13054         * modules/connect-tests: New file.
13055         * tests/test-connect.c: New file.
13056
13057         Tests for module 'bind'.
13058         * modules/bind-tests: New file.
13059         * tests/test-bind.c: New file.
13060
13061         accept4 tests: Fix for native Windows.
13062         * tests/test-accept4.c: Include sockets.h.
13063         (main): Invoke gl_sockets_startup.
13064         * modules/accept4-tests (Depends-on): Add sockets.
13065
13066         accept tests: Fix for native Windows.
13067         * tests/test-accept.c: Include sockets.h.
13068         (main): Invoke gl_sockets_startup.
13069         * modules/accept-tests (Depends-on): Add sockets.
13070
13071 2011-09-19  Bruno Haible  <bruno@clisp.org>
13072
13073         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13074         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13075         do...while(0).
13076         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13077         Suggested by Paul Eggert.
13078
13079 2011-09-19  Bruno Haible  <bruno@clisp.org>
13080
13081         sched: Ensure pid_t is defined.
13082         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13083         not define pid_t.
13084         * lib/sched.in.h: Include <sys/types.h>.
13085         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13086         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13087
13088 2011-09-19  Bruno Haible  <bruno@clisp.org>
13089
13090         msvc-inval: Ensure the entire expansion is a single statement.
13091         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13092         of braces.
13093
13094 2011-09-19  Jim Meyering  <meyering@redhat.com>
13095
13096         tests: use printf, not echo in init.sh's warn_ function
13097         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13098         misbehave when given strings containing a backslash or starting
13099         with e.g., -n.  James Youngman suggested setting IFS.
13100
13101 2011-09-19  Eric Blake  <eblake@redhat.com>
13102
13103         futimens: enhance test
13104         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13105         closed non-negative fd.
13106
13107         date: accept 'hence' as opposite of 'ago'
13108         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13109         * tests/test-parse-datetime.c (main): Enhance test.
13110         Suggested by Jesse Wilson.
13111
13112 2011-09-19  Jim Meyering  <meyering@redhat.com>
13113
13114         getcwd: don't fail in a deep directory on a system without openat
13115         Before this change, getcwd would fail when called from a directory
13116         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13117         the non-openat implementation used "..", "../..", "../../..", etc.
13118         to access ancestor directories.  With too many, that string would
13119         be longer than PATH_MAX.
13120         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13121         using gnulib's openat replacement.
13122         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13123         we're using the replacement function.
13124
13125 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13126
13127         maint.mk: avoid warnings from perl about missing files
13128         * top/maint.mk (def_sym_regex): Ignore files listed in
13129         $(gl_other_headers_) that do not exist, say because a project
13130         does not use a corresponding module.
13131
13132 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13133
13134         stat: use pathmax.h only if needed
13135         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13136         This is better for Emacs, which does not have a mingw port and
13137         therefore can avoid the pathmax module.
13138
13139         utimens: remove dependency on dup2
13140         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13141         to work around the Linux kernel bug.
13142         * modules/utimens (Depends-on): Remove dup2.
13143
13144 2011-09-18  Bruno Haible  <bruno@clisp.org>
13145
13146         inet_ntop, inet_pton: Look for it also in libresolv.
13147         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13148         libnsl, search for it in libresolv.
13149         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13150         Needed on Solaris 7.
13151
13152 2011-09-18  Bruno Haible  <bruno@clisp.org>
13153
13154         accept, accept4 tests: Avoid link error on Solaris.
13155         * modules/accept-tests (Makefile.am): Link test-accept against
13156         $(LIBSOCKET).
13157         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13158         $(LIBSOCKET).
13159
13160         accept4: Avoid link error on Solaris.
13161         * modules/accept4 (Link): New section.
13162
13163         socket functions: Avoid link errors on Solaris.
13164         * modules/accept (Depends-on): Add socketlib.
13165         (Link): New section.
13166         * modules/bind (Depends-on): Add socketlib.
13167         (Link): New section.
13168         * modules/connect (Depends-on): Add socketlib.
13169         (Link): New section.
13170         * modules/getpeername (Depends-on): Add socketlib.
13171         (Link): New section.
13172         * modules/getsockname (Depends-on): Add socketlib.
13173         (Link): New section.
13174         * modules/getsockopt (Depends-on): Add socketlib.
13175         (Link): New section.
13176         * modules/listen (Depends-on): Add socketlib.
13177         (Link): New section.
13178         * modules/recv (Depends-on): Add socketlib.
13179         (Link): New section.
13180         * modules/recvfrom (Depends-on): Add socketlib.
13181         (Link): New section.
13182         * modules/send (Depends-on): Add socketlib.
13183         (Link): New section.
13184         * modules/sendto (Depends-on): Add socketlib.
13185         (Link): New section.
13186         * modules/setsockopt (Depends-on): Add socketlib.
13187         (Link): New section.
13188         * modules/shutdown (Depends-on): Add socketlib.
13189         (Link): New section.
13190         * modules/socket (Depends-on): Add socketlib.
13191         (Link): New section.
13192
13193 2011-09-18  Bruno Haible  <bruno@clisp.org>
13194
13195         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13196         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13197         than 5 seconds.
13198         * modules/ptsname-tests (configure.ac): Test for alarm.
13199
13200 2011-09-18  Bruno Haible  <bruno@clisp.org>
13201
13202         posix_spawn_file_actions_add*: Fix module dependencies.
13203         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13204         posix_spawn_file_actions_init.
13205         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13206         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13207
13208 2011-09-18  Bruno Haible  <bruno@clisp.org>
13209
13210         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13211         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13212         * tests/test-renameat.c (main): Likewise.
13213
13214 2011-09-18  Bruno Haible  <bruno@clisp.org>
13215
13216         Tests for module 'accept4'.
13217         * modules/accept4-tests: New file.
13218         * tests/test-accept4.c: New file.
13219
13220 2011-09-18  Bruno Haible  <bruno@clisp.org>
13221
13222         Tests for module 'accept'.
13223         * modules/accept-tests: New file.
13224         * tests/test-accept.c: New file.
13225
13226 2011-09-18  Bruno Haible  <bruno@clisp.org>
13227
13228         dup2: Support for MSVC.
13229         * lib/dup2.c: Include msvc-inval.h.
13230         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13231         _get_osfhandle calls.
13232         * modules/dup2 (Depends-on): Add msvc-inval.
13233         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13234
13235         New module 'msvc-inval'.
13236         * lib/msvc-inval.h: New file.
13237         * lib/msvc-inval.c: New file.
13238         * m4/msvc-inval.m4: New file.
13239         * modules/msvc-inval: New file.
13240
13241 2011-09-17  Bruno Haible  <bruno@clisp.org>
13242
13243         Tests for module 'pclose'.
13244         * modules/pclose-tests: New file.
13245
13246         New module 'pclose'.
13247         * lib/stdio.in.h (pclose): New declaration.
13248         * lib/pclose.c: New file.
13249         * m4/pclose.m4: New file.
13250         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13251         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13252         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13253         * modules/pclose: New file.
13254         * modules/popen-tests (Depends-on): Add pclose.
13255         * modules/popen-safer-tests (Depends-on): Likewise.
13256         * doc/posix-functions/pclose.texi: Mention the new module.
13257
13258 2011-09-17  Bruno Haible  <bruno@clisp.org>
13259
13260         popen: Support for MSVC.
13261         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13262         * lib/popen.c (popen): Provide alternate definition for native Windows.
13263         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13264         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13265         * modules/popen (Depends-on, configure.ac): Update condition.
13266         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13267         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13268         fixed.
13269
13270 2011-09-17  Bruno Haible  <bruno@clisp.org>
13271
13272         isnanl, isnand, isnanf: Work around MSVC bug.
13273         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13274
13275 2011-09-17  Bruno Haible  <bruno@clisp.org>
13276
13277         sys_socket tests: Fix recent mistake.
13278         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13279
13280 2011-09-17  Bruno Haible  <bruno@clisp.org>
13281
13282         putenv: Support for MSVC.
13283         * modules/putenv (Depends-on): Add environ.
13284         * lib/putenv.c (environ): Disable declaration.
13285         * lib/unistd.in.h: Update comment.
13286
13287 2011-09-17  Bruno Haible  <bruno@clisp.org>
13288
13289         math: Avoid macro redefinition warnings on MSVC.
13290         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13291         Undefine before redefining.
13292
13293 2011-09-17  Bruno Haible  <bruno@clisp.org>
13294
13295         doc: Mention functions which are declared as macros.
13296         * doc/posix-functions/*[fl].texi: Mention that some functions are
13297         defined as macros with arguments only.
13298
13299 2011-09-17  Bruno Haible  <bruno@clisp.org>
13300
13301         Add dependencies to new dirent related modules.
13302         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13303         * modules/fts (Depends-on): Likewise.
13304         * modules/glob (Depends-on): Likewise.
13305         * modules/savedir (Depends-on): Likewise.
13306         * modules/scandir (Depends-on): Likewise.
13307         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13308         * modules/fdopendir (Depends-on): Add opendir.
13309
13310 2011-09-17  Bruno Haible  <bruno@clisp.org>
13311
13312         inet_pton: Support for MSVC on Windows Vista or newer.
13313         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13314         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13315         HAVE_DECL_INET_PTON is defined.
13316         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13317         On platforms with <winsock2.h>, test whether inet_pton is declared in
13318         <ws2tcpip.h>. If so, arrange to replace it.
13319         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13320         REPLACE_INET_PTON.
13321         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13322         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13323         (Depends-on, configure.ac): Update condition.
13324         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13325
13326 2011-09-17  Bruno Haible  <bruno@clisp.org>
13327
13328         inet_ntop: Support for MSVC on Windows Vista or newer.
13329         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13330         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13331         HAVE_DECL_INET_NTOP is defined.
13332         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13333         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13334         <ws2tcpip.h>. If so, arrange to replace it.
13335         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13336         REPLACE_INET_NTOP.
13337         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13338         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13339         (Depends-on, configure.ac): Update condition.
13340         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13341
13342 2011-09-16  Eric Blake  <eblake@redhat.com>
13343
13344         test-fsync: yet another enhancement
13345         * tests/test-fsync.c (main): Also test behavior on read-only text
13346         file.
13347
13348 2011-09-16  Bruno Haible  <bruno@clisp.org>
13349
13350         Enhance fsync, fdatasync tests.
13351         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13352         * tests/test-fdatasync.c (main): Likewise.
13353
13354 2011-09-16  Bruno Haible  <bruno@clisp.org>
13355
13356         Support for MSVC compiler: Ensure mode_t gets defined.
13357         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13358         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13359         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13360         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13361         * tests/test-fcntl-h.c: Check that mode_t is defined.
13362         * tests/test-sys_stat.c: Likewise.
13363         * tests/test-sys_types.c: Likewise.
13364         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13365         * doc/posix-headers/sys_stat.texi: Likewise.
13366         * doc/posix-headers/sys_types.texi: Likewise.
13367
13368 2011-09-16  Bruno Haible  <bruno@clisp.org>
13369
13370         sys_stat: Support for MSVC.
13371         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13372         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13373         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13374         MSVC.
13375
13376 2011-09-16  Bruno Haible  <bruno@clisp.org>
13377
13378         Support for MSVC compiler: Ensure off_t gets defined.
13379         * lib/unistd.in.h: Include <sys/types.h>.
13380         * tests/test-fcntl-h.c: Check that off_t is defined.
13381         * tests/test-sys_stat.c: Likewise.
13382         * tests/test-sys_types.c: Likewise.
13383
13384 2011-09-16  Eric Blake  <eblake@redhat.com>
13385
13386         fdatasync: port to Solaris
13387         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13388         * modules/fdatasync (Link): Document it.
13389         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13390
13391         fdatasync: port to MacOS X 10.7
13392         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13393         declared.
13394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13395         * modules/unistd (Makefile.am): Substitute it.
13396         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13397         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13398
13399         fdatasync: minor improvements
13400         * modules/fdatasync (Depends-on): Add condition for fsync.
13401         * lib/fdatasync.c (fdatasync): Add comment.
13402         * tests/test-unistd-c++.cc: Test fdatasync.
13403
13404         unistd: update refs to newer POSIX
13405         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13406         Suggested by Bruno Haible.
13407
13408         fdatasync: new module
13409         * modules/fsync (Description): Document difference to fdatasync.
13410         * modules/fdatasync: New module.
13411         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13412         * lib/fdatasync.c (fdatasync): Likewise.
13413         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13414         defaults.
13415         * modules/unistd (Makefile.am): Set witnesses.
13416         * lib/unistd.in.h (fdatasync): Declare.
13417         * MODULES.html.sh: Document it.
13418         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13419         * modules/fdatasync-tests: New test.
13420         * tests/test-fdatasync.c: Likewise.
13421
13422 2011-09-16  Eric Blake  <eblake@redhat.com>
13423
13424         test-fsync: enhance tests
13425         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13426         * tests/test-fsync.c (main): Enhance test.
13427
13428 2011-09-15  Bruno Haible  <bruno@clisp.org>
13429
13430         Support for MSVC compiler: Ensure ssize_t gets defined.
13431         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13432         * doc/posix-headers/stdio.texi: Likewise.
13433         * modules/stdio (Depends-on): Add ssize_t.
13434         * modules/sys_socket (Depends-on): Likewise.
13435         * modules/sys_types (Depends-on): Likewise.
13436         * modules/sys_uio (Depends-on): Likewise.
13437         * modules/unistd (Depends-on): Likewise.
13438         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13439         * tests/test-sys_types.c: Check that ssize_t is defined.
13440
13441 2011-09-14  Bruno Haible  <bruno@clisp.org>
13442
13443         Avoid using #, the m4 comment starter character, near brackets.
13444         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13445         delimiter character in sed expressions.
13446         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13447         Suggested by Eric Blake.
13448
13449         Properly quote AC_CHECK_DECLS' 4th argument.
13450         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13451         argument.
13452         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13453         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13454         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13455         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13456         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13457         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13458         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13459         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13460         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13461         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13462         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13463         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13464         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13465         * m4/isinf.m4 (gl_ISINF): Likewise.
13466         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13467         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13468         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13469         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13470         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13471         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13472         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13473         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13474         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13475         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13476         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13477         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13478         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13479         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13480         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13481         Reported by Eric Blake.
13482
13483         Properly quote AC_CHECK_DECL's 4th argument.
13484         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13485         argument.
13486         * m4/argp.m4 (gl_ARGP): Likewise.
13487         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13488         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13489         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13490         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13491         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13492         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13493         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13494         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13495         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13496         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13497         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13498         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13499         Reported by Eric Blake.
13500
13501 2011-09-14  Eric Blake  <eblake@redhat.com>
13502
13503         opendir: avoid compile warning
13504         * lib/opendir.c (includes): Always include errno.h.
13505         Reported by Tatsuro MATSUOKA.
13506
13507 2011-09-14  Jim Meyering  <meyering@redhat.com>
13508
13509         maint.mk: sc_tight_scope: propagate failure from sub-make
13510         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13511         Reported by Martin von Gagern.
13512
13513 2011-09-13  Bruno Haible  <bruno@clisp.org>
13514
13515         tempname: Support for MSVC.
13516         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13517         MSVC.
13518         * modules/tempname (Depends-on): Add fcntl-h.
13519
13520 2011-09-13  Bruno Haible  <bruno@clisp.org>
13521
13522         sys_time: Support for MSVC.
13523         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13524         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13525         include <winsock2.h>.
13526         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13527         function declarations that collide with POSIX.
13528         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13529         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13530
13531 2011-09-13  Bruno Haible  <bruno@clisp.org>
13532
13533         stat: Support for MSVC.
13534         * lib/stat.c: Include pathmax.h.
13535         * modules/stat (Depends-on): Add pathmax.
13536
13537         pathmax: Support for native Windows.
13538         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13539
13540 2011-09-12  Bruno Haible  <bruno@clisp.org>
13541
13542         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13543         * lib/dirent.in.h (struct dirent): New type.
13544         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13545         DT_WHT): New macros.
13546         (DIR): New type.
13547         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13548         (readdir, rewinddir): New declarations.
13549         * lib/dirent-private.h: New file.
13550         * lib/opendir.c: New file.
13551         * lib/readdir.c: New file.
13552         * lib/rewinddir.c: New file.
13553         * lib/closedir.c: New file.
13554         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13555         * m4/opendir.m4: New file.
13556         * m4/readdir.m4: New file.
13557         * m4/rewinddir.m4: New file.
13558         * m4/closedir.m4: New file.
13559         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13560         REPLACE_CLOSEDIR here.
13561         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13562         readdir, rewinddir are declared.
13563         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13564         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13565         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13566         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13567         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13568         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13569         * modules/opendir: New file.
13570         * modules/readdir: New file.
13571         * modules/rewinddir: New file.
13572         * modules/closedir: New file.
13573         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13574         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13575         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13576         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13577         * NEWS: Mention the 'fchdir' change.
13578
13579 2011-09-11  Bruno Haible  <bruno@clisp.org>
13580
13581         asm-underscore.m4: Support for MSVC.
13582         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13583         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13584
13585 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13586
13587         Doc about crypt functions.
13588         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13589         needing for _GNU_SOURCE to get crypt.
13590         * doc/posix-functions/encrypt.texi: Likewise.
13591         * doc/posix-functions/setkey.texi: Likewise.
13592
13593 2011-09-11  Bruno Haible  <bruno@clisp.org>
13594
13595         doc: Update regarding MSVC 9.
13596         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13597         tested".
13598         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13599         * doc/posix-headers/*.texi: Likewise.
13600         * doc/pastposix-functions/*.texi: Likewise.
13601         * doc/glibc-functions/*.texi: Likewise.
13602         * doc/glibc-headers/*.texi: Likewise.
13603
13604 2011-09-11  Bruno Haible  <bruno@clisp.org>
13605
13606         unistd et al.: Don't assume <unistd.h> exists.
13607         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13608         does not exist.
13609         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13610         exist. But include <stdlib.h>.
13611         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13612         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13613         symlink() does not exist.
13614         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13615         include <io.h> instead.
13616         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13617         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13618         include <direct.h> instead.
13619         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13620         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13621         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13622         <io.h> instead.
13623         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13624         correctly if the system does not have hard links.
13625         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13626         <direct.h> instead.
13627         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13628         it when looking for function declarations.
13629         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13630         <direct.h> and <io.h> instead.
13631         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13632
13633 2011-09-11  Bruno Haible  <bruno@clisp.org>
13634
13635         strcase: Support for MSVC.
13636         * modules/strcase (Status, Notice): Remove obsoletion mark.
13637         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13638         * doc/posix-functions/strncasecmp.texi: Likewise.
13639
13640         strings: Don't assume <strings.h> exists.
13641         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13642         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13643         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13644         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13645
13646 2011-09-11  Bruno Haible  <bruno@clisp.org>
13647
13648         dirent: Don't assume <dirent.h> exists.
13649         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13650         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13651         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13652         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13653
13654 2011-09-11  Bruno Haible  <bruno@clisp.org>
13655
13656         Fix wint_t on MSVC.
13657         * lib/wchar.in.h (wint_t): On MSVC, override it.
13658         * lib/wctype.in.h (wint_t): Likewise.
13659         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13660         MSVC.
13661         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13662         * doc/posix-headers/wctype.texi: Likewise.
13663
13664 2011-09-11  Bruno Haible  <bruno@clisp.org>
13665
13666         sys_types: Fix typo.
13667         * lib/sys_types.in.h: Fix typo in comment.
13668         Reported by Paul Eggert.
13669
13670         Support for MSVC compiler: Ensure size_t gets defined.
13671         * modules/strings (Depends-on): Add 'sys_types'.
13672         * modules/sys_uio (Depends-on): Likewise.
13673         * lib/sys_uio.in.h: Update comment.
13674
13675         C++ tests for module 'sys_types'.
13676         * modules/sys_types-c++-tests: New file.
13677         * tests/test-sys_types-c++.cc: New file.
13678
13679         Tests for module 'sys_types'.
13680         * modules/sys_types-tests: New file.
13681         * tests/test-sys_types.c: New file.
13682
13683         New module 'sys_types'.
13684         * lib/sys_types.in.h: New file.
13685         * m4/sys_types_h.m4: New file.
13686         * modules/sys_types: New file.
13687         * doc/posix-headers/sys_types.texi: Mention the new module and the
13688         size_t problem on MSVC 9.
13689
13690 2011-09-11  Bruno Haible  <bruno@clisp.org>
13691
13692         Support for MSVC compiler: Avoid division by a literal 0.
13693         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13694         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13695         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13696         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13697         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13698         * tests/infinity.h: New file.
13699         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13700         on MSVC.
13701         * tests/test-ceilf1.c: Include infinity.h.
13702         (main): Use Infinityf.
13703         * tests/test-ceil1.c: Include infinity.h.
13704         (main): Use Infinityd.
13705         * tests/test-ceill.c: Include infinity.h.
13706         (main): Use Infinityl.
13707         * tests/test-dprintf-posix.c: Include infinity.h.
13708         (test_function): Use Infinityd.
13709         * tests/test-floorf1.c: Include infinity.h.
13710         (main): Use Infinityf.
13711         * tests/test-floor1.c: Include infinity.h.
13712         (main): Use Infinityd.
13713         * tests/test-floorl.c: Include infinity.h.
13714         (main): Use Infinityl.
13715         * tests/test-fprintf-posix.c: Include infinity.h.
13716         (test_function): Use Infinityd.
13717         * tests/test-frexp.c: Include infinity.h.
13718         (main): Use Infinityd.
13719         * tests/test-frexpl.c: Include infinity.h.
13720         (main): Use Infinityl.
13721         * tests/test-isfinite.c: Include infinity.h.
13722         (test_isfinitef): Use Infinityf.
13723         (test_isfinited): Use Infinityd.
13724         (test_isfinitel): Use Infinityl.
13725         * tests/test-isinf.c: Include infinity.h.
13726         (test_isinff): Use Infinityf.
13727         (test_isinfd): Use Infinityd.
13728         (test_isinfl): Use Infinityl.
13729         * tests/test-isnan.c: Include infinity.h.
13730         (test_float): Use Infinityf.
13731         (test_double): Use Infinityd.
13732         (test_long_double): Use Infinityl.
13733         * tests/test-isnanf.h: Include infinity.h.
13734         (main): Use Infinityf.
13735         * tests/test-isnand.h: Include infinity.h.
13736         (main): Use Infinityd.
13737         * tests/test-isnanl.h: Include infinity.h.
13738         (main): Use Infinityl.
13739         * tests/test-ldexpl.c: Include infinity.h.
13740         (main): Use Infinityl.
13741         * tests/test-printf-posix.h: Include infinity.h.
13742         (test_function): Use Infinityd.
13743         * tests/test-roundf1.c: Include infinity.h.
13744         (main): Use Infinityf.
13745         * tests/test-round1.c: Include infinity.h.
13746         (main): Use Infinityd.
13747         * tests/test-roundl.c: Include infinity.h.
13748         (main): Use Infinityl.
13749         * tests/test-signbit.c: Include infinity.h.
13750         (test_signbitf): Use Infinityf.
13751         (test_signbitd): Use Infinityd.
13752         (test_signbitl): Use Infinityl.
13753         * tests/test-snprintf-posix.h: Include infinity.h.
13754         (test_function): Use Infinityd, Infinityl.
13755         * tests/test-sprintf-posix.h: Include infinity.h.
13756         (test_function): Use Infinityd, Infinityl.
13757         * tests/test-truncf1.c: Include infinity.h.
13758         (main): Use Infinityf.
13759         * tests/test-trunc1.c: Include infinity.h.
13760         (main): Use Infinityd.
13761         * tests/test-truncl.c: Include infinity.h.
13762         (main): Use Infinityl.
13763         * tests/test-vasnprintf-posix.c: Include infinity.h.
13764         (test_function): Use Infinityd, Infinityl.
13765         * tests/test-vasprintf-posix.c: Include infinity.h.
13766         (test_function): Use Infinityd, Infinityl.
13767         * modules/ceilf-tests (Files): Add tests/infinity.h.
13768         * modules/ceil-tests (Files): Likewise.
13769         * modules/ceill-tests (Files): Likewise.
13770         * modules/dprintf-posix-tests (Files): Likewise.
13771         * modules/floorf-tests (Files): Likewise.
13772         * modules/floor-tests (Files): Likewise.
13773         * modules/floorl-tests (Files): Likewise.
13774         * modules/fprintf-posix-tests (Files): Likewise.
13775         * modules/frexp-tests (Files): Likewise.
13776         * modules/frexp-nolibm-tests (Files): Likewise.
13777         * modules/frexpl-tests (Files): Likewise.
13778         * modules/frexpl-nolibm-tests (Files): Likewise.
13779         * modules/isfinite-tests (Files): Likewise.
13780         * modules/isinf-tests (Files): Likewise.
13781         * modules/isnan-tests (Files): Likewise.
13782         * modules/isnanf-tests (Files): Likewise.
13783         * modules/isnanf-nolibm-tests (Files): Likewise.
13784         * modules/isnand-tests (Files): Likewise.
13785         * modules/isnand-nolibm-tests (Files): Likewise.
13786         * modules/isnanl-tests (Files): Likewise.
13787         * modules/isnanl-nolibm-tests (Files): Likewise.
13788         * modules/ldexpl-tests (Files): Likewise.
13789         * modules/printf-posix-tests (Files): Likewise.
13790         * modules/roundf-tests (Files): Likewise.
13791         * modules/round-tests (Files): Likewise.
13792         * modules/roundl-tests (Files): Likewise.
13793         * modules/signbit-tests (Files): Likewise.
13794         * modules/snprintf-posix-tests (Files): Likewise.
13795         * modules/sprintf-posix-tests (Files): Likewise.
13796         * modules/truncf-tests (Files): Likewise.
13797         * modules/trunc-tests (Files): Likewise.
13798         * modules/truncl-tests (Files): Likewise.
13799         * modules/vasnprintf-posix-tests (Files): Likewise.
13800         * modules/vasprintf-posix-tests (Files): Likewise.
13801         * modules/vdprintf-posix-tests (Files): Likewise.
13802         * modules/vfprintf-posix-tests (Files): Likewise.
13803         * modules/vprintf-posix-tests (Files): Likewise.
13804         * modules/vsnprintf-posix-tests (Files): Likewise.
13805         * modules/vsprintf-posix-tests (Files): Likewise.
13806         * modules/xprintf-posix-tests (Files): Likewise.
13807
13808 2011-09-11  Bruno Haible  <bruno@clisp.org>
13809
13810         Ensure pid_t gets defined.
13811         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
13812         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13813         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13814         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13815         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13816         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13817         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
13818         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13819         * tests/test-fcntl-h.c: Check that pid_t is defined.
13820         * tests/test-sched.c: Likewise.
13821         * tests/test-termios.c: Likewise.
13822         * tests/test-time.c: Likewise.
13823         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
13824         * doc/posix-headers/signal.texi: Likewise.
13825         * doc/posix-headers/sys_types.texi: Likewise.
13826         * doc/posix-headers/time.texi: Likewise.
13827
13828 2011-09-11  Bruno Haible  <bruno@clisp.org>
13829
13830         acl: Fix compilation on Solaris 10 (older version).
13831         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
13832         of ACE_EVERYONE.
13833         * lib/set-mode-acl.c (qset_acl): Likewise.
13834         Reported by Christian Jullien <eligis@orange.fr>.
13835
13836 2011-09-10  Bruno Haible  <bruno@clisp.org>
13837
13838         iconv, unsetenv: Add support for MSVC compiler.
13839         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
13840         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
13841
13842 2011-09-10  Bruno Haible  <bruno@clisp.org>
13843
13844         *printf: Add support for MSVC compiler.
13845         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
13846         handles the exception caused by the %n directive. When cross-compiling,
13847         guess no on native Windows.
13848         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13849         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
13850         emulate it through vsnprintf.
13851         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
13852         * doc/posix-functions/dprintf.texi: Update documentation regarding
13853         MSVC 9.
13854         * doc/posix-functions/fprintf.texi: Likewise.
13855         * doc/posix-functions/printf.texi: Likewise.
13856         * doc/posix-functions/snprintf.texi: Likewise.
13857         * doc/posix-functions/sprintf.texi: Likewise.
13858         * doc/posix-functions/swprintf.texi: Likewise.
13859         * doc/posix-functions/vdprintf.texi: Likewise.
13860         * doc/posix-functions/vfprintf.texi: Likewise.
13861         * doc/posix-functions/vprintf.texi: Likewise.
13862         * doc/posix-functions/vsnprintf.texi: Likewise.
13863         * doc/posix-functions/vsprintf.texi: Likewise.
13864         * doc/glibc-functions/asprintf.texi: Likewise.
13865         * doc/glibc-functions/obstack_printf.texi: Likewise.
13866         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13867         * doc/glibc-functions/vasprintf.texi: Likewise.
13868
13869 2011-09-10  Bruno Haible  <bruno@clisp.org>
13870
13871         nocrash: Add support for native Windows.
13872         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
13873
13874 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13875             Bruno Haible  <bruno@clisp.org>
13876
13877         absolute-header, include-next: Add support for MSVC compiler.
13878         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13879         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13880         directory separator in #line directives.
13881         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13882         recognize also backslash as directory separator in #line directives.
13883
13884 2011-09-08  Jim Meyering  <meyering@redhat.com>
13885
13886         maint.mk: mark the post-release commit log with "maint: " prefix
13887         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
13888         one-line commit-log summary.
13889
13890 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
13891             Bruno Haible  <bruno@clisp.org>
13892
13893         Doc about crypt functions.
13894         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
13895         systems.
13896         * doc/posix-functions/encrypt.texi: Likewise.
13897         * doc/posix-functions/setkey.texi: Likewise.
13898
13899 2011-09-08  Simon Josefsson  <simon@josefsson.org>
13900
13901         * lib/gc.h: Fix copyright header.
13902
13903 2011-09-07  Bruno Haible  <bruno@clisp.org>
13904
13905         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
13906         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
13907         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
13908
13909 2011-09-07  Bruno Haible  <bruno@clisp.org>
13910
13911         openat: Work around compilation error with OSF/1 5.1 DTK cc.
13912         * lib/fopen.c: Use different syntax for include of <stdio.h>.
13913         * lib/freopen.c: Likewise.
13914         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
13915         * lib/lstat.c: Likewise.
13916         * lib/stat.c: Likewise.
13917         * lib/open.c: Use different syntax for include of <fcntl.h>.
13918         * lib/openat.c: Include fcntl.h again, explicitly.
13919
13920 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
13921
13922         parse-datetime: document the newly accepted format
13923         * doc/parse-datetime.texi (Combined date and time of day items):
13924         New section.
13925
13926 2011-09-06  Bruno Haible  <bruno@clisp.org>
13927
13928         acl: Fix a test failure on newer Solaris 10 with ZFS.
13929         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
13930         ENOSYS as no ACL.
13931         Reported by Jim Meyering.
13932
13933 2011-09-06  Bruno Haible  <bruno@clisp.org>
13934
13935         acl: Update for AIX >= 5.3 with NFS.
13936         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
13937         ENOSYS as no ACL.
13938
13939         acl: Fix a test failure on AIX >= 5.3 with NFS.
13940         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
13941         as no ACL.
13942
13943 2011-09-06  Bruno Haible  <bruno@clisp.org>
13944
13945         acl: Fix a test failure on IRIX 6.5 with NFS.
13946         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
13947         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
13948         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
13949         * lib/copy-acl.c (qcopy_acl): Likewise.
13950
13951 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13952
13953         openat: port to AIX 7.1 with large files
13954         AIX 7.1 does a "#define openat open64at" if large files are in use,
13955         so we can't simply #undef openat.  Use the orig_openat trick (similar
13956         to orig_open in lib/open.c) to work around the problem.  Problem
13957         reported by Kevin Brott for GNU tar, in the thread containing
13958         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
13959         * lib/openat.c (__need_system_fcntl_h): Define first.
13960         Include <fcntl.h> and <sys/types.h> before undefining.
13961         (orig_openat) [HAVE_OPENAT]: New inline function.
13962         (openat) [HAVE_OPENAT]: Do not undef.
13963         (rpl_openat): Use orig_openat, not openat.
13964
13965 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13966             Bruno Haible  <bruno@clisp.org>
13967
13968         acl: Avoid errors on NonStop Kernel.
13969         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
13970         ENOTSUP errors.
13971
13972 2011-09-05  Bruno Haible  <bruno@clisp.org>
13973
13974         acl: Clean up Solaris code.
13975         * lib/acl-internal.h: Remove no-op #if.
13976         * lib/file-has-acl.c: Likewise.
13977         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
13978         * lib/copy-acl.c (qcopy_acl): Likewise.
13979
13980 2011-09-05  Bruno Haible  <bruno@clisp.org>
13981
13982         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
13983         binaries built on the original Solaris 10.
13984         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
13985         trivial.
13986
13987 2011-09-05  Bruno Haible  <bruno@clisp.org>
13988
13989         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13990         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
13991         10.
13992         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
13993         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
13994         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
13995         instead of acl_get, facl_get, acl_set, facl_set.
13996
13997 2011-09-05  Bruno Haible  <bruno@clisp.org>
13998
13999         copy-file: Try unit tests on more file systems.
14000         * tests/test-copy-file-1.sh: New file.
14001         * tests/test-copy-file-2.sh: New file.
14002         * modules/copy-file-tests (Files): Add them.
14003         (Makefile.am): Add them to TESTS.
14004
14005         acl: Try unit tests on more file systems.
14006         * tests/test-file-has-acl-1.sh: New file.
14007         * tests/test-file-has-acl-2.sh: New file.
14008         * tests/test-set-mode-acl-1.sh: New file.
14009         * tests/test-set-mode-acl-2.sh: New file.
14010         * tests/test-copy-acl-1.sh: New file.
14011         * tests/test-copy-acl-2.sh: New file.
14012         * modules/acl-tests (Files): Add them.
14013         (Makefile.am): Add them to TESTS.
14014
14015 2011-09-04  Bruno Haible  <bruno@clisp.org>
14016
14017         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14018         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14019         10.
14020         (OLD_ALLOW, OLD_DENY): New macros.
14021         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14022         ACE_ACCESS_ALLOWED_ACE_TYPE.
14023         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14024         ACE_ACCESS_DENIED_ACE_TYPE.
14025         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14026         (NEW_ACE_EXECUTE): Fix value.
14027         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14028         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14029         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14030         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14031         NEW_ACE_SYNCHRONIZE): New macros.
14032         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14033         instead of acl_fromtext, acl_set, facl_set.
14034         Fixes a coreutils/tests/cp/perm failure.
14035
14036 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14037
14038         openat: test for fstatat (..., 0) bug
14039         Further testing with tar suggests that fstatat (..., 0)
14040         does not work in general, on AIX 7.1; see
14041         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14042         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14043         replacement fstatat (which is what older AIX releases were using
14044         anyway).
14045         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14046         use is now changed to orig_fstatat.  This was probably the right
14047         thing to do anyway.
14048         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14049         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14050         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14051         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14052         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14053         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14054         if the bug is found.
14055
14056         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14057         This tests for another fstatat bug on AIX 7.1:
14058         fstatat (AT_FDCWD, ..., 0) does not work.  See
14059         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14060         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14061         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14062         (rpl_fstatat): Adjust so that it works around either (or both)
14063         bugs if present.
14064         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14065
14066 2011-09-03  Karl Berry  <karl@gnu.org>
14067
14068         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14069         in index entries.
14070
14071 2011-09-02  Bruno Haible  <bruno@clisp.org>
14072
14073         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14074         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14075         values of AR, ARFLAGS, RANLIB.
14076         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14077
14078 2011-09-02  Bruno Haible  <bruno@clisp.org>
14079
14080         Find 'ar' program that fits with --host argument.
14081         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14082
14083 2011-09-02  Bruno Haible  <bruno@clisp.org>
14084
14085         tests: init.sh: Support any non-GNU diff.
14086         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14087         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14088         Solaris 8.
14089
14090 2011-09-02  Bruno Haible  <bruno@clisp.org>
14091
14092         tests: init.sh: work also with any non-GNU diff that supports -u
14093         * tests/init.sh: Relax check for diff -u support.
14094         Rather than checking for GNU diff via --version, simply check
14095         for support for -u itself.  Useful at least on OpenBSD 4.9,
14096         AIX 7.1, IRIX 6.5, and Solaris 10.
14097
14098 2011-09-01  Bruno Haible  <bruno@clisp.org>
14099
14100         strtoimax, strtoumax: Document problem on HP-UX 11.
14101         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14102         * doc/posix-functions/strtoumax.texi: Likewise.
14103
14104 2011-09-01  Bruno Haible  <bruno@clisp.org>
14105
14106         strtoumax: Avoid link error on OSF/1 with DTK cc.
14107         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14108         defined as a function.
14109         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14110         strtoumax is defined, not whether it is declared.
14111
14112 2011-09-01  Bruno Haible  <bruno@clisp.org>
14113
14114         strtoimax: Avoid link error on OSF/1 with DTK cc.
14115         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14116         defined as a function.
14117         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14118         strtoimax is defined, not whether it is declared.
14119
14120 2011-09-01  Bruno Haible  <bruno@clisp.org>
14121
14122         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14123         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14124         as a function.
14125         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14126         whether it is declared.
14127
14128 2011-09-01  Bruno Haible  <bruno@clisp.org>
14129
14130         imaxabs: Avoid link error on OSF/1 with DTK cc.
14131         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14132         as a function.
14133         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14134         whether it is declared.
14135
14136 2011-09-01  Bruno Haible  <bruno@clisp.org>
14137
14138         Tests for module 'strtoumax'.
14139         * modules/strtoumax-tests: New file.
14140         * tests/test-strtoumax.c: New file.
14141
14142         Tests for module 'strtoimax'.
14143         * modules/strtoimax-tests: New file.
14144         * tests/test-strtoimax.c: New file.
14145
14146         Tests for module 'imaxdiv'.
14147         * modules/imaxdiv-tests: New file.
14148         * tests/test-imaxdiv.c: New file.
14149
14150         Tests for module 'imaxabs'.
14151         * modules/imaxabs-tests: New file.
14152         * tests/test-imaxabs.c: New file.
14153
14154 2011-09-01  Bruno Haible  <bruno@clisp.org>
14155
14156         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14157         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14158         pthread_create.
14159
14160 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14161
14162         openat: work around AIX 7.1 fstatat issue
14163         This should fix the problem that was not properly fixed
14164         in the previous change, dated 2011-08-30.
14165         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14166         __need_system_stat_h defined.
14167         (orig_fstatat) [HAVE_FSTATAT]: New function.
14168         (rpl_fstatat): Go back to the old way of doing things,
14169         except call orig_fstatat instead of fstatat.
14170         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14171         Remove unnecessary check whether fstatat fills in st_size etc.
14172
14173 2011-09-01  Bruno Haible  <bruno@clisp.org>
14174
14175         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14176         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14177         just include the system's header.
14178
14179 2011-08-31  Jim Meyering  <meyering@redhat.com>
14180
14181         tests: avoid spurious assertion failure in test-float.c on ppc64
14182         * tests/test-float.c (test_long_double): Comment out an assertion,
14183         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14184         with gcc-4.4.4.
14185
14186         maint: indent with spaces, not TABs
14187         I need to get in the habit of running gnulib's "make check".
14188         Both of these would have been caught.
14189         * m4/largefile.m4: Indent with spaces, not TABs.
14190         * lib/parse-datetime.y (iso_8601_time): Likewise.
14191         Spotted by Pádraig Brady.
14192
14193         test-parse-datetime.c: accommodate a relatively strict gcc warning
14194         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14195         to avoid a warning from gcc's -Werror=missing-declarations.
14196         Insert a few spaces-before-funcall-parenthesis.
14197
14198 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14199
14200         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14201         The parser now accepts ISO 8601 date-time strings with "T" as the
14202         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14203         with a space between the date and time strings.  Now it also parses
14204         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14205         variants like "2004-02-29T16:21:42.333-07:00"
14206         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14207         of day representation using the 'T' separator character.
14208         * doc/parse-datetime.texi (General date syntax): replace use of
14209         deprecated --iso-8601 option with --rfc-3339 in example of date
14210         command output formats that can be parsed.
14211         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14212         lib/parse-datetime.y.
14213         (gmt_offset): New function.
14214         (main): Add additional test cases to validate ISO8601 extended
14215         date and time of day parsing.
14216
14217 2011-08-31  Bruno Haible  <bruno@clisp.org>
14218
14219         freopen: Documentation.
14220         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14221         name.
14222         Reported by Claudio Bley <claudio.bley@gmail.com>.
14223
14224 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14225
14226         freopen: Don't crash if the filename argument is NULL.
14227         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14228         NULL.
14229
14230 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14231
14232         openat: work around AIX 7.1 fstatat bug
14233         Problem reported by Kevin Brott for GNU tar, in the thread containing
14234         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14235         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14236         FSTATAT_ST_SIZE_ETC_BROKEN.
14237         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14238         rpl_fstatat.
14239         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14240         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14241         AC_CHECK_FUNCS_ONCE for fstatat.
14242         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14243         fchmodat, mkdirat, openat and unlinkat.
14244
14245 2011-08-30  Bruno Haible  <bruno@clisp.org>
14246
14247         Avoid endless recursions if config.h includes some header files.
14248         * lib/fopen.c (__need_FILE): Define already before including config.h.
14249         * lib/freopen.c (__need_FILE): Likewise.
14250         * lib/open.c (__need_system_fcntl_h): Likewise.
14251         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14252         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14253         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14254
14255 2011-08-25  Karl Berry  <karl@gnu.org>
14256
14257         * config/srclist.txt (ylwrap): new try.
14258         * build-aux/ylwrap: new file.
14259
14260 2011-08-23  Bruno Haible  <bruno@clisp.org>
14261
14262         tmpdir: Use a good default directory on native Windows.
14263         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14264         (P_tmpdir): Default to _P_tmpdir on native Windows.
14265         (path_search): On native Windows, try the value returned by GetTempPath
14266         before trying P_tmpdir.
14267         * modules/tmpdir (Depends-on): Add pathmax.
14268         Suggested by John Darrington <john@darrington.wattle.id.au>.
14269
14270 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14271
14272         doc: fix typo in README-release
14273         * top/README-release: Capitalize first word of a sentence.
14274
14275 2011-08-19  Jim Meyering  <meyering@redhat.com>
14276
14277         fts: do not exhaust memory when processing million-entry directories
14278         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14279         directory would require about 256*N bytes of memory.  Thus, it was
14280         easy to construct a directory too large to be processed by any of
14281         those tools.  With this change, fts' maximum memory utilization is
14282         now limited to around 30MB.
14283         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14284         (fts_read): When we've processed the final entry (i.e., when
14285         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14286         using the parent entry to read any remaining entries.  Dispatch
14287         depending on what fts_build returns:
14288         - NULL+stop, aka failure: stop
14289         - NULL otherwise: move up in the dir hierarchy
14290         - non-NULL: handle this new entry
14291         (fts_build): Declare and use new local, continue_readdir.
14292         Prepare to be called from fts_read, when the entries
14293         from a partially-read directory have just been exhausted.
14294         In that case, we'll skip the opendir and instead use the parent's
14295         fts_dirp and derive dir_fd from that.
14296         Finally, in the readdir loop, if we read max_entries entries,
14297         exit the loop ensuring *not* to call closedir.  This is required
14298         so that fts_dirp can be reused on a subsequent call.
14299         Prompted by Ben England's report of memory exhaustion in find
14300         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14301
14302         maint: fts: move decl of `dp' down into while loop; split a long line
14303         * lib/fts.c (fts_build): No semantic change.
14304
14305         fts: add/use new struct member, fts_dirp
14306         We are about to use this to manage any directory with
14307         too many entries to read all of them into memory at once.
14308         To do that, we'll need to save the DIR* pointer in each
14309         affected FTSENT struct.
14310         * lib/fts_.h: Include <dirent.h>.
14311         (struct FTSENT) [fts_dirp]: New member.
14312         * lib/fts.c (closedir_and_clear): Define.
14313         Use it in place of closedir so that we are sure to
14314         clear the new fts_dirp member when done with it.
14315         (fts_alloc): Initialize the new member.
14316         (fts_lfree): Free, if needed.
14317
14318         maint: fts: give __opendir2 a new parameter and rename
14319         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14320         than surreptitiously using sole caller's "dir_fd".
14321         (fts_opendir): Rename from __opendir2.
14322
14323         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14324         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14325
14326         maint: fts.c: correct off-by-one indentation
14327         * lib/fts.c (fts_build): Correct indentation, change style
14328         of a couple of block comments, and bracing style.
14329
14330         maint: fts.c: move __opendir2 #define "up" out of function body
14331         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14332
14333         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14334         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14335         out for a long time and besides was useful only on BSD systems.
14336
14337 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14338
14339         regex: port to Stratus OpenVOS
14340         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14341         define to empty, rather than attempting nonportable optimizations.
14342         Problem reported by Paul Green in:
14343         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14344         and fix suggested by Eric Blake in:
14345         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14346
14347 2011-08-17  Eric Blake  <eblake@redhat.com>
14348
14349         getcwd: fix test failures on mingw
14350         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14351         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14352         test if long directory cannot be created, and allow mingw errno.
14353
14354         getcwd-lgpl: fix m4 to match relaxed test for BSD
14355         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14356         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14357         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14358         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14359         signature problem.
14360
14361         getcwd: fix compilation on mingw64
14362         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14363         getcwd.
14364         Reported by Marc-André Lureau.
14365
14366         pipe2: silence compiler warning
14367         * lib/pipe2.c (pipe2): Hide label if it is not used.
14368
14369 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14370
14371         relocatable-prog: fix link error
14372         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14373         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14374         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14375         into modules/relocatable-lib without noticing that
14376         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14377         also needs to build relocatable.c.
14378
14379 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14380
14381         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14382         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14383         shell code: it contained a 'break' that was not in a loop.
14384         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14385         via a shell-language loop; this may have been true in old Autoconf
14386         versions, but it's not true in Autoconf 2.68.  I found this bug
14387         when testing coreutils git on Solaris 8, whose shell complains
14388         about the syntax error.
14389
14390 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14391
14392         * lib/base64.c: Fix comment to reference RFC 4648.
14393         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14394         <gvtulder@gmail.com>.
14395
14396 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14397
14398         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14399
14400         po/Makefile.in.in: fix make -q problem
14401         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14402         rule, since there's no file named 'check-macro-version' and its
14403         use as a file breaks make -q.
14404         (all): Don't depend on check-macro-version.
14405         (CHECK_MACRO_VERSION): New macro.
14406         (stamp-po): Use it.
14407
14408         configmake: fix make -q problem
14409         * modules/configmake (configmake.h): Update configmake.h's time stamp
14410         even if the file does not change.  Otherwise, 'make -q' fails.
14411         Problem reported by Simon Josefsson in
14412         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14413
14414 2011-08-11  Jim Meyering  <meyering@redhat.com>
14415
14416         git-version-gen: correct the advice in a comment
14417         * build-aux/git-version-gen: Correct comment.
14418         Don't recommend to list .tarball-version in .gitignore.
14419
14420 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14421
14422         base64: fix off-by-one buffer size bug
14423         Problem and (trivial) fix reported by Gijs van Tulder in
14424         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14425         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14426         * tests/test-base64.c (main): Catch the bug.
14427
14428 2011-08-10  Eric Blake  <eblake@redhat.com>
14429
14430         closein: correct comments
14431         * lib/closein.c (close_stdin): Improve comments.
14432
14433 2011-08-09  Bruno Haible  <bruno@clisp.org>
14434
14435         More tests for 'fseeko'.
14436         * tests/test-fseeko3.c: New file, from Eric Blake.
14437         * tests/test-fseeko3.sh: New file.
14438         * modules/fseeko-tests (Files): Add them.
14439         (TESTS): Add test-fseeko3.sh.
14440         (check_PROGRAMS): Add test-fseeko3.
14441
14442 2011-08-09  Eric Blake  <eblake@redhat.com>
14443
14444         fseeko: remove unneeded hack
14445         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14446
14447         fseeko: fix bug on glibc
14448         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14449         Reported by John W. Eaton.
14450
14451 2011-08-08  Bruno Haible  <bruno@clisp.org>
14452
14453         unictype/base: Fix interoperability with preinstalled libunistring.
14454         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14455         Reported by Simon Josefsson.
14456
14457 2011-08-08  Bruno Haible  <bruno@clisp.org>
14458
14459         iswblank: Detect declaration correctly.
14460         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14461         AC_CHECK_DECLS invocation.
14462
14463 2011-08-08  Bruno Haible  <bruno@clisp.org>
14464
14465         tcgetsid: Detect declaration correctly.
14466         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14467         AC_CHECK_DECLS invocation.
14468         Reported by Simon Josefsson.
14469
14470 2011-08-08  Eric Blake  <eblake@redhat.com>
14471
14472         largefile: fix typo that regressed large file support
14473         * modules/largefile (configure.ac-early): Fix section name.
14474
14475 2011-08-06  Karl Berry  <karl@gnu.org>
14476
14477         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14478         a separate module.
14479
14480 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14481
14482         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14483         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14484         get prototype for free.
14485
14486 2011-08-04  Bruno Haible  <bruno@clisp.org>
14487
14488         Tests for module 'pathmax'.
14489         * modules/pathmax-tests: New file.
14490         * tests/test-pathmax.c: New file.
14491
14492         canonicalize-lgpl: Support larger filenames on the Hurd.
14493         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14494         Reported by Paul Eggert.
14495
14496         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14497         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14498         * lib/chdir-long.h: Include pathmax.h.
14499         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14500         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14501         (PATH_MAX): Remove code that is done by pathmax.h.
14502         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14503         * lib/tmpfile.c: Add a comment.
14504         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14505         * modules/chdir-long (Depends-on): Add pathmax.
14506         * modules/getcwd (Depends-on): Add pathmax.
14507         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14508         is not defined.
14509         * doc/posix-headers/limits.texi: Mention the pathmax module.
14510         * NEWS: Mention the change.
14511
14512 2011-08-02  Bruno Haible  <bruno@clisp.org>
14513
14514         pthread_sigmask: Actually use results of gl_THREADLIB.
14515         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14516         gl_THREADLIB, not gl_[]THREADLIB.
14517         Reported by Eric Blake.
14518
14519 2011-08-02  Jim Meyering  <meyering@redhat.com>
14520
14521         maint.mk: relax the default _gl_TS_function_match regexp
14522         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14523         space between function name and "(" in an "extern" declaration.
14524         That would fail to match a decl with no space there: extern void foo();
14525
14526 2011-07-31  Iain Nicol  <iain@thenicols.net>
14527
14528         git-version-gen: document that EXTRA_DIST must include .version
14529         * build-aux/git-version-gen: In the how-to-use comment, document
14530         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14531         will fail when run from an unpacked distribution tarball.
14532
14533 2011-08-01  Bruno Haible  <bruno@clisp.org>
14534
14535         wctype-h: Fix last change.
14536         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14537         REPLACE_TOWLOWER to 0.
14538         Reported by Sam Steingold <sds@gnu.org>.
14539
14540 2011-07-31  Bruno Haible  <bruno@clisp.org>
14541
14542         frexpl: Update autoconf test.
14543         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14544         according to changes of 2011-06-20.
14545
14546 2011-07-31  Bruno Haible  <bruno@clisp.org>
14547
14548         sys_utsname: Add support for Minix.
14549         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14550         <sys/utsname.h>.
14551         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14552         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14553
14554 2011-07-31  Bruno Haible  <bruno@clisp.org>
14555
14556         strings: Add support for Minix.
14557         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14558         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14559         * doc/posix-headers/strings.texi: Document the Minix problem.
14560
14561 2011-07-31  Bruno Haible  <bruno@clisp.org>
14562
14563         wctype-h: Add support for Minix.
14564         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14565         REPLACE_TOWLOWER.
14566         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14567         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14568         REPLACE_ISWCNTRL.
14569
14570 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14571
14572         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14573         This is a performance improvement for 64-bit hosts: it causes the
14574         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14575
14576 2011-07-31  Bruno Haible  <bruno@clisp.org>
14577
14578         stdioext: Add support for Minix.
14579         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14580         * lib/fpurge.c (fpurge): Likewise.
14581         * lib/freadahead.c (freadahead): Likewise.
14582         * lib/freadable.c (freadable): Likewise.
14583         * lib/freading.c (freading): Likewise.
14584         * lib/freadptr.c (freadptr): Likewise.
14585         * lib/freadseek.c (freadptrinc): Likewise.
14586         * lib/fseeko.c (rpl_fseeko): Likewise.
14587         * lib/fseterr.c (fseterr): Likewise.
14588         * lib/fwritable.c (fwritable): Likewise.
14589         * lib/fwriting.c (fwriting): Likewise.
14590         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14591         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14592
14593 2011-07-31  Bruno Haible  <bruno@clisp.org>
14594
14595         errno: Port to Minix.
14596         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14597         ECONNABORTED are defined.
14598         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14599         GNULIB_defined_ECONNABORTED): New macros.
14600         * lib/strerror-override.h (strerror_override): Test also
14601         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14602         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14603         ECONNABORTED.
14604         * doc/posix-headers/errno.texi: Mention the Minix problem.
14605
14606 2011-07-31  Bruno Haible  <bruno@clisp.org>
14607
14608         Work around declaration collisions on Minix.
14609         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14610         defined, set REPLACE_MBSINIT.
14611         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14612         defined, set REPLACE_MBRTOWC.
14613         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14614         set REPLACE_MBRLEN.
14615         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14616         defined, set REPLACE_MBSRTOWCS.
14617         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14618         defined, set REPLACE_WCRTOMB.
14619         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14620         defined, set REPLACE_WCSRTOMBS.
14621
14622 2011-07-31  Bruno Haible  <bruno@clisp.org>
14623
14624         Add support for Minix with ACK compiler.
14625         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14626         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14627         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14628
14629 2011-07-31  Bruno Haible  <bruno@clisp.org>
14630
14631         Documentation about Minix.
14632         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14633         * doc/glibc-headers/*.texi: Likewise.
14634         * doc/posix-functions/*.texi: Likewise.
14635         * doc/glibc-functions/*.texi: Likewise.
14636
14637 2011-07-31  Bruno Haible  <bruno@clisp.org>
14638
14639         snippet/warn-on-use: Fix indentation.
14640         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14641
14642 2011-07-25  Jim Meyering  <meyering@redhat.com>
14643
14644         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14645         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14646         commands.
14647
14648 2011-07-27  Jim Meyering  <meyering@redhat.com>
14649
14650         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14651         * top/maint.mk (gl_extract_significant_defines_): Now that
14652         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14653         gnulib/lib/signal.in.h, and now that we recommend to
14654         define-if-undefined those two symbols in application code,
14655         we must filter them out of the "significant" list.
14656         This avoids a "make syntax-check" failure in coreutils.
14657
14658 2011-07-26  Eric Blake  <eblake@redhat.com>
14659
14660         warnings: add comments about previous patch
14661         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14662         * m4/include_next.m4: Likewise.
14663         * m4/warn-on-use.m4: Likewise.
14664         * m4/warnings.m4: Likewise, and simplify use.
14665         Suggested by Stefano Lattarini.
14666
14667         include-next, warnings: support older autoconf
14668         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14669         AS_VAR_PUSHDEF in a way that works with older autoconf.
14670         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14671         Reported by Daniel P. Berrange.
14672
14673 2011-07-25  Bruno Haible  <bruno@clisp.org>
14674
14675         fseek, ftell: Fix doc.
14676         * doc/posix-functions/fseek.texi: Reword statement about
14677         AC_SYS_LARGEFILE.
14678         * doc/posix-functions/ftell.texi: Likewise.
14679
14680 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14681             Bruno Haible  <bruno@clisp.org>
14682
14683         Add dependencies to the 'largefile' module.
14684         * modules/fopen (Depends-on): Add 'largefile'.
14685         * modules/freopen (Depends-on): Likewise.
14686         * modules/fseeko (Depends-on): Likewise.
14687         * modules/ftello (Depends-on): Likewise.
14688         * modules/glob (Depends-on): Likewise.
14689         * modules/lseek (Depends-on): Likewise.
14690         * modules/lstat (Depends-on): Likewise.
14691         * modules/mkostemp (Depends-on): Likewise.
14692         * modules/mkostemps (Depends-on): Likewise.
14693         * modules/mkstemp (Depends-on): Likewise.
14694         * modules/mkstemps (Depends-on): Likewise.
14695         * modules/open (Depends-on): Likewise.
14696         * modules/openat (Depends-on): Likewise.
14697         * modules/pread (Depends-on): Likewise.
14698         * modules/pwrite (Depends-on): Likewise.
14699         * modules/scandir (Depends-on): Likewise.
14700         * modules/stat (Depends-on): Likewise.
14701         * modules/tmpfile (Depends-on): Likewise.
14702         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14703         since the containing module now depends on the largefile module.
14704         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14705         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14706         off_t is fixed by gnulib.
14707         * doc/posix-functions/freopen.texi: Likewise.
14708         * doc/posix-functions/fseeko.texi: Likewise.
14709         * doc/posix-functions/fstatat.texi: Likewise.
14710         * doc/posix-functions/ftello.texi: Likewise.
14711         * doc/posix-functions/glob.texi: Likewise.
14712         * doc/posix-functions/lseek.texi: Likewise.
14713         * doc/posix-functions/lstat.texi: Likewise.
14714         * doc/posix-functions/mkstemp.texi: Likewise.
14715         * doc/posix-functions/open.texi: Likewise.
14716         * doc/posix-functions/openat.texi: Likewise.
14717         * doc/posix-functions/pread.texi: Likewise.
14718         * doc/posix-functions/pwrite.texi: Likewise.
14719         * doc/posix-functions/scandir.texi: Likewise.
14720         * doc/posix-functions/stat.texi: Likewise.
14721         * doc/posix-functions/tmpfile.texi: Likewise.
14722         * doc/glibc-functions/mkostemp.texi: Likewise.
14723         * doc/glibc-functions/mkostemps.texi: Likewise.
14724         * doc/glibc-functions/mkstemps.texi: Likewise.
14725
14726 2011-07-25  Bruno Haible  <bruno@clisp.org>
14727
14728         fcntl: Move AC_LIBOBJ invocation to module description.
14729         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
14730         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
14731
14732         fcntl: Remove call-in from fchdir.m4.
14733         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
14734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
14735
14736         dup3: Remove potential call-in from fchdir.m4.
14737         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
14738         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
14739
14740         dup2: Move AC_LIBOBJ invocation to module description.
14741         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
14742         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
14743         Don't invoke AC_LIBOBJ.
14744         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
14745
14746         dup2: Remove call-in from fchdir.m4.
14747         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
14748         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
14749
14750         fclose: Move AC_LIBOBJ invocation to module description.
14751         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
14752         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
14753         to 1.
14754         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
14755
14756         fclose: Remove call-in from close.m4.
14757         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
14758         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
14759
14760         close: Move AC_LIBOBJ invocation to module description.
14761         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
14762         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
14763         1.
14764         * modules/close (configure.ac): Invoke AC_LIBOBJ.
14765
14766         close: Remove call-in from fchdir.m4.
14767         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
14768         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
14769
14770         open: Move AC_LIBOBJ invocation to module description.
14771         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
14772         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
14773         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
14774
14775         open: Remove call-in from fchdir.m4.
14776         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
14777         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
14778
14779         fchdir: Start to remove gl_REPLACE_* idiom.
14780         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
14781         (gl_FUNC_FCHDIR): Invoke it.
14782
14783 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14784
14785         * lib/ftell.c (ftell): Comment out cast.
14786
14787         close: use gl_REPLACE_FCLOSE only if defined
14788         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
14789         is defined.  The close module doesn't depend on the fclose module
14790         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
14791         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
14792         I reproduced the problem with "./gnulib-tool --test close sys_socket".
14793
14794 2011-07-24  Jim Meyering  <meyering@redhat.com>
14795
14796         test-select.h: avoid warning when using gcc's -Wmissing-declarations
14797         * tests/test-select.h (test_function): Declare as "static".
14798
14799 2011-07-24  Bruno Haible  <bruno@clisp.org>
14800
14801         doc: Mention the effects of AC_SYS_LARGEFILE.
14802         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
14803         on this function.
14804         * doc/posix-functions/aio_error.texi: Likewise.
14805         * doc/posix-functions/aio_fsync.texi: Likewise.
14806         * doc/posix-functions/aio_read.texi: Likewise.
14807         * doc/posix-functions/aio_return.texi: Likewise.
14808         * doc/posix-functions/aio_suspend.texi: Likewise.
14809         * doc/posix-functions/aio_write.texi: Likewise.
14810         * doc/posix-functions/fgetpos.texi: Likewise.
14811         * doc/posix-functions/fopen.texi: Likewise.
14812         * doc/posix-functions/freopen.texi: Likewise.
14813         * doc/posix-functions/fsetpos.texi: Likewise.
14814         * doc/posix-functions/fstatvfs.texi: Likewise.
14815         * doc/posix-functions/ftruncate.texi: Likewise.
14816         * doc/posix-functions/ftw.texi: Likewise.
14817         * doc/posix-functions/getrlimit.texi: Likewise.
14818         * doc/posix-functions/glob.texi: Likewise.
14819         * doc/posix-functions/lio_listio.texi: Likewise.
14820         * doc/posix-functions/lockf.texi: Likewise.
14821         * doc/posix-functions/mkstemp.texi: Likewise.
14822         * doc/posix-functions/mmap.texi: Likewise.
14823         * doc/posix-functions/nftw.texi: Likewise.
14824         * doc/posix-functions/openat.texi: Likewise.
14825         * doc/posix-functions/opendir.texi: Likewise.
14826         * doc/posix-functions/posix_fadvise.texi: Likewise.
14827         * doc/posix-functions/posix_fallocate.texi: Likewise.
14828         * doc/posix-functions/pread.texi: Likewise.
14829         * doc/posix-functions/pwrite.texi: Likewise.
14830         * doc/posix-functions/readdir.texi: Likewise.
14831         * doc/posix-functions/readdir_r.texi: Likewise.
14832         * doc/posix-functions/rewinddir.texi: Likewise.
14833         * doc/posix-functions/scandir.texi: Likewise.
14834         * doc/posix-functions/seekdir.texi: Likewise.
14835         * doc/posix-functions/setrlimit.texi: Likewise.
14836         * doc/posix-functions/statvfs.texi: Likewise.
14837         * doc/posix-functions/telldir.texi: Likewise.
14838         * doc/posix-functions/tmpfile.texi: Likewise.
14839         * doc/posix-functions/truncate.texi: Likewise.
14840         * doc/glibc-functions/fallocate.texi: Likewise.
14841         * doc/glibc-functions/fstatfs.texi: Likewise.
14842         * doc/glibc-functions/fts_children.texi: Likewise.
14843         * doc/glibc-functions/fts_read.texi: Likewise.
14844         * doc/glibc-functions/getdirentries.texi: Likewise.
14845         * doc/glibc-functions/mkostemp.texi: Likewise.
14846         * doc/glibc-functions/mkostemps.texi: Likewise.
14847         * doc/glibc-functions/mkstemps.texi: Likewise.
14848         * doc/glibc-functions/preadv.texi: Likewise.
14849         * doc/glibc-functions/pwritev.texi: Likewise.
14850         * doc/glibc-functions/sendfile.texi: Likewise.
14851         * doc/glibc-functions/statfs.texi: Likewise.
14852
14853 2011-07-24  Bruno Haible  <bruno@clisp.org>
14854
14855         doc: Fix typo.
14856         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
14857
14858 2011-07-24  Bruno Haible  <bruno@clisp.org>
14859
14860         doc: Mention fsusage.
14861         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
14862
14863 2011-07-24  Bruno Haible  <bruno@clisp.org>
14864
14865         doc: Mention new glibc headers and functions.
14866         * doc/glibc-headers/gshadow.texi: New file.
14867         * doc/glibc-functions/endsgent.texi: New file.
14868         * doc/glibc-functions/fgetsgent.texi: New file.
14869         * doc/glibc-functions/fgetsgent_r.texi: New file.
14870         * doc/glibc-functions/getsgent.texi: New file.
14871         * doc/glibc-functions/getsgent_r.texi: New file.
14872         * doc/glibc-functions/getsgnam.texi: New file.
14873         * doc/glibc-functions/getsgnam_r.texi: New file.
14874         * doc/glibc-functions/putsgent.texi: New file.
14875         * doc/glibc-functions/setsgent.texi: New file.
14876         * doc/glibc-functions/sgetsgent.texi: New file.
14877         * doc/glibc-functions/sgetsgent_r.texi: New file.
14878         * doc/glibc-functions/malloc_info.texi: New file.
14879         * doc/glibc-functions/preadv.texi: New file.
14880         * doc/glibc-functions/pwritev.texi: New file.
14881         * doc/glibc-functions/register_printf_modifier.texi: New file.
14882         * doc/glibc-functions/register_printf_specifier.texi: New file.
14883         * doc/glibc-functions/register_printf_type.texi: New file.
14884         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
14885         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
14886         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
14887         * doc/glibc-functions/pthread_getname_np.texi: New file.
14888         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
14889         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
14890         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
14891         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
14892         * doc/glibc-functions/pthread_setname_np.texi: New file.
14893         * doc/glibc-functions/pthread_sigqueue.texi: New file.
14894         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
14895         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
14896         * doc/glibc-functions/qsort_r.texi: New file.
14897         * doc/glibc-functions/quick_exit.texi: New file.
14898         * doc/glibc-functions/syncfs.texi: New file.
14899         * doc/gnulib.texi: Include them.
14900         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
14901         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
14902         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
14903         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
14904         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
14905         * doc/glibc-functions/execvpe.texi: Likewise.
14906
14907 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14908
14909         ftell: don't include <unistd.h>
14910         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
14911         guaranteed to define off_t, and the ftell module depends on the
14912         stdio module.
14913
14914         ftell: do not assume wraparound signed arithmetic
14915         * lib/ftell.c: Include <limits.h>.
14916         (ftell): Don't assume wraparound signed arithmetic.
14917
14918 2011-07-24  Bruno Haible  <bruno@clisp.org>
14919
14920         close: No longer depend on module 'fclose'.
14921         * modules/close (Depends-on): Remove fclose.
14922         * NEWS: Mention the change.
14923         Suggested by Sam Steingold <sds@gnu.org>.
14924
14925 2011-07-24  Bruno Haible  <bruno@clisp.org>
14926
14927         fsusage: Enable large volume support on AIX >= 5.2.
14928         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
14929         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
14930         instead of STAT_STATVFS.
14931         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
14932
14933         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
14934         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
14935         f_blocks field only on MacOS X.
14936
14937         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
14938         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
14939         * modules/fsusage (Depends-on): Add largefile.
14940
14941 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14942
14943         * README: Modernize discussion of signed integers.
14944         Assuming overflow wraparound is no longer safe.
14945         Mention ones' complement and signed magnitude.
14946
14947 2011-07-22  Bruno Haible  <bruno@clisp.org>
14948
14949         select tests, pselect tests: Refactor.
14950         * tests/test-select.h: New file, extracted from tests/test-select.c.
14951         (select_fn): New type.
14952         (test, do_select, do_select_nowait, do_select_wait, test_tty,
14953         test_connect_first, test_accept_first, test_pair, test_socket_pair,
14954         test_pipe): Add my_select argument.
14955         (test_function): Renamed from main. Add my_select argument.
14956         * tests/test-select.c: Move most code to tests/test-select.h. Include
14957         test-select.h.
14958         * modules/select-tests (Files): Add tests/test-select.h.
14959         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
14960         (my_select, main): New functions.
14961         * modules/pselect-tests (Files): Add tests/test-select.h,
14962         tests/macros.h, tests/signature.h.
14963         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
14964         (configure.ac): Check for <sys/wait.h>.
14965
14966 2011-07-22  Bruno Haible  <bruno@clisp.org>
14967
14968         sys_select tests: Check the signature of FD_*.
14969         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
14970         signature tests from here...
14971         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
14972         here.
14973         * modules/sys_select-tests (Files): Add tests/signature.h.
14974
14975 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
14976
14977         largefile: new module, replacing large-inode
14978         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
14979         * MODULES.html.sh: Add largefile, remove large-inode.
14980         * modules/largefile, m4/largefile.m4: New files.
14981         * modules/large-inode, m4/large-inode.m4: Remove.
14982
14983         fsusage: port to MacOS X 10.7 with 4 TiB file systems
14984         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
14985         implementations that use only 32 bits to count blocks.
14986         On typical hosts with 1024-byte blocks, this fails with file
14987         systems as small as 4 TiB.  Problem reported by Herb Wartens
14988         <http://debbugs.gnu.org/9140> and this should also fix a similar
14989         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
14990
14991         large-inode: New module
14992         * MODULES.html.sh: Add it.
14993         * modules/large-inode, m4/large-inode.m4: New files.
14994
14995         extensions: Enable extensions on MacOS X 10.5 and later.
14996         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
14997
14998 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
14999
15000         file-has-acl: use acl_extended_file_nofollow if available
15001         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15002         (acl_extended_file): New macro.
15003         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15004         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15005
15006 2011-07-21  Bruno Haible  <bruno@clisp.org>
15007
15008         Declare system functions in a way that works with C++.
15009         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15010         declare fdopendir as extern "C".
15011         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15012         declare frexpl as extern "C".
15013         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15014         declare gai_strerror as extern "C".
15015         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15016         programs, declare gai_strerror as extern "C".
15017         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15018         declare getlogin_r as extern "C".
15019         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15020         as extern "C".
15021         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15022         declare ldexpl as extern "C".
15023         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15024         as extern "C".
15025         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15026         program, declare getmntinfo as extern "C".
15027         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15028         stpncpy as extern "C".
15029         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15030         program, declare __xpg_strerror_r as extern "C".
15031         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15032         strndup as extern "C".
15033         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15034         declare memset and bzero as extern "C".
15035         Reported by Sam Steingold <sds@gnu.org>.
15036
15037 2011-07-12  Jim Meyering  <meyering@redhat.com>
15038
15039         maint.mk: prohibit inclusion of "verify.h" without use
15040         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15041
15042 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15043
15044         timer-time: A new module to check for timer_settime()
15045         * m4/timer_time.m4: Check for the posix function.
15046         * modules/timer-time: Add the new module.
15047         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15048         Mention it.
15049
15050 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15051             Bruno Haible  <bruno@clisp.org>
15052
15053         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15054         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15055         not defined, assume POSIX threads and look for pthread_sigmask in
15056         $LIBS, without changing $CPPFLAGS.
15057
15058 2011-07-19  Bruno Haible  <bruno@clisp.org>
15059
15060         strstr: Update cross-compilation guess.
15061         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15062         CPUs, guess no, in view of glibc
15063         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15064         Suggested by Eric Blake. Reported by Reuben Thomas.
15065
15066 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15067
15068         getopt-gnu: suppress core dumps from detection code
15069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15070         to suppress core dumps that may well occur on glibc systems.
15071         * modules/getopt-gnu: Depend on nocrash.
15072
15073 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15074
15075         pthread_sigmask: ensure usleep is declared
15076         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15077         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15078
15079 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15080
15081         doc: Document NonStop portability issues.
15082         * doc/posix-functions/sigaction.texi (sigaction):
15083         * doc/posix-headers/signal.texi (signal.h):
15084         Document NonStop.  See Joachim Schmitz in
15085         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15086
15087 2011-07-15  Bruno Haible  <bruno@clisp.org>
15088
15089         ffsl, ffsll: Avoid unportable behaviour.
15090         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15091
15092 2011-07-15  Bruno Haible  <bruno@clisp.org>
15093
15094         ffs: More tests.
15095         * tests/test-ffs.c (NBITS): New macro.
15096         (main): Add more tests.
15097         * tests/test-ffsl.c (NBITS): New macro.
15098         (main): Add more tests.
15099         * tests/test-ffsll.c (NBITS): New macro.
15100         (main): Add more tests.
15101
15102 2011-07-15  Eric Blake  <eblake@redhat.com>
15103
15104         ffsl, ffsll: new modules
15105         * modules/ffsl: New file.
15106         * modules/ffsll: Likewise.
15107         * m4/ffsl.m4: Likewise.
15108         * m4/ffsll.m4: Likewise.
15109         * lib/ffsl.c: Likewise.
15110         * lib/ffsl.h: Likewise.
15111         * lib/ffsll.c: Likewise.
15112         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15113         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15114         * modules/string (Makefile.am): Substitute witnesses.
15115         * lib/strings.in.h (ffsl, ffsll): Declare.
15116         * modules/ffsl-tests: New test file.
15117         * modules/ffsll-tests: Likewise.
15118         * tests/test-ffsl.c: Likewise.
15119         * tests/test-ffsll.c: Likewise.
15120         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15121         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15122         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15123
15124         ffs: fix m4 prerequisite
15125         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15126
15127         ffs: avoid undefined behavior
15128         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15129         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15130         Reported by Bruno Haible.
15131
15132 2011-07-12  Bruno Haible  <bruno@clisp.org>
15133
15134         pthread_sigmask: Rely on module 'threadlib'.
15135         * modules/pthread_sigmask (Depends-on): Add threadlib.
15136         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15137         is defined.
15138
15139 2011-07-12  Bruno Haible  <bruno@clisp.org>
15140
15141         regex: Depend on module 'strcase'.
15142         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15143
15144 2011-07-12  Jim Meyering  <meyering@redhat.com>
15145
15146         warn-on-use: fix typo in file name
15147         * modules/snippet/warn-on-use (Files): Correct file name:
15148         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15149
15150 2011-07-12  Bruno Haible  <bruno@clisp.org>
15151
15152         strings: Document module.
15153         * doc/posix-headers/strings.texi: Mention module 'strings'.
15154
15155 2011-07-12  Bruno Haible  <bruno@clisp.org>
15156
15157         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15158         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15159         (Files, Makefile.am): Update.
15160         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15161         * modules/stdlib (Depends-on): Update.
15162
15163 2011-07-12  Bruno Haible  <bruno@clisp.org>
15164
15165         * NEWS: Mention the changes.
15166
15167         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15168         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15169         (Files, Makefile.am): Update.
15170         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15171         * modules/arpa_inet (Depends-on): Update.
15172         * modules/ctype (Depends-on): Update.
15173         * modules/dirent (Depends-on): Update.
15174         * modules/fcntl-h (Depends-on): Update.
15175         * modules/glob (Depends-on): Update.
15176         * modules/iconv-h (Depends-on): Update.
15177         * modules/inttypes-incomplete (Depends-on): Update.
15178         * modules/langinfo (Depends-on): Update.
15179         * modules/locale (Depends-on): Update.
15180         * modules/math (Depends-on): Update.
15181         * modules/netdb (Depends-on): Update.
15182         * modules/poll-h (Depends-on): Update.
15183         * modules/pty (Depends-on): Update.
15184         * modules/search (Depends-on): Update.
15185         * modules/signal (Depends-on): Update.
15186         * modules/spawn (Depends-on): Update.
15187         * modules/stdio (Depends-on): Update.
15188         * modules/stdlib (Depends-on): Update.
15189         * modules/string (Depends-on): Update.
15190         * modules/strings (Depends-on): Update.
15191         * modules/sys_file (Depends-on): Update.
15192         * modules/sys_ioctl (Depends-on): Update.
15193         * modules/sys_select (Depends-on): Update.
15194         * modules/sys_socket (Depends-on): Update.
15195         * modules/sys_stat (Depends-on): Update.
15196         * modules/sys_time (Depends-on): Update.
15197         * modules/sys_times (Depends-on): Update.
15198         * modules/sys_utsname (Depends-on): Update.
15199         * modules/sys_wait (Depends-on): Update.
15200         * modules/termios (Depends-on): Update.
15201         * modules/time (Depends-on): Update.
15202         * modules/unistd (Depends-on): Update.
15203         * modules/wchar (Depends-on): Update.
15204         * modules/wctype-h (Depends-on): Update.
15205         * MODULES.html.sh (Support for building libraries and executables):
15206         Update.
15207
15208         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15209         * modules/snippet/unused-parameter: Renamed from
15210         modules/unused-parameter.
15211         (Files, Makefile.am): Update.
15212         * build-aux/snippet/unused-parameter.h: Renamed from
15213         build-aux/unused-parameter.h.
15214         * modules/selinux-h (Depends-on): Update.
15215         * modules/unistr/base (Depends-on): Update.
15216         * MODULES.html.sh (Core language properties): Update.
15217
15218         Rename module 'link-warning' to 'snippet/link-warning'.
15219         * modules/snippet/link-warning: Renamed from modules/link-warning.
15220         (Files, Makefile.am): Update.
15221         * build-aux/snippet/link-warning.h: Renamed from
15222         build-aux/link-warning.h.
15223         * MODULES.html.sh (Support for building libraries and executables):
15224         Update.
15225
15226         Rename module 'c++defs' to 'snippet/c++defs'.
15227         * modules/snippet/c++defs: Renamed from modules/c++defs.
15228         (Files, Makefile.am): Update.
15229         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15230         * modules/arpa_inet (Depends-on): Update.
15231         * modules/ctype (Depends-on): Update.
15232         * modules/dirent (Depends-on): Update.
15233         * modules/fcntl-h (Depends-on): Update.
15234         * modules/glob (Depends-on): Update.
15235         * modules/iconv-h (Depends-on): Update.
15236         * modules/langinfo (Depends-on): Update.
15237         * modules/locale (Depends-on): Update.
15238         * modules/math (Depends-on): Update.
15239         * modules/netdb (Depends-on): Update.
15240         * modules/poll-h (Depends-on): Update.
15241         * modules/pty (Depends-on): Update.
15242         * modules/search (Depends-on): Update.
15243         * modules/signal (Depends-on): Update.
15244         * modules/spawn (Depends-on): Update.
15245         * modules/stdio (Depends-on): Update.
15246         * modules/stdlib (Depends-on): Update.
15247         * modules/string (Depends-on): Update.
15248         * modules/strings (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_wait (Depends-on): Update.
15255         * modules/termios (Depends-on): Update.
15256         * modules/time (Depends-on): Update.
15257         * modules/unistd (Depends-on): Update.
15258         * modules/wchar (Depends-on): Update.
15259         * modules/wctype-h (Depends-on): Update.
15260
15261         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15262         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15263         (Files, Makefile.am): Update.
15264         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15265         * modules/argv-iter (Depends-on): Update.
15266         * modules/arpa_inet (Depends-on): Update.
15267         * modules/dirent (Depends-on): Update.
15268         * modules/fcntl-h (Depends-on): Update.
15269         * modules/fnmatch (Depends-on): Update.
15270         * modules/getopt-posix (Depends-on): Update.
15271         * modules/glob (Depends-on): Update.
15272         * modules/iconv-h (Depends-on): Update.
15273         * modules/inttypes-incomplete (Depends-on): Update.
15274         * modules/locale (Depends-on): Update.
15275         * modules/math (Depends-on): Update.
15276         * modules/netdb (Depends-on): Update.
15277         * modules/search (Depends-on): Update.
15278         * modules/signal (Depends-on): Update.
15279         * modules/spawn (Depends-on): Update.
15280         * modules/stdio (Depends-on): Update.
15281         * modules/stdlib (Depends-on): Update.
15282         * modules/string (Depends-on): Update.
15283         * modules/strings (Depends-on): Update.
15284         * modules/sys_socket (Depends-on): Update.
15285         * modules/sys_stat (Depends-on): Update.
15286         * modules/sys_time (Depends-on): Update.
15287         * modules/sys_times (Depends-on): Update.
15288         * modules/sys_utsname (Depends-on): Update.
15289         * modules/time (Depends-on): Update.
15290         * modules/unistd (Depends-on): Update.
15291         * modules/wchar (Depends-on): Update.
15292         * MODULES.html.sh (Support for building libraries and executables):
15293         Update.
15294
15295 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15296
15297         Improvements on _Noreturn and related modules.
15298
15299         modules/_Exit-tests: test _Noreturn too
15300         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15301         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15302         (main): Use them.
15303
15304         stdnoreturn, stdnoreturn-tests: remove modules
15305         They're not needed here and a bit premature for use elsewhere.  See
15306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15307         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15308         * tests/test-stdnoreturn.c: Remove files.
15309         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15310         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15311         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15312         and using noreturn.
15313         * modules/openat, modules/sigpipe-die, modules/xalloc:
15314         * modules/xmemdup0, modules/xstrtol:
15315         Remove dependency on stdnoreturn.
15316
15317         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15318         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15319         Reparenthesize to avoid GCC warning.
15320         Support Microsoft's syntax.
15321         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15322
15323         _Noreturn-tests: remove module
15324         * modules/_Noreturn-tests: Remove.
15325         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15326         * tests/test-_Noreturn.c: Remove.
15327         * tests/test-stdnoreturn.c: Merge from the old
15328         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15329
15330 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15331
15332         _Noreturn, stdnoreturn, and related modules.
15333
15334         * top/maint.mk: Adjust to new noreturn support.
15335         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15336         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15337
15338         xalloc: use stdnoreturn.h
15339         * lib/xalloc.h: Include <stdnoreturn.h>.
15340         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15341         * modules/xalloc (Depends-on): Add stdnoreturn.
15342
15343         xstrtol: use stdnoreturn.h
15344         * lib/xstrtol.h: Include <stdnoreturn.h>.
15345         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15346         * modules/xstrtol (Depends-on): Add stdnoreturn.
15347
15348         xmemdup0: use stdnoreturn.h
15349         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15350         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15351         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15352
15353         sigpipe-die: use stdnoreturn.h
15354         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15355         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15356         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15357
15358         openat: use stdnoreturn.h
15359         * lib/openat.h: Include <stdnoreturn.h>.
15360         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15361         * modules/openat (Depends-on): Add stdnoreturn.
15362
15363         * lib/openat-die.c (openat_save_fail): Modernize comment.
15364
15365         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15366
15367         * lib/glthread/thread.h: Modernize comment.
15368
15369         obstack: use _Noreturn
15370         * lib/obstack.c (__attribute__): Remove macro.
15371         (print_and_abort): Use _Noreturn.
15372
15373         c-stack: use _Noreturn
15374         * lib/c-stack.c (die, overflow_handler, segv_handler):
15375         Use _Noreturn rather than __attribute__((noreturn)).
15376
15377         argmatch-tests, exclude_tests: use _Noreturn
15378         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15379         Remove.
15380         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15381
15382         stdlib: use _Noreturn
15383         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15384         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15385         * modules/stdlib (Depends-on): Add _Noreturn.
15386         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15387
15388         stdnoreturn-tests: new module
15389         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15390
15391         stdnoreturn: new module
15392         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15393         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15394
15395         _Noreturn-tests: new module
15396         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15397
15398         _Noreturn: new module
15399         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15400         New section, mentioning it.
15401         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15402
15403         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15404
15405 2011-07-11  Eric Blake  <eblake@redhat.com>
15406
15407         ffs: new module
15408         * modules/ffs: New file.
15409         * m4/ffs.m4: Likewise.
15410         * lib/ffs.c: Likewise.
15411         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15412         * modules/strings (Makefile.am): Substitute witness.
15413         (Depends-on): Add c++defs.
15414         * lib/strings.in.h (ffs): Declare.
15415         * modules/ffs-tests: New test file.
15416         * tests/test-ffs.c: Test new module.
15417         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15418         * doc/posix-functions/ffs.texi (ffs): Likewise.
15419
15420         regex: avoid compiler warning
15421         * lib/regex.c (includes): Include <strings.h>, for use of
15422         strcasecmp in regcomp.c.
15423         Reported by Joachim Schmitz.
15424
15425 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15426
15427         stdint: respect system's intmax_t if INTMAX_MAX
15428         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15429         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15430         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15431         long but int64_t is long long, and where we will clash with the
15432         system intmax_t if we override it.  See
15433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15434         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15435         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15436         similarly for UINTMAX_C.
15437
15438 2011-07-08  Bruno Haible  <bruno@clisp.org>
15439
15440         pthread_sigmask tests: Avoid a compiler warning.
15441         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15442         non-zero.
15443
15444         sigprocmask tests: A better way to avoid a compiler warning.
15445         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15446         (main): Complain if system() returns non-zero.
15447         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15448
15449 2011-07-08  Bruno Haible  <bruno@clisp.org>
15450
15451         pthread_sigmask: Work around IRIX bug.
15452         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15453         bug.
15454         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15455         there may be unblocked pending signals.
15456         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15457
15458 2011-07-08  Bruno Haible  <bruno@clisp.org>
15459
15460         pthread_sigmask: Work around Cygwin bug.
15461         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15462         bug.
15463         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15464         the system's pthread_sigmask function.
15465         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15466
15467 2011-07-08  Bruno Haible  <bruno@clisp.org>
15468
15469         pthread_sigmask: Work around bug in single-threaded implementation.
15470         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15471         FreeBSD, HP-UX, Solaris bug.
15472         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15473         * lib/pthread_sigmask.c: Include <stddef.h>.
15474         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15475         the system's pthread_sigmask function.
15476         * modules/pthread_sigmask (configure.ac): Invoke
15477         gl_PREREQ_PTHREAD_SIGMASK.
15478         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15479         HP-UX, Solaris.
15480
15481 2011-07-08  Eric Blake  <eblake@redhat.com>
15482
15483         test-sigprocmask: avoid compiler warning
15484         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15485         * tests/test-sigprocmask.c (main): Use it to silence warning.
15486         Reported by Jim Meyering.
15487
15488         test-snprintf: avoid compiler warning
15489         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15490         * tests/test-vsnprintf.c (main): Likewise.
15491         Reported by Jim Meyering.
15492
15493 2011-07-08  Bruno Haible  <bruno@clisp.org>
15494
15495         Tests for module 'pthread_sigmask'.
15496         * modules/pthread_sigmask-tests: New file.
15497         * tests/test-pthread_sigmask1.c: New file, based on
15498         tests/test-sigprocmask.c.
15499         * tests/test-pthread_sigmask2.c: New file.
15500
15501 2011-07-08  Jim Meyering  <meyering@redhat.com>
15502
15503         test-getopt.h: avoid warning about an unused variable
15504         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15505
15506 2011-07-07  Jim Meyering  <meyering@redhat.com>
15507
15508         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15509         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15510         now that it no longer contains leading TABs.
15511         Remove unused "url=FIXME" statement.
15512
15513 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15514
15515         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15516         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15517         When gl_THREADLIB is not in use, assume that the POSIX sematics
15518         are desired.  This is better for Emacs, which uses POSIX semantics
15519         on GNUish and/or POSIXish platforms, and does not use threads at
15520         all otherwise.
15521
15522         pthread_sigmask: fix typo when testing for libraries
15523         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15524         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15525
15526 2011-07-08  Eric Blake  <eblake@redhat.com>
15527
15528         fts: introduce FTS_NOATIME
15529         * lib/fts_.h (FTS_NOATIME): New bit flag.
15530         (FTS_OPTIONMASK): Adjust.
15531         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15532         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15533
15534 2011-07-08  Bruno Haible  <bruno@clisp.org>
15535
15536         Tests for module 'thread'.
15537         * modules/thread-tests: New file.
15538         * tests/test-thread_self.c: New file.
15539         * tests/test-thread_create.cc: New file.
15540
15541 2011-07-08  Bruno Haible  <bruno@clisp.org>
15542
15543         thread: Avoid gcc warnings when using gl_thread_self().
15544         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15545         'void *'.
15546         (gl_thread_self_pointer): Update.
15547
15548 2011-07-07  Bruno Haible  <bruno@clisp.org>
15549
15550         signal-c++-tests: Check declaration of pthread_sigmask.
15551         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15552         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15553         $(LIB_PTHREAD_SIGMASK).
15554
15555 2011-07-07  Bruno Haible  <bruno@clisp.org>
15556
15557         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15558         * lib/signal.in.h (pthread_sigmask): Override if
15559         REPLACE_PTHREAD_SIGMASK is 1.
15560         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15561         REPLACE_PTHREAD_SIGMASK.
15562         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15563         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15564         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15565         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15566         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15567
15568 2011-07-07  Bruno Haible  <bruno@clisp.org>
15569
15570         pthread_sigmask: Ensure declaration in <signal.h>.
15571         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15572         include <pthread.h>.
15573         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15574         problem.
15575
15576 2011-07-07  Bruno Haible  <bruno@clisp.org>
15577
15578         pthread_sigmask: Document the module.
15579         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15580
15581 2011-07-07  Bruno Haible  <bruno@clisp.org>
15582
15583         pthread_sigmask: Follow gnulib conventions.
15584         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15585         gl_PTHREAD_SIGMASK.
15586         * modules/pthread_sigmask (configure.ac): Update.
15587
15588 2011-07-07  Bruno Haible  <bruno@clisp.org>
15589
15590         pthread_sigmask: Make declaration C++ safe.
15591         * lib/signal.in.h: In two special conditions, just do an #include_next.
15592         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15593         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15594         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15595         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15596         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15597         not REPLACE_PTHREAD_MASK.
15598         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15599         not REPLACE_PTHREAD_MASK.
15600         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15601
15602 2011-07-07  Bruno Haible  <bruno@clisp.org>
15603
15604         pthread_sigmask: Fix return value.
15605         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15606         * lib/pthread_sigmask.c: New file.
15607         * modules/pthread_sigmask (Files): Add it.
15608         (configure.ac): Invoke AC_LIBOBJ.
15609
15610 2011-07-07  Eric Blake  <eblake@redhat.com>
15611
15612         getopt: more portable argv creation
15613         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15614         const, use char arrays rather than strings.
15615         Suggested by Paul Eggert.
15616
15617 2011-07-07  Bruno Haible  <bruno@clisp.org>
15618
15619         Tests for module 'sigprocmask'.
15620         * modules/sigprocmask-tests: New file.
15621         * tests/test-sigprocmask.c: New file.
15622
15623 2011-07-07  Bruno Haible  <bruno@clisp.org>
15624
15625         float tests: Tweak.
15626         * tests/test-float.c (main): Tweak skip message.
15627
15628 2011-07-07  Eric Blake  <eblake@redhat.com>
15629
15630         getopt: avoid compiler warning during configure
15631         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15632         assigning string literals to non-const pointer.
15633
15634         getopt-gnu: avoid crash in glibc getopt
15635         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15636         * tests/test-getopt.h (test_getopt): Enhance test.
15637         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15638         * doc/posix-functions/getopt.texi (getopt): Document it.
15639         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15640         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15641         Likewise.
15642
15643 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15644
15645         getopt: handle W; without long options in getopt [BZ #12922]
15646         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15647         but no long options are defined, just return 'W'.
15648
15649 2011-07-07  Bruno Haible  <bruno@clisp.org>
15650
15651         Avoid literal tabs.
15652         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15653         variable containing a tab instead of a literal tab.
15654         Reported by Jim Meyering.
15655
15656 2011-07-07  Bruno Haible  <bruno@clisp.org>
15657
15658         Comments.
15659         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15660
15661 2011-07-06  Bruno Haible  <bruno@clisp.org>
15662
15663         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15664         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15665         <winsock2.h>.
15666         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15667         lib/sys_socket.in.h.
15668         (close, gethostname): Hide declarations from <winsock2.h>.
15669         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15670         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15671         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15672         (select): Don't override if gnulib's <sys/select.h> was already
15673         included.
15674         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15675         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15676         setsockopt, shutdown, select): Tweak indentation.
15677
15678 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15679
15680         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15681         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15682         in an application that does not use the sys_select module.
15683
15684 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15685
15686         poll: do not return 0 on timeout=-1
15687         * lib/poll.c: Loop with yield if no events occurred.
15688
15689 2011-07-06  Eric Blake  <eblake@redhat.com>
15690
15691         pthread_sigmask: always replace when not using pthread
15692         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15693         replacement when using some threading other than pthread.  Fix
15694         logic bug.
15695
15696 2011-07-06  Bruno Haible  <bruno@clisp.org>
15697
15698         Comments.
15699         * m4/printf.m4: Update comments about mingw.
15700
15701 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15702
15703         sys_select: define sigset_t more portably
15704         * lib/sys_select.in.h: Always include <sys/types.h>, since
15705         we now need sigset_t and mingw defines it there.
15706         Include <signal.h> before split inclusion guard, to avoid
15707         mishaps on Solaris, whose <signal.h> eventually includes us.
15708         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
15709         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
15710         which come from ...
15711         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
15712         gl_CHECK_TYPE_SIGSET_T.
15713         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
15714         does the real work.
15715         * modules/sys_select (Depends-on): Add 'signal'.
15716
15717         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
15718         Suggested by Bruno Haible.
15719
15720         pselect: Use pthread_sigmask, not sigprocmask.
15721         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
15722         multithreaded apps better than sigprocmask does.
15723         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
15724         sigprocmask directly.
15725
15726 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15727
15728         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15729         Don't #undef,  since we don't need any underlying pselect.
15730         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
15731         (Depends-on): Add select.
15732         (Link): Add $(LIBSOCKET).
15733         These changes suggested by Bruno Haible.
15734
15735         pselect: document better
15736         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15737         * doc/posix-functions/pselect.texi (pselect): Document new module.
15738
15739         pthread_sigmask: new module
15740         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15741         * doc/posix-functions/pthread_sigmask.texi: Document new module.
15742         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
15743         This is done only as a macro; I don't know how well that'll
15744         work for C++.  Move <sys/types.h> include before the include_next,
15745         to avoid mishap on Solaris.
15746         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
15747         * modules/signal (Makefile.am): Substitute the check's results.
15748         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
15749
15750         test-pselect: new module
15751         * modules/pselect-tests, tests/test-pselect.c: New files.
15752         * tests/test-select.c, tests/test-sys_select-c++.cc:
15753         If TEST_PSELECT is defined, test pselect instead of testing select.
15754
15755         * tests/test-sys_select.c (sigset_t): Test for it, too.
15756         Suggested by Bruno Haible.
15757
15758 2011-07-05  Eric Blake  <eblake@redhat.com>
15759
15760         snprintf: guarantee %1$d, for libintl
15761         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
15762         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15763         * doc/posix-functions/snprintf.texi (snprintf): Update.
15764         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15765         * tests/test-snprintf.c (main): Enhance test.
15766         * tests/test-vsnprintf.c (main): Likewise.
15767
15768 2011-07-05  Jim Meyering  <meyering@redhat.com>
15769
15770         maint: exempt stdio-read.c and stdio-write.c from the cppi check
15771         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
15772         per Bruno's request, to accommodate this idiom (no space after "#")
15773         even when the function is inside an #if block:
15774         char *
15775         gets (char *s)
15776         #undef gets
15777         {
15778           ...
15779         }
15780
15781 2011-07-04  Jim Meyering  <meyering@redhat.com>
15782
15783         maint: indent with spaces, not TABs, and add a rule to check this
15784         * tests/test-userspec.c: Indent with spaces, not TABs.
15785         * tests/test-argp.c: Likewise.
15786         * tests/test-c-stack2.sh: Likewise.
15787         * tests/test-parse-duration.sh: Likewise
15788         * m4/strtod.m4: Likewise.
15789         * m4/alloca.m4: Likewise.
15790         * m4/pselect.m4: Likewise.
15791         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
15792
15793 2011-07-03  Jim Meyering  <meyering@redhat.com>
15794
15795         maint.mk: correct omissions in prohibit_argmatch_without_use check
15796         This rule would mistakenly report that argmatch.h is included without
15797         use even when both the argmatch and invalid_arg macro were used.
15798         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
15799         of argmatch and invalid_arg.
15800
15801 2011-07-03  Bruno Haible  <bruno@clisp.org>
15802
15803         Comments about EINTR.
15804         * lib/safe-read.h: Explain the purpose of this module.
15805         * lib/safe-write.h: Likewise.
15806         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
15807         module.
15808         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
15809         module.
15810         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15811
15812 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15813
15814         xnanosleep: Rewrite to use new dtotimespec module.
15815         It has the conversion code that used to be in xnanosleep.
15816         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
15817         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
15818         (TIME_T_MAX): Remove.
15819         (xnanosleep): Rewrite in terms of dtotimespec.
15820         * modules/xnanosleep (Depends-on): Add dtotimespec.
15821         Remove intprops, stdbool.
15822
15823         timespec-add, timespec-sub: new modules
15824         * lib/timespec.h (timespec_add, timespec_sub): New decls.
15825         * lib/timespec-add.c, lib/timespec-sub.c:
15826         * modules/timespec-add, modules/timespec-sub: New files.
15827
15828         dtotimespec: new module
15829         * lib/timespec.h (dtotimespec): New decl.
15830         * lib/dtotimespec.c, modules/dtotimespec: New files.
15831
15832         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
15833
15834         pselect: new module
15835         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
15836         (pselect): New decls.
15837         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
15838         since the standard pselect decl uses 'restrict'.
15839         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
15840         HAVE_PSELECT, REPLACE_PSELECT.
15841         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
15842         HAVE_PSELECT, REPLACE_PSELECT.
15843         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
15844
15845         sys_select: don't depend on sys_socket
15846         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
15847         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
15848         This fix works on GNU and GNU-like platforms, but has not been tested
15849         on native Windows.
15850         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
15851         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
15852         gl_HEADER_SYS_SOCKET.
15853         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
15854         gl_PREREQ_SYS_H_WINSOCK2.
15855
15856 2011-06-29  Eric Blake  <eblake@redhat.com>
15857
15858         pipe2: fix C89 compile problem
15859         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
15860         Reported by Bruno Haible.
15861
15862         pipe, pipe2: don't corrupt fd on error
15863         * lib/pipe.c (pipe): Leave fd unchanged on error.
15864         * lib/pipe2.c (pipe2): Likewise.
15865         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
15866         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15867
15868 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
15869
15870         mmap-anon: do not use regular expressions inadvertently
15871         * m4/mmap-anon.m4: Remove trailing period from strings sought
15872         in the output.
15873
15874 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15875
15876         nanosleep: fix integer overflow problem
15877         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15878         arithmetic wraps around on overflow.
15879
15880         nanosleep: simplify carrying
15881         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15882         first call to the underyling nanosleep, not for the last one.
15883         This doesn't fix any bugs, but it simplifies the computation of
15884         the remaining delay.  Found while auditing integer overflow issues.
15885
15886         dup2: remove test for existence of fcntl
15887         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
15888         "#if HAVE_FCNTL", in the configure-time test program.
15889         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
15890         and therefore speeds up "configure" a bit.  Found while
15891         adding the dup2 module to Emacs.
15892
15893 2011-06-24  Eric Blake  <eblake@redhat.com>
15894
15895         maint.mk: enhance useless header checks
15896         * top/maint.mk (_sc_header_without_use): Check both include
15897         styles.
15898         (sc_prohibit_assert_without_use)
15899         (sc_prohibit_close_stream_without_use)
15900         (sc_prohibit_getopt_without_use)
15901         (sc_prohibit_quotearg_without_use)
15902         (sc_prohibit_quote_without_use)
15903         (sc_prohibit_long_options_without_use)
15904         (sc_prohibit_inttostr_without_use)
15905         (sc_prohibit_ignore_value_without_use)
15906         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15907         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
15908         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
15909         (sc_prohibit_hash_pjw_without_use)
15910         (sc_prohibit_safe_read_without_use)
15911         (sc_prohibit_argmatch_without_use)
15912         (sc_prohibit_canonicalize_without_use)
15913         (sc_prohibit_root_dev_ino_without_use)
15914         (sc_prohibit_openat_without_use)
15915         (sc_prohibit_c_ctype_without_use)
15916         (sc_prohibit_signal_without_use)
15917         (sc_prohibit_stdio--_without_use)
15918         (sc_prohibit_stdio-safer_without_use)
15919         (sc_prohibit_strings_without_use)
15920         (sc_prohibit_intprops_without_use)
15921         (sc_prohibit_stddef_without_use)
15922         (sc_prohibit_xfreopen_without_use): Update clients.
15923
15924 2011-06-24  Jim Meyering  <meyering@redhat.com>
15925
15926         syntax-check: keep one maint.mk rule in sync with its header
15927         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
15928         of the bug Eric has just fixed, with today's commit 25e4c2ec.
15929         I prefer to avoid temporary files here, so use <(...), but that
15930         is not supported by /bin/sh, so...
15931         (SHELL): Define to /bin/bash.
15932
15933 2011-06-24  Eric Blake  <eblake@redhat.com>
15934
15935         maint.mk: update sc_prohibit_intprops_without_use
15936         * top/maint.mk (_intprops_names): Match recent changes.
15937
15938 2011-06-24  Bruno Haible  <bruno@clisp.org>
15939
15940         strerror-override: No-op tweak.
15941         * lib/strerror-override.h (strerror_override): Reorder conditions,
15942         for consistency with lib/strerror-override.c.
15943
15944 2011-06-23  Eric Blake  <eblake@redhat.com>
15945
15946         maint.mk: test further PATH_MAX issues
15947         * top/maint.mk (sc_prohibit_path_max_array): Rename...
15948         (sc_prohibit_path_max_allocation): ...and also test alloca.
15949         Suggested by Jim Meyering.
15950
15951 2011-06-22  Eric Blake  <eblake@redhat.com>
15952
15953         maint.mk: add syntax-check to avoid char[PATH_MAX]
15954         * top/maint.mk (sc_prohibit_path_max_array): New rule.
15955
15956         stat: be robust to PATH_MAX definition
15957         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
15958         * modules/stat (Depends-on): Add verify.
15959
15960         link: work around IRIX bug
15961         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
15962         * lib/link.c (rpl_link): Work around it.
15963         * tests/test-link.h (test_link): Enhance test.
15964         * doc/posix-functions/link.texi (link): Document the bug.
15965
15966         getopt: silence clang warning
15967         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
15968         dereference.
15969         Reported by Gustavo Martin Domato.
15970
15971 2011-06-22  Jim Meyering  <meyering@redhat.com>
15972
15973         bootstrap: do not insert a blank line into each .gitignore file
15974         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
15975
15976 2011-06-21  Eric Blake  <eblake@redhat.com>
15977
15978         perror: test for output mismatch
15979         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
15980         perror on IRIX.
15981
15982         strerror_r: fix OpenBSD behavior on out-of-range
15983         * lib/strerror_r.c (strerror_r): Always use maximal string.
15984         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15985
15986         strerror_r: fix OpenBSD behavior on 0
15987         * lib/strerror-override.c (strerror_override): Also override 0
15988         when needed.
15989         * lib/strerror-override.h (strerror_override): Likewise.
15990         * lib/strerror.c (strerror): Simplify, now that 0 override is done
15991         earlier.
15992         * lib/strerror_r.c (strerror_r): Likewise.
15993         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
15994         behavior...
15995         (gl_FUNC_STRERROR_0): ...into new macro.
15996         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
15997         is overridden.
15998         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
15999         * modules/strerror-override (Files): Add strerror.m4.
16000         (configure.ac): Also provide override for 0 when needed.
16001         * doc/posix-functions/strerror.texi (strerror): Document this.
16002         * doc/posix-functions/perror.texi (perror): Likewise.
16003
16004         perror: adjust array size
16005         * modules/perror (Depends-on): Add strerror-override.
16006         * lib/perror.c (perror): Use it to avoid magic number.
16007
16008         strerror-override: reduce size
16009         * lib/strerror-override.c (strerror_override): Use fewer lines.
16010
16011 2011-06-20  Bruno Haible  <bruno@clisp.org>
16012
16013         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16014         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16015
16016 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16017
16018         alloca: port to compilers that can optimize like GCC 4.6.0
16019         * lib/alloca.c (find_stack_direction): New signature, taken from
16020         Autoconf git.  This works with GCC 4.6.0.  This code should never
16021         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16022         be used with other compilers that optimize as well as GCC 4.6.0 does.
16023         (alloca): Adjust to new signature.
16024         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16025         New macro, which patches Autoconf in a similar way.
16026
16027         c-stack: stop worrying about stack direction
16028         * lib/c-stack.c (find_stack_direction): Remove.
16029         (segv_handler): Don't worry about stack direction growth, as it's
16030         too much of a pain to configure this correctly, given how compilers
16031         are optimizing-away our stack-growth detection code.  Instead, assume
16032         that any access to just before or just after the stack is OK.
16033         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16034         Don't require AC_FUNC_ALLOCA; no longer needed.
16035
16036 2011-06-20  Eric Blake  <eblake@redhat.com>
16037
16038         test-stat: don't allocate PATH_MAX bytes
16039         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16040         PATH_MAX-sized buffer.
16041         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16042         * modules/stat-tests (Depends-on): Likewise.
16043         * tests/test-fstatat.c (includes): Drop pathmax.h.
16044         * tests/test-stat.c (includes): Likewise.
16045         Reported by Bruno Haible.
16046
16047 2011-06-20  Bruno Haible  <bruno@clisp.org>
16048
16049         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16050         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16051         * lib/float.c: New file.
16052         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16053         REPLACE_FLOAT_LDBL.
16054         * modules/float (Files): Add lib/float.c.
16055         (configure.ac): Invoke AC_LIBOBJ.
16056         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16057
16058 2011-06-20  Bruno Haible  <bruno@clisp.org>
16059
16060         Tests for module 'float'.
16061         * modules/float-tests: New file.
16062         * tests/test-float.c: New file.
16063
16064 2011-06-19  Bruno Haible  <bruno@clisp.org>
16065
16066         isinf: Coding style.
16067         * lib/isinf.c: Use GNU coding style.
16068
16069 2011-06-19  Bruno Haible  <bruno@clisp.org>
16070
16071         linkat test: Avoid test failure on AIX 7.1.
16072         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16073         * tests/test-link.h (test_link): Likewise.
16074
16075 2011-06-19  Bruno Haible  <bruno@clisp.org>
16076
16077         pread test: Avoid test failure on OpenBSD 4.9.
16078         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16079
16080 2011-06-19  Bruno Haible  <bruno@clisp.org>
16081
16082         sprintf-posix: Fix test failure on AIX 7.1.
16083         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16084         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16085         on AIX.
16086         * doc/posix-functions/fprintf.texi: Likewise.
16087         * doc/posix-functions/printf.texi: Likewise.
16088         * doc/posix-functions/snprintf.texi: Likewise.
16089         * doc/posix-functions/sprintf.texi: Likewise.
16090         * doc/posix-functions/vdprintf.texi: Likewise.
16091         * doc/posix-functions/vfprintf.texi: Likewise.
16092         * doc/posix-functions/vprintf.texi: Likewise.
16093         * doc/posix-functions/vsnprintf.texi: Likewise.
16094         * doc/posix-functions/vsprintf.texi: Likewise.
16095
16096 2011-06-19  Bruno Haible  <bruno@clisp.org>
16097
16098         roundl-ieee: Fix test failure on AIX 7.1.
16099         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16100         * doc/posix-functions/roundl.texi: Mention problem with negative
16101         arguments.
16102
16103 2011-06-19  Bruno Haible  <bruno@clisp.org>
16104
16105         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16106         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16107         * doc/posix-functions/round.texi: Mention problem with negative
16108         arguments.
16109         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16110
16111 2011-06-19  Bruno Haible  <bruno@clisp.org>
16112
16113         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16114         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16115         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16116         * doc/posix-functions/roundf.texi: Mention problem with negative
16117         arguments.
16118         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16119
16120 2011-06-19  Bruno Haible  <bruno@clisp.org>
16121
16122         ceilf-ieee: Work around bug on MacOS X 10.5.
16123         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16124
16125         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16126         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16127         IEEE compliant, avoid compiler optimizations.
16128         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16129         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16130         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16131         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16132         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16133         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16134         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16135         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16136         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16137         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16138
16139 2011-06-19  Bruno Haible  <bruno@clisp.org>
16140
16141         ceilf-ieee: Work around bug on AIX 7.1.
16142         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16143         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16144
16145 2011-06-19  Bruno Haible  <bruno@clisp.org>
16146
16147         ceil-ieee: Work around bug on AIX 7.1.
16148         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16149         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16150
16151 2011-06-18  Bruno Haible  <bruno@clisp.org>
16152
16153         fsync test: Avoid test failure on MacOS X and AIX.
16154         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16155         EINVAL.
16156
16157 2011-06-18  Bruno Haible  <bruno@clisp.org>
16158
16159         openat, fdopendir tests: Fix link errors.
16160         * modules/openat-tests (Depends-on): Add progname.
16161         * modules/fdopendir-tests (Depends-on): Likewise.
16162         * tests/test-fchownat.c: Include progname.h.
16163         (main): Call set_program_name.
16164         * tests/test-fstatat.c: Include progname.h.
16165         (main): Call set_program_name.
16166         * tests/test-mkdirat.c: Include progname.h.
16167         (main): Call set_program_name.
16168         * tests/test-openat.c: Include progname.h.
16169         (main): Call set_program_name.
16170         * tests/test-unlinkat.c: Include progname.h.
16171         (main): Call set_program_name.
16172         * tests/test-fdopendir.c: Include progname.h.
16173         (main): Call set_program_name.
16174
16175 2011-06-18  Bruno Haible  <bruno@clisp.org>
16176
16177         Doc update.
16178         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16179         HP-UX.
16180         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16181
16182 2011-06-18  Bruno Haible  <bruno@clisp.org>
16183
16184         getcwd tests: Avoid compilation error on HP-UX 11.31.
16185         * modules/getcwd-tests (Depends-on): Add pathmax.
16186         * tests/test-getcwd.c: Include pathmax.h.
16187
16188 2011-06-18  Bruno Haible  <bruno@clisp.org>
16189
16190         isfinite, isinf: Fix link error on AIX 6 and 7.
16191         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16192         needed, also test the macro with a 'float' argument.
16193         * m4/isinf.m4 (gl_ISINF): Likewise.
16194
16195 2011-06-18  Bruno Haible  <bruno@clisp.org>
16196
16197         getloadavg: Don't clobber LIBS. Regression from previous commit.
16198         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16199         AC_CHECK_LIB from here...
16200         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16201         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16202         gl_func_getloadavg_done.
16203         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16204
16205 2011-06-18  Bruno Haible  <bruno@clisp.org>
16206
16207         clean-temp: Improve documentation.
16208         * lib/clean-temp.h: Explain better how to use this module.
16209         Reported by John Darrington <john@darrington.wattle.id.au>.
16210
16211 2011-06-17  Bruno Haible  <bruno@clisp.org>
16212
16213         pread, pwrite: Avoid cc warning on AIX.
16214         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16215         (pwrite): Likewise.
16216
16217 2011-06-17  Bruno Haible  <bruno@clisp.org>
16218
16219         spawn-pipe tests: Fix link error.
16220         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16221         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16222
16223 2011-06-17  Bruno Haible  <bruno@clisp.org>
16224
16225         Tests: Remove unnecessary dependency.
16226         * modules/canonicalize-tests (Depends-on): Remove progname.
16227         * modules/chown-tests (Depends-on): Likewise.
16228         * modules/dirname-tests (Depends-on): Likewise.
16229         * modules/fdopendir-tests (Depends-on): Likewise.
16230         * modules/fdutimensat-tests (Depends-on): Likewise.
16231         * modules/hash-tests (Depends-on): Likewise.
16232         * modules/lchown-tests (Depends-on): Likewise.
16233         * modules/linkat-tests (Depends-on): Likewise.
16234         * modules/renameat-tests (Depends-on): Likewise.
16235         * modules/spawn-pipe-tests (Depends-on): Likewise.
16236         * modules/utimensat-tests (Depends-on): Likewise.
16237
16238 2011-06-17  Bruno Haible  <bruno@clisp.org>
16239
16240         spawn-pipe tests: Fix link error.
16241         * tests/test-spawn-pipe-child.c: Undefine fflush.
16242
16243 2011-06-17  Bruno Haible  <bruno@clisp.org>
16244
16245         Fix tests link errors.
16246         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16247         * modules/chown-tests (Makefile.am): Don't link test-chown with
16248         LIBINTL.
16249         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16250         LIBINTL.
16251         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16252         LIBINTL.
16253         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16254         LIBINTL.
16255
16256 2011-06-16  Bruno Haible  <bruno@clisp.org>
16257
16258         crypto/gc-sha1: Fix recent regression.
16259         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16260         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16261
16262         crypto/gc-md5: Fix recent regression.
16263         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16264
16265         crypto/gc-md4: Fix recent regression.
16266         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16267         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16268
16269         crypto/gc-arctwo: Fix recent regression.
16270         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16271         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16272
16273         crypto/gc-rijndael: Fix recent regression.
16274         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16275         (configure.ac): Invoke AC_LIBOBJ here.
16276         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16277         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16278
16279         crypto/gc-hmac-sha1: Fix recent regression.
16280         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16281         (configure.ac): Invoke AC_LIBOBJ here.
16282         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16283         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16284
16285         crypto/gc-hmac-md5: Fix recent regression.
16286         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16287         (configure.ac): Invoke AC_LIBOBJ here.
16288         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16289         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16290
16291         crypto/gc-des: Fix recent regression.
16292         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16293         (configure.ac): Invoke AC_LIBOBJ here.
16294         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16295         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16296
16297         crypto/gc-arcfour: Fix recent regression.
16298         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16299         (configure.ac): Invoke AC_LIBOBJ here.
16300         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16301         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16302
16303 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16304
16305         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16306         After the 2011-05-21 change, this macro requires
16307         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16308         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16309
16310 2011-06-16  Bruno Haible  <bruno@clisp.org>
16311
16312         fprintftime: Move AC_LIBOBJ invocations to module description.
16313         * m4/fprintftime.m4: Remove file.
16314         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16315         (configure.ac): Remove gl_FPRINTFTIME call.
16316         (Makefile.am): Augment lib_SOURCES.
16317         Reported by Jim Meyering.
16318
16319 2011-06-16  Bruno Haible  <bruno@clisp.org>
16320
16321         tmpfile-safer: Finish 2011-05-23 commit.
16322         * m4/stdio-safer.m4: Really remove file.
16323         Reported by Jim Meyering.
16324
16325 2011-06-16  Bruno Haible  <bruno@clisp.org>
16326
16327         syntax-check: Fix typo.
16328         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16329         printf-posix.m4.
16330         Reported by Jim Meyering.
16331
16332 2011-06-13  Jim Meyering  <meyering@redhat.com>
16333
16334         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16335         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16336
16337 2011-05-23  Bruno Haible  <bruno@clisp.org>
16338
16339         yesno: Move AC_LIBOBJ invocations to module description.
16340         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16341         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16342
16343 2011-05-23  Bruno Haible  <bruno@clisp.org>
16344
16345         xstrtol: Move AC_LIBOBJ invocations to module description.
16346         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16347         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16348
16349 2011-05-23  Bruno Haible  <bruno@clisp.org>
16350
16351         xstrtold: Move AC_LIBOBJ invocations to module description.
16352         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16353         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16354
16355 2011-05-23  Bruno Haible  <bruno@clisp.org>
16356
16357         xstrtod: Move AC_LIBOBJ invocations to module description.
16358         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16359         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16360
16361 2011-05-23  Bruno Haible  <bruno@clisp.org>
16362
16363         xnanosleep: Move AC_LIBOBJ invocations to module description.
16364         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16365         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16366
16367 2011-05-23  Bruno Haible  <bruno@clisp.org>
16368
16369         xgetcwd: Move AC_LIBOBJ invocations to module description.
16370         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16371         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16372
16373 2011-05-23  Bruno Haible  <bruno@clisp.org>
16374
16375         xalloc: Move AC_LIBOBJ invocations to module description.
16376         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16377         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16378
16379 2011-05-23  Bruno Haible  <bruno@clisp.org>
16380
16381         write-any-file: Move AC_LIBOBJ invocations to module description.
16382         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16383         invocation.
16384         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16385
16386 2011-05-23  Bruno Haible  <bruno@clisp.org>
16387
16388         utimens: Move AC_LIBOBJ invocations to module description.
16389         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16390         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16391
16392 2011-05-23  Bruno Haible  <bruno@clisp.org>
16393
16394         utimecmp: Move AC_LIBOBJ invocations to module description.
16395         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16396         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16397
16398 2011-05-23  Bruno Haible  <bruno@clisp.org>
16399
16400         userspec: Move AC_LIBOBJ invocations to module description.
16401         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16402         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16403
16404 2011-05-23  Bruno Haible  <bruno@clisp.org>
16405
16406         unlinkdir: Move AC_LIBOBJ invocations to module description.
16407         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16408         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16409
16410 2011-05-23  Bruno Haible  <bruno@clisp.org>
16411
16412         unistd-safer: Move AC_LIBOBJ invocations to module description.
16413         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16414         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16415
16416 2011-05-23  Bruno Haible  <bruno@clisp.org>
16417
16418         tempname: Move AC_LIBOBJ invocations to module description.
16419         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16420         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16421
16422 2011-05-23  Bruno Haible  <bruno@clisp.org>
16423
16424         strftime: Move AC_LIBOBJ invocations to module description.
16425         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16426         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16427
16428 2011-05-23  Bruno Haible  <bruno@clisp.org>
16429
16430         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16431         * m4/stdlib-safer.m4: Remove file.
16432         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16433         (configure.ac): Remove gl_STDLIB_SAFER call.
16434         (Makefile.am): Augment lib_SOURCES.
16435
16436 2011-05-23  Bruno Haible  <bruno@clisp.org>
16437
16438         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16439         * m4/stdio-safer.m4: Remove file.
16440         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16441         (configure.ac): Remove gl_TMPFILE_SAFER call.
16442         (Makefile.am): Augment lib_SOURCES.
16443
16444 2011-05-23  Bruno Haible  <bruno@clisp.org>
16445
16446         popen-safer: Move AC_LIBOBJ invocations to module description.
16447         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16448         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16449         (configure.ac): Remove gl_POPEN_SAFER call.
16450         (Makefile.am): Augment lib_SOURCES.
16451
16452 2011-05-23  Bruno Haible  <bruno@clisp.org>
16453
16454         freopen-safer: Move AC_LIBOBJ invocations to module description.
16455         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16456         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16457         (configure.ac): Remove gl_FREOPEN_SAFER call.
16458         (Makefile.am): Augment lib_SOURCES.
16459
16460 2011-05-23  Bruno Haible  <bruno@clisp.org>
16461
16462         fopen-safer: Move AC_LIBOBJ invocations to module description.
16463         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16464         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16465         (configure.ac): Remove gl_FOPEN_SAFER call.
16466         (Makefile.am): Augment lib_SOURCES.
16467
16468 2011-05-23  Bruno Haible  <bruno@clisp.org>
16469
16470         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16471         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16472         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16473
16474 2011-05-23  Bruno Haible  <bruno@clisp.org>
16475
16476         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16477         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16478         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16479
16480 2011-05-23  Bruno Haible  <bruno@clisp.org>
16481
16482         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16483         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16484         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16485
16486 2011-05-23  Bruno Haible  <bruno@clisp.org>
16487
16488         settime: Move AC_LIBOBJ invocations to module description.
16489         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16490         * modules/settime (Makefile.am): Augment lib_SOURCES.
16491
16492 2011-05-23  Bruno Haible  <bruno@clisp.org>
16493
16494         savedir: Move AC_LIBOBJ invocations to module description.
16495         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16496         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16497
16498 2011-05-23  Bruno Haible  <bruno@clisp.org>
16499
16500         save-cwd: Move AC_LIBOBJ invocations to module description.
16501         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16502         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16503
16504 2011-05-23  Bruno Haible  <bruno@clisp.org>
16505
16506         same: Move AC_LIBOBJ invocations to module description.
16507         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16508         * modules/same (Makefile.am): Augment lib_SOURCES.
16509
16510 2011-05-23  Bruno Haible  <bruno@clisp.org>
16511
16512         safe-write: Move AC_LIBOBJ invocations to module description.
16513         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16514         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16515         instead of gl_SAFE_WRITE.
16516         (Makefile.am): Augment lib_SOURCES.
16517
16518 2011-05-23  Bruno Haible  <bruno@clisp.org>
16519
16520         safe-read: Move AC_LIBOBJ invocations to module description.
16521         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16522         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16523         of gl_SAFE_READ.
16524         (Makefile.am): Augment lib_SOURCES.
16525
16526 2011-05-23  Bruno Haible  <bruno@clisp.org>
16527
16528         safe-alloc: Move AC_LIBOBJ invocations to module description.
16529         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16530         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16531
16532 2011-05-23  Bruno Haible  <bruno@clisp.org>
16533
16534         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16535         * m4/rijndael.m4: Remove file.
16536         * modules/crypto/rijndael (Files): Remove it.
16537         (configure.ac): Remove gl_RIJNDAEL call.
16538         (Makefile.am): Augment lib_SOURCES.
16539
16540 2011-05-23  Bruno Haible  <bruno@clisp.org>
16541
16542         readtokens: Move AC_LIBOBJ invocations to module description.
16543         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16544         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16545
16546 2011-05-23  Bruno Haible  <bruno@clisp.org>
16547
16548         read-file: Move AC_LIBOBJ invocations to module description.
16549         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16550         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16551         of gl_FUNC_READ_FILE.
16552         (Makefile.am): Augment lib_SOURCES.
16553
16554 2011-05-23  Bruno Haible  <bruno@clisp.org>
16555
16556         quotearg: Move AC_LIBOBJ invocations to module description.
16557         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16558         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16559
16560 2011-05-23  Bruno Haible  <bruno@clisp.org>
16561
16562         quote: Move AC_LIBOBJ invocations to module description.
16563         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16564         * modules/quote (Makefile.am): Augment lib_SOURCES.
16565
16566 2011-05-23  Bruno Haible  <bruno@clisp.org>
16567
16568         posixver: Move AC_LIBOBJ invocations to module description.
16569         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16570         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16571
16572 2011-05-23  Bruno Haible  <bruno@clisp.org>
16573
16574         posixtm: Move AC_LIBOBJ invocations to module description.
16575         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16576         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16577
16578 2011-05-23  Bruno Haible  <bruno@clisp.org>
16579
16580         physmem: Move AC_LIBOBJ invocations to module description.
16581         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16582         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16583
16584 2011-05-23  Bruno Haible  <bruno@clisp.org>
16585
16586         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16587         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16588         invocation.
16589         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16590
16591 2011-05-23  Bruno Haible  <bruno@clisp.org>
16592
16593         mpsort: Move AC_LIBOBJ invocations to module description.
16594         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16595         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16596
16597 2011-05-23  Bruno Haible  <bruno@clisp.org>
16598
16599         modechange: Move AC_LIBOBJ invocations to module description.
16600         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16601         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16602
16603 2011-05-23  Bruno Haible  <bruno@clisp.org>
16604
16605         mkdir-p: Move AC_LIBOBJ invocations to module description.
16606         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16607         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16608
16609 2011-05-23  Bruno Haible  <bruno@clisp.org>
16610
16611         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16612         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16613         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16614
16615 2011-05-23  Bruno Haible  <bruno@clisp.org>
16616
16617         mgetgroups: Move AC_LIBOBJ invocations to module description.
16618         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16619         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16620
16621 2011-05-23  Bruno Haible  <bruno@clisp.org>
16622
16623         memxor: Move AC_LIBOBJ invocations to module description.
16624         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16625         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16626
16627 2011-05-23  Bruno Haible  <bruno@clisp.org>
16628
16629         memcoll: Move AC_LIBOBJ invocations to module description.
16630         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16631         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16632
16633 2011-05-23  Bruno Haible  <bruno@clisp.org>
16634
16635         memcasecmp: Move AC_LIBOBJ invocations to module description.
16636         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16637         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16638
16639 2011-05-23  Bruno Haible  <bruno@clisp.org>
16640
16641         crypto/md5: Move AC_LIBOBJ invocations to module description.
16642         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16643         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16644
16645 2011-05-23  Bruno Haible  <bruno@clisp.org>
16646
16647         crypto/md4: Move AC_LIBOBJ invocations to module description.
16648         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16649         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16650
16651 2011-05-23  Bruno Haible  <bruno@clisp.org>
16652
16653         crypto/md2: Move AC_LIBOBJ invocations to module description.
16654         * m4/md2.m4: Remove file.
16655         * modules/crypto/md2 (Files): Remove it.
16656         (configure.ac): Remove gl_MD2 call.
16657         (Makefile.am): Augment lib_SOURCES.
16658
16659 2011-05-23  Bruno Haible  <bruno@clisp.org>
16660
16661         long-options: Move AC_LIBOBJ invocations to module description.
16662         * m4/long-options.m4: Remove file.
16663         * modules/long-options (Files): Remove it.
16664         (configure.ac): Remove gl_LONG_OPTIONS call.
16665         (Makefile.am): Augment lib_SOURCES.
16666
16667 2011-05-23  Bruno Haible  <bruno@clisp.org>
16668
16669         i-ring: Move AC_LIBOBJ invocations to module description.
16670         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16671         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16672
16673 2011-05-23  Bruno Haible  <bruno@clisp.org>
16674
16675         idcache: Move AC_LIBOBJ invocations to module description.
16676         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16677         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16678
16679 2011-05-23  Bruno Haible  <bruno@clisp.org>
16680
16681         human: Move AC_LIBOBJ invocations to module description.
16682         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16683         * modules/human (Makefile.am): Augment lib_SOURCES.
16684
16685 2011-05-23  Bruno Haible  <bruno@clisp.org>
16686
16687         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16688         * m4/hmac-sha1.m4: Remove file.
16689         * modules/crypto/hmac-sha1 (Files): Remove it.
16690         (configure.ac): Remove gl_HMAC_SHA1 call.
16691         (Makefile.am): Augment lib_SOURCES.
16692
16693 2011-05-23  Bruno Haible  <bruno@clisp.org>
16694
16695         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16696         * m4/hmac-md5.m4: Remove file.
16697         * modules/crypto/hmac-md5 (Files): Remove it.
16698         (configure.ac): Remove gl_HMAC_MD5 call.
16699         (Makefile.am): Augment lib_SOURCES.
16700
16701 2011-05-23  Bruno Haible  <bruno@clisp.org>
16702
16703         hash: Move AC_LIBOBJ invocations to module description.
16704         * m4/hash.m4: Remove file.
16705         * modules/hash (Files): Remove it.
16706         (configure.ac): Remove gl_HASH call.
16707         (Makefile.am): Augment lib_SOURCES.
16708
16709 2011-05-23  Bruno Haible  <bruno@clisp.org>
16710
16711         hard-locale: Move AC_LIBOBJ invocations to module description.
16712         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
16713         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
16714
16715 2011-05-23  Bruno Haible  <bruno@clisp.org>
16716
16717         getugroups: Move AC_LIBOBJ invocations to module description.
16718         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
16719         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
16720
16721 2011-05-23  Bruno Haible  <bruno@clisp.org>
16722
16723         gettime: Move AC_LIBOBJ invocations to module description.
16724         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
16725         * modules/gettime (Makefile.am): Augment lib_SOURCES.
16726
16727 2011-05-23  Bruno Haible  <bruno@clisp.org>
16728
16729         getndelim2: Move AC_LIBOBJ invocations to module description.
16730         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
16731         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
16732
16733 2011-05-23  Bruno Haible  <bruno@clisp.org>
16734
16735         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
16736         * m4/gc-pbkdf2-sha1.m4: Remove file.
16737         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
16738         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
16739         (Makefile.am): Augment lib_SOURCES.
16740
16741 2011-05-23  Bruno Haible  <bruno@clisp.org>
16742
16743         fts: Move AC_LIBOBJ invocations to module description.
16744         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
16745         * modules/fts (configure.ac): ... to here.
16746
16747 2011-05-23  Bruno Haible  <bruno@clisp.org>
16748
16749         file-type: Move AC_LIBOBJ invocations to module description.
16750         * m4/file-type.m4: Remove file.
16751         * modules/file-type (Files): Remove it.
16752         (configure.ac): Remove gl_FILE_TYPE call.
16753         (Makefile.am): Augment lib_SOURCES.
16754
16755 2011-05-23  Bruno Haible  <bruno@clisp.org>
16756
16757         filenamecat*: Respect rules for use of AC_LIBOBJ.
16758         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
16759         Remove AC_LIBOBJ invocation.
16760         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
16761         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
16762
16763 2011-05-23  Bruno Haible  <bruno@clisp.org>
16764
16765         filemode: Move AC_LIBOBJ invocations to module description.
16766         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
16767         * modules/filemode (Makefile.am): Augment lib_SOURCES.
16768
16769 2011-05-23  Bruno Haible  <bruno@clisp.org>
16770
16771         openat-safer: Move AC_LIBOBJ invocations to module description.
16772         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
16773         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
16774
16775 2011-05-23  Bruno Haible  <bruno@clisp.org>
16776
16777         fcntl-safer: Move AC_LIBOBJ invocations to module description.
16778         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
16779         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
16780
16781 2011-05-23  Bruno Haible  <bruno@clisp.org>
16782
16783         exclude: Move AC_LIBOBJ invocations to module description.
16784         * m4/exclude.m4: Remove file.
16785         * modules/exclude (Files): Remove it.
16786         (configure.ac): Remove gl_EXCLUDE call.
16787         (Makefile.am): Augment lib_SOURCES.
16788
16789 2011-05-23  Bruno Haible  <bruno@clisp.org>
16790
16791         dirname*: Respect rules for use of AC_LIBOBJ.
16792         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
16793         invocations.
16794         * modules/dirname (Makefile.am): Augment lib_SOURCES.
16795         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
16796
16797 2011-05-23  Bruno Haible  <bruno@clisp.org>
16798
16799         dirent-safer: Move AC_LIBOBJ invocations to module description.
16800         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
16801         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
16802
16803 2011-05-23  Bruno Haible  <bruno@clisp.org>
16804
16805         crypto/des: Move AC_LIBOBJ invocations to module description.
16806         * m4/des.m4: Remove file.
16807         * modules/crypto/des (Files): Remove it.
16808         (configure.ac): Remove gl_DES call.
16809         (Makefile.am): Augment lib_SOURCES.
16810
16811 2011-05-23  Bruno Haible  <bruno@clisp.org>
16812
16813         cycle-check: Move AC_LIBOBJ invocations to module description.
16814         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
16815         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
16816
16817 2011-05-23  Bruno Haible  <bruno@clisp.org>
16818
16819         c-strtold: Move AC_LIBOBJ invocations to module description.
16820         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
16821         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
16822
16823 2011-05-23  Bruno Haible  <bruno@clisp.org>
16824
16825         c-strtod: Move AC_LIBOBJ invocations to module description.
16826         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
16827         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
16828
16829 2011-05-23  Bruno Haible  <bruno@clisp.org>
16830
16831         crc: Move AC_LIBOBJ invocations to module description.
16832         * m4/crc.m4: Remove file.
16833         * modules/crc (Files): Remove it.
16834         (configure.ac): Remove gl_CRC call.
16835         (Makefile.am): Augment lib_SOURCES.
16836
16837 2011-05-23  Bruno Haible  <bruno@clisp.org>
16838
16839         close-stream: Move AC_LIBOBJ invocations to module description.
16840         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
16841         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
16842
16843 2011-05-23  Bruno Haible  <bruno@clisp.org>
16844
16845         closeout: Move AC_LIBOBJ invocations to module description.
16846         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
16847         * modules/closeout (Makefile.am): Augment lib_SOURCES.
16848
16849 2011-05-23  Bruno Haible  <bruno@clisp.org>
16850
16851         closein: Move AC_LIBOBJ invocations to module description.
16852         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
16853         * modules/closein (Makefile.am): Augment lib_SOURCES.
16854
16855 2011-05-23  Bruno Haible  <bruno@clisp.org>
16856
16857         cloexec: Move AC_LIBOBJ invocations to module description.
16858         * m4/cloexec.m4: Remove file.
16859         * modules/cloexec (Files): Remove it.
16860         (configure.ac): Remove gl_CLOEXEC call.
16861         (Makefile.am): Augment lib_SOURCES.
16862
16863 2011-05-23  Bruno Haible  <bruno@clisp.org>
16864
16865         check-version: Move AC_LIBOBJ invocations to module description.
16866         * m4/check-version.m4: Remove file.
16867         * modules/check-version (Files): Remove it.
16868         (configure.ac): Remove gl_CHECK_VERSION call.
16869         (Makefile.am): Augment lib_SOURCES.
16870
16871 2011-05-23  Bruno Haible  <bruno@clisp.org>
16872
16873         chdir-safer: Move AC_LIBOBJ invocations to module description.
16874         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16875         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16876
16877 2011-05-23  Bruno Haible  <bruno@clisp.org>
16878
16879         canonicalize: Move AC_LIBOBJ invocations to module description.
16880         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16881         AC_LIBOBJ invocation.
16882         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16883
16884 2011-05-23  Bruno Haible  <bruno@clisp.org>
16885
16886         canon-host: Move AC_LIBOBJ invocations to module description.
16887         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
16888         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
16889         instead of gl_CANON_HOST.
16890         (Makefile.am): Augment lib_SOURCES.
16891
16892 2011-05-23  Bruno Haible  <bruno@clisp.org>
16893
16894         backupfile: Move AC_LIBOBJ invocations to module description.
16895         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
16896         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
16897
16898 2011-05-23  Bruno Haible  <bruno@clisp.org>
16899
16900         argmatch: Move AC_LIBOBJ invocations to module description.
16901         * m4/argmatch.m4: Remove file.
16902         * modules/argmatch (Files): Remove it.
16903         (configure.ac): Remove gl_ARGMATCH call.
16904         (Makefile.am): Augment lib_SOURCES.
16905
16906 2011-05-23  Bruno Haible  <bruno@clisp.org>
16907
16908         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
16909         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
16910         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
16911
16912 2011-05-23  Bruno Haible  <bruno@clisp.org>
16913
16914         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
16915         * m4/arcfour.m4: Remove file.
16916         * modules/crypto/arcfour (Files): Remove it.
16917         (configure.ac): Remove gl_ARCFOUR call.
16918         (Makefile.am): Augment lib_SOURCES.
16919
16920 2011-05-22  Bruno Haible  <bruno@clisp.org>
16921
16922         write: Move AC_LIBOBJ invocations to module description.
16923         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
16924         * modules/write (configure.ac): ... to here.
16925
16926 2011-05-22  Bruno Haible  <bruno@clisp.org>
16927
16928         wmemset: Move AC_LIBOBJ invocations to module description.
16929         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
16930         here...
16931         * modules/wmemset (configure.ac): ... to here.
16932
16933 2011-05-22  Bruno Haible  <bruno@clisp.org>
16934
16935         wmemmove: Move AC_LIBOBJ invocations to module description.
16936         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
16937         here...
16938         * modules/wmemmove (configure.ac): ... to here.
16939
16940 2011-05-22  Bruno Haible  <bruno@clisp.org>
16941
16942         wmemcpy: Move AC_LIBOBJ invocations to module description.
16943         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
16944         here...
16945         * modules/wmemcpy (configure.ac): ... to here.
16946
16947 2011-05-22  Bruno Haible  <bruno@clisp.org>
16948
16949         wmemcmp: Move AC_LIBOBJ invocations to module description.
16950         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
16951         here...
16952         * modules/wmemcmp (configure.ac): ... to here.
16953
16954 2011-05-22  Bruno Haible  <bruno@clisp.org>
16955
16956         wmemchr: Move AC_LIBOBJ invocations to module description.
16957         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
16958         here...
16959         * modules/wmemchr (configure.ac): ... to here.
16960
16961 2011-05-22  Bruno Haible  <bruno@clisp.org>
16962
16963         wcswidth: Move AC_LIBOBJ invocations to module description.
16964         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
16965         here...
16966         * modules/wcswidth (configure.ac): ... to here.
16967
16968 2011-05-22  Bruno Haible  <bruno@clisp.org>
16969
16970         wcwidth: Respect rules for use of AC_LIBOBJ.
16971         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
16972         invocation from here...
16973         * modules/wcwidth (configure.ac): ... to here.
16974         (Depends-on): Update conditions.
16975
16976 2011-05-22  Bruno Haible  <bruno@clisp.org>
16977
16978         wctype: Move AC_LIBOBJ invocations to module description.
16979         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
16980         invocation from here...
16981         * modules/wctype (configure.ac): ... to here.
16982         (Depends-on): Update conditions.
16983
16984 2011-05-22  Bruno Haible  <bruno@clisp.org>
16985
16986         wctrans: Move AC_LIBOBJ invocations to module description.
16987         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
16988         invocation from here...
16989         * modules/wctrans (configure.ac): ... to here.
16990
16991 2011-05-22  Bruno Haible  <bruno@clisp.org>
16992
16993         wctomb: Move AC_LIBOBJ invocations to module description.
16994         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
16995         invocations from here...
16996         * modules/wctomb (configure.ac): ... to here.
16997
16998 2011-05-22  Bruno Haible  <bruno@clisp.org>
16999
17000         wctob: Move AC_LIBOBJ invocations to module description.
17001         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17002         gl_PREREQ_WCTOB invocations from here...
17003         * modules/wctob (configure.ac): ... to here.
17004         (Depends-on): Update conditions.
17005
17006 2011-05-22  Bruno Haible  <bruno@clisp.org>
17007
17008         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17009         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17010         here...
17011         * modules/wcsxfrm (configure.ac): ... to here.
17012
17013 2011-05-22  Bruno Haible  <bruno@clisp.org>
17014
17015         wcstok: Move AC_LIBOBJ invocations to module description.
17016         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17017         * modules/wcstok (configure.ac): ... to here.
17018
17019 2011-05-22  Bruno Haible  <bruno@clisp.org>
17020
17021         wcsstr: Move AC_LIBOBJ invocations to module description.
17022         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17023         * modules/wcsstr (configure.ac): ... to here.
17024
17025 2011-05-22  Bruno Haible  <bruno@clisp.org>
17026
17027         wcsspn: Move AC_LIBOBJ invocations to module description.
17028         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17029         * modules/wcsspn (configure.ac): ... to here.
17030
17031 2011-05-22  Bruno Haible  <bruno@clisp.org>
17032
17033         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17034         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17035         gl_PREREQ_WCSRTOMBS invocations from here...
17036         * modules/wcsrtombs (configure.ac): ... to here.
17037
17038 2011-05-22  Bruno Haible  <bruno@clisp.org>
17039
17040         wcsrchr: Move AC_LIBOBJ invocations to module description.
17041         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17042         here...
17043         * modules/wcsrchr (configure.ac): ... to here.
17044
17045 2011-05-22  Bruno Haible  <bruno@clisp.org>
17046
17047         wcspbrk: Move AC_LIBOBJ invocations to module description.
17048         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17049         here...
17050         * modules/wcspbrk (configure.ac): ... to here.
17051
17052 2011-05-22  Bruno Haible  <bruno@clisp.org>
17053
17054         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17055         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17056         gl_PREREQ_WCSNRTOMBS invocations from here...
17057         * modules/wcsnrtombs (configure.ac): ... to here.
17058
17059 2011-05-22  Bruno Haible  <bruno@clisp.org>
17060
17061         wcsnlen: Move AC_LIBOBJ invocations to module description.
17062         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17063         here...
17064         * modules/wcsnlen (configure.ac): ... to here.
17065
17066 2011-05-22  Bruno Haible  <bruno@clisp.org>
17067
17068         wcsncpy: Move AC_LIBOBJ invocations to module description.
17069         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17070         here...
17071         * modules/wcsncpy (configure.ac): ... to here.
17072
17073 2011-05-22  Bruno Haible  <bruno@clisp.org>
17074
17075         wcsncmp: Move AC_LIBOBJ invocations to module description.
17076         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17077         here...
17078         * modules/wcsncmp (configure.ac): ... to here.
17079
17080 2011-05-22  Bruno Haible  <bruno@clisp.org>
17081
17082         wcsncat: Move AC_LIBOBJ invocations to module description.
17083         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17084         here...
17085         * modules/wcsncat (configure.ac): ... to here.
17086
17087 2011-05-22  Bruno Haible  <bruno@clisp.org>
17088
17089         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17090         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17091         from here...
17092         * modules/wcsncasecmp (configure.ac): ... to here.
17093
17094 2011-05-22  Bruno Haible  <bruno@clisp.org>
17095
17096         wcslen: Move AC_LIBOBJ invocations to module description.
17097         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17098         * modules/wcslen (configure.ac): ... to here.
17099
17100 2011-05-22  Bruno Haible  <bruno@clisp.org>
17101
17102         wcsdup: Move AC_LIBOBJ invocations to module description.
17103         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17104         * modules/wcsdup (configure.ac): ... to here.
17105
17106 2011-05-22  Bruno Haible  <bruno@clisp.org>
17107
17108         wcscspn: Move AC_LIBOBJ invocations to module description.
17109         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17110         here...
17111         * modules/wcscspn (configure.ac): ... to here.
17112
17113 2011-05-22  Bruno Haible  <bruno@clisp.org>
17114
17115         wcscpy: Move AC_LIBOBJ invocations to module description.
17116         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17117         * modules/wcscpy (configure.ac): ... to here.
17118
17119 2011-05-22  Bruno Haible  <bruno@clisp.org>
17120
17121         wcscoll: Move AC_LIBOBJ invocations to module description.
17122         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17123         here...
17124         * modules/wcscoll (configure.ac): ... to here.
17125
17126 2011-05-22  Bruno Haible  <bruno@clisp.org>
17127
17128         wcscmp: Move AC_LIBOBJ invocations to module description.
17129         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17130         * modules/wcscmp (configure.ac): ... to here.
17131
17132 2011-05-22  Bruno Haible  <bruno@clisp.org>
17133
17134         wcschr: Move AC_LIBOBJ invocations to module description.
17135         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17136         * modules/wcschr (configure.ac): ... to here.
17137
17138 2011-05-22  Bruno Haible  <bruno@clisp.org>
17139
17140         wcscat: Move AC_LIBOBJ invocations to module description.
17141         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17142         * modules/wcscat (configure.ac): ... to here.
17143
17144 2011-05-22  Bruno Haible  <bruno@clisp.org>
17145
17146         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17147         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17148         here...
17149         * modules/wcscasecmp (configure.ac): ... to here.
17150
17151 2011-05-22  Bruno Haible  <bruno@clisp.org>
17152
17153         wcrtomb: Move AC_LIBOBJ invocations to module description.
17154         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17155         invocations from here...
17156         * modules/wcrtomb (configure.ac): ... to here.
17157
17158 2011-05-22  Bruno Haible  <bruno@clisp.org>
17159
17160         wcpncpy: Move AC_LIBOBJ invocations to module description.
17161         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17162         here...
17163         * modules/wcpncpy (configure.ac): ... to here.
17164
17165 2011-05-22  Bruno Haible  <bruno@clisp.org>
17166
17167         wcpcpy: Move AC_LIBOBJ invocations to module description.
17168         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17169         * modules/wcpcpy (configure.ac): ... to here.
17170
17171 2011-05-22  Bruno Haible  <bruno@clisp.org>
17172
17173         waitpid: Move AC_LIBOBJ invocations to module description.
17174         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17175         invocation from here...
17176         * modules/waitpid (configure.ac): ... to here.
17177
17178 2011-05-22  Bruno Haible  <bruno@clisp.org>
17179
17180         utimensat: Move AC_LIBOBJ invocations to module description.
17181         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17182         here...
17183         * modules/utimensat (configure.ac): ... to here.
17184
17185 2011-05-22  Bruno Haible  <bruno@clisp.org>
17186
17187         usleep: Move AC_LIBOBJ invocations to module description.
17188         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17189         here...
17190         * modules/usleep (configure.ac): ... to here.
17191
17192 2011-05-22  Bruno Haible  <bruno@clisp.org>
17193
17194         unlockpt: Move AC_LIBOBJ invocations to module description.
17195         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17196         gl_PREREQ_UNLOCKPT invocations from here...
17197         * modules/unlockpt (configure.ac): ... to here.
17198
17199 2011-05-22  Bruno Haible  <bruno@clisp.org>
17200
17201         unlink: Respect rules for use of AC_LIBOBJ.
17202         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17203         * modules/unlink (configure.ac): ... to here.
17204
17205 2011-05-22  Bruno Haible  <bruno@clisp.org>
17206
17207         uname: Move AC_LIBOBJ invocations to module description.
17208         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17209         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17210         here...
17211         * modules/uname (configure.ac): ... to here.
17212
17213 2011-05-22  Bruno Haible  <bruno@clisp.org>
17214
17215         ttyname_r: Move AC_LIBOBJ invocations to module description.
17216         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17217         gl_PREREQ_TTYNAME_R invocations from here...
17218         * modules/ttyname_r (configure.ac): ... to here.
17219
17220 2011-05-22  Bruno Haible  <bruno@clisp.org>
17221
17222         tsearch: Move AC_LIBOBJ invocations to module description.
17223         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17224         invocations from here...
17225         * modules/tsearch (configure.ac): ... to here.
17226
17227 2011-05-22  Bruno Haible  <bruno@clisp.org>
17228
17229         towctrans: Move AC_LIBOBJ invocations to module description.
17230         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17231         AC_LIBOBJ invocation from here...
17232         * modules/towctrans (configure.ac): ... to here.
17233
17234 2011-05-22  Bruno Haible  <bruno@clisp.org>
17235
17236         tmpfile: Move AC_LIBOBJ invocations to module description.
17237         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17238         invocations from here...
17239         * modules/tmpfile (configure.ac): ... to here.
17240
17241 2011-05-22  Bruno Haible  <bruno@clisp.org>
17242
17243         times: Move AC_LIBOBJ invocations to module description.
17244         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17245         * modules/times (configure.ac): ... to here.
17246
17247 2011-05-22  Bruno Haible  <bruno@clisp.org>
17248
17249         time_r: Move AC_LIBOBJ invocations to module description.
17250         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17251         invocations from here...
17252         * modules/time_r (configure.ac): ... to here.
17253
17254 2011-05-22  Bruno Haible  <bruno@clisp.org>
17255
17256         timegm: Move AC_LIBOBJ invocations to module description.
17257         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17258         invocations from here...
17259         * modules/timegm (configure.ac): ... to here.
17260
17261 2011-05-22  Bruno Haible  <bruno@clisp.org>
17262
17263         tcgetsid: Move AC_LIBOBJ invocations to module description.
17264         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17265         and gl_PREREQ_TCGETSID invocations from here...
17266         * modules/tcgetsid (configure.ac): ... to here.
17267         (Depends-on): Update conditions.
17268
17269 2011-05-22  Bruno Haible  <bruno@clisp.org>
17270
17271         symlinkat: Move AC_LIBOBJ invocations to module description.
17272         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17273         here...
17274         * modules/symlinkat (configure.ac): ... to here.
17275
17276 2011-05-22  Bruno Haible  <bruno@clisp.org>
17277
17278         symlink: Move AC_LIBOBJ invocations to module description.
17279         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17280         here...
17281         * modules/symlink (configure.ac): ... to here.
17282
17283 2011-05-22  Bruno Haible  <bruno@clisp.org>
17284
17285         strverscmp: Move AC_LIBOBJ invocations to module description.
17286         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17287         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17288         from here...
17289         * modules/strverscmp (configure.ac): ... to here.
17290
17291 2011-05-22  Bruno Haible  <bruno@clisp.org>
17292
17293         strtok_r: Move AC_LIBOBJ invocations to module description.
17294         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17295         and gl_PREREQ_STRTOK_R invocations from here...
17296         * modules/strtok_r (configure.ac): ... to here.
17297         (Depends-on): Update conditions.
17298
17299 2011-05-22  Bruno Haible  <bruno@clisp.org>
17300
17301         strtoumax: Move AC_LIBOBJ invocations to module description.
17302         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17303         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17304         from here...
17305         * modules/strtoumax (configure.ac): ... to here.
17306
17307 2011-05-22  Bruno Haible  <bruno@clisp.org>
17308
17309         strtoimax: Move AC_LIBOBJ invocations to module description.
17310         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17312         from here...
17313         * modules/strtoimax (configure.ac): ... to here.
17314
17315 2011-05-22  Bruno Haible  <bruno@clisp.org>
17316
17317         strtoull: Move AC_LIBOBJ invocations to module description.
17318         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17319         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17320         from here...
17321         * modules/strtoull (configure.ac): ... to here.
17322
17323 2011-05-22  Bruno Haible  <bruno@clisp.org>
17324
17325         strtoll: Move AC_LIBOBJ invocations to module description.
17326         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17327         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17328         here...
17329         * modules/strtoll (configure.ac): ... to here.
17330
17331 2011-05-22  Bruno Haible  <bruno@clisp.org>
17332
17333         strtoul: Move AC_LIBOBJ invocations to module description.
17334         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17335         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17336         * modules/strtoul (configure.ac): ... to here.
17337
17338 2011-05-22  Bruno Haible  <bruno@clisp.org>
17339
17340         strtol: Move AC_LIBOBJ invocations to module description.
17341         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17342         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17343         * modules/strtol (configure.ac): ... to here.
17344
17345 2011-05-22  Bruno Haible  <bruno@clisp.org>
17346
17347         strtod: Move AC_LIBOBJ invocations to module description.
17348         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17349         invocations from here...
17350         * modules/strtod (configure.ac): ... to here.
17351
17352 2011-05-22  Bruno Haible  <bruno@clisp.org>
17353
17354         strstr*: Move AC_LIBOBJ invocations to module description.
17355         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17356         invocations from here...
17357         * modules/strstr-simple (configure.ac): ... to here.
17358         * modules/strstr (configure.ac): ... and here.
17359
17360 2011-05-22  Bruno Haible  <bruno@clisp.org>
17361
17362         strsignal: Move AC_LIBOBJ invocations to module description.
17363         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17364         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17365         * modules/strsignal (configure.ac): ... to here.
17366         (Depends-on): Update conditions.
17367
17368 2011-05-22  Bruno Haible  <bruno@clisp.org>
17369
17370         strsep: Move AC_LIBOBJ invocations to module description.
17371         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17372         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17373         here...
17374         * modules/strsep (configure.ac): ... to here.
17375
17376 2011-05-22  Bruno Haible  <bruno@clisp.org>
17377
17378         strptime: Move AC_LIBOBJ invocations to module description.
17379         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17380         gl_PREREQ_STRPTIME invocations from here...
17381         * modules/strptime (configure.ac): ... to here.
17382
17383 2011-05-22  Bruno Haible  <bruno@clisp.org>
17384
17385         strpbrk: Move AC_LIBOBJ invocations to module description.
17386         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17387         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17388         here...
17389         * modules/strpbrk (configure.ac): ... to here.
17390
17391 2011-05-22  Bruno Haible  <bruno@clisp.org>
17392
17393         strnlen: Move AC_LIBOBJ invocations to module description.
17394         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17395         invocations from here...
17396         * modules/strnlen (configure.ac): ... to here.
17397
17398 2011-05-22  Bruno Haible  <bruno@clisp.org>
17399
17400         strndup: Move AC_LIBOBJ invocations to module description.
17401         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17402         invocations from here...
17403         * modules/strndup (configure.ac): ... to here.
17404         (Depends-on): Update conditions.
17405
17406 2011-05-22  Bruno Haible  <bruno@clisp.org>
17407
17408         strncat: Move AC_LIBOBJ invocations to module description.
17409         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17410         invocations from here...
17411         * modules/strncat (configure.ac): ... to here.
17412
17413 2011-05-22  Bruno Haible  <bruno@clisp.org>
17414
17415         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17416         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17417         invocations from here...
17418         * modules/strdup (configure.ac): ... to here.
17419         * modules/strdup-posix (configure.ac): ... and here.
17420
17421 2011-05-22  Bruno Haible  <bruno@clisp.org>
17422
17423         strcspn: Move AC_LIBOBJ invocations to module description.
17424         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17425         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17426         here...
17427         * modules/strcspn (configure.ac): ... to here.
17428
17429 2011-05-22  Bruno Haible  <bruno@clisp.org>
17430
17431         strchrnul: Move AC_LIBOBJ invocations to module description.
17432         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17433         gl_PREREQ_STRCHRNUL invocations from here...
17434         * modules/strchrnul (configure.ac): ... to here.
17435
17436 2011-05-22  Bruno Haible  <bruno@clisp.org>
17437
17438         strcasestr*: Move AC_LIBOBJ invocations to module description.
17439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17440         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17441         * modules/strcasestr-simple (configure.ac): ... to here.
17442         * modules/strcasestr (configure.ac): ... and here.
17443
17444 2011-05-22  Bruno Haible  <bruno@clisp.org>
17445
17446         strcase: Move AC_LIBOBJ invocations to module description.
17447         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17448         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17449         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17450         gl_PREREQ_STRNCASECMP invocations from here...
17451         * modules/strcase (configure.ac): ... to here.
17452
17453 2011-05-22  Bruno Haible  <bruno@clisp.org>
17454
17455         stpncpy: Move AC_LIBOBJ invocations to module description.
17456         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17457         here...
17458         * modules/stpncpy (configure.ac): ... to here.
17459
17460 2011-05-22  Bruno Haible  <bruno@clisp.org>
17461
17462         stpcpy: Move AC_LIBOBJ invocations to module description.
17463         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17464         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17465         here...
17466         * modules/stpcpy (configure.ac): ... to here.
17467
17468 2011-05-21  Bruno Haible  <bruno@clisp.org>
17469
17470         stat: Move AC_LIBOBJ invocations to module description.
17471         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17472         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17473         here...
17474         * modules/stat (configure.ac): ... to here.
17475
17476 2011-05-21  Bruno Haible  <bruno@clisp.org>
17477
17478         sleep: Move AC_LIBOBJ invocations to module description.
17479         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17480         * modules/sleep (configure.ac): ... to here.
17481
17482 2011-05-21  Bruno Haible  <bruno@clisp.org>
17483
17484         signbit: Move AC_LIBOBJ invocations to module description.
17485         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17486         * modules/signbit (configure.ac): ... to here.
17487
17488 2011-05-21  Bruno Haible  <bruno@clisp.org>
17489
17490         sigprocmask: Move AC_LIBOBJ invocations to module description.
17491         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17492         gl_PREREQ_SIGPROMASK invocations from here...
17493         * modules/sigprocmask (configure.ac): ... to here.
17494
17495 2011-05-21  Bruno Haible  <bruno@clisp.org>
17496
17497         sigaction: Move AC_LIBOBJ invocations to module description.
17498         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17499         gl_PREREQ_SIGACTION invocations from here...
17500         * modules/sigaction (configure.ac): ... to here.
17501
17502 2011-05-21  Bruno Haible  <bruno@clisp.org>
17503
17504         sig2str: Move AC_LIBOBJ invocations to module description.
17505         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17506         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17507         here...
17508         * modules/sig2str (configure.ac): ... to here.
17509
17510 2011-05-21  Bruno Haible  <bruno@clisp.org>
17511
17512         setlocale: Move AC_LIBOBJ invocations to module description.
17513         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17514         gl_PREREQ_SETLOCALE invocations from here...
17515         * modules/setlocale (configure.ac): ... to here.
17516
17517 2011-05-21  Bruno Haible  <bruno@clisp.org>
17518
17519         unsetenv: Move AC_LIBOBJ invocations to module description.
17520         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17521         and gl_PREREQ_UNSETENV invocations from here...
17522         * modules/unsetenv (configure.ac): ... to here.
17523         (Depends-on): Update.
17524
17525 2011-05-21  Bruno Haible  <bruno@clisp.org>
17526
17527         setenv: Move AC_LIBOBJ invocations to module description.
17528         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17529         here...
17530         * modules/setenv (configure.ac): ... to here.
17531
17532 2011-05-21  Bruno Haible  <bruno@clisp.org>
17533
17534         selinux-h: Move AC_LIBOBJ invocations to module description.
17535         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17536         AC_LIBOBJ invocation from here...
17537         * modules/selinux-h (configure.ac): ... to here.
17538
17539 2011-05-21  Bruno Haible  <bruno@clisp.org>
17540
17541         select: Respect rules for use of AC_LIBOBJ.
17542         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17543         here...
17544         * modules/select (configure.ac): ... to here.
17545
17546 2011-05-21  Bruno Haible  <bruno@clisp.org>
17547
17548         scandir: Move AC_LIBOBJ invocations to module description.
17549         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17550         invocations from here...
17551         * modules/scandir (configure.ac): ... to here.
17552
17553 2011-05-21  Bruno Haible  <bruno@clisp.org>
17554
17555         rpmatch: Move AC_LIBOBJ invocations to module description.
17556         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17557         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17558         here...
17559         * modules/rpmatch (configure.ac): ... to here.
17560
17561 2011-05-21  Bruno Haible  <bruno@clisp.org>
17562
17563         rmdir: Respect rules for use of AC_LIBOBJ.
17564         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17565         * modules/rmdir (configure.ac): ... to here.
17566
17567 2011-05-21  Bruno Haible  <bruno@clisp.org>
17568
17569         renameat: Move AC_LIBOBJ invocations to module description.
17570         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17571         here...
17572         * modules/renameat (configure.ac): ... to here.
17573
17574 2011-05-21  Bruno Haible  <bruno@clisp.org>
17575
17576         rename: Respect rules for use of AC_LIBOBJ.
17577         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17578         here...
17579         * modules/rename (configure.ac): ... to here.
17580
17581 2011-05-21  Bruno Haible  <bruno@clisp.org>
17582
17583         remove: Move AC_LIBOBJ invocations to module description.
17584         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17585         here...
17586         * modules/remove (configure.ac): ... to here.
17587
17588 2011-05-21  Bruno Haible  <bruno@clisp.org>
17589
17590         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17591         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17592         macro.
17593         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17594         * modules/relocatable-lib (configure.ac): ... to here.
17595         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17596         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17597
17598 2011-05-21  Bruno Haible  <bruno@clisp.org>
17599
17600         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17601         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17602         here...
17603         * modules/relocatable-prog (configure.ac): ... to here.
17604
17605 2011-05-21  Bruno Haible  <bruno@clisp.org>
17606
17607         regex: Move AC_LIBOBJ invocations to module description.
17608         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17609         invocations from here...
17610         * modules/regex (configure.ac): ... to here.
17611
17612 2011-05-21  Bruno Haible  <bruno@clisp.org>
17613
17614         realloc-*: Move AC_LIBOBJ invocations to module description.
17615         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17616         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17617         AC_LIBOBJ invocations from here...
17618         * modules/realloc-gnu (configure.ac): ... to here.
17619         * modules/realloc-posix (configure.ac): ... and here.
17620
17621 2011-05-21  Bruno Haible  <bruno@clisp.org>
17622
17623         readutmp: Move AC_LIBOBJ invocations to module description.
17624         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17625         * modules/readutmp (configure.ac): ... to here.
17626
17627 2011-05-21  Bruno Haible  <bruno@clisp.org>
17628
17629         readlinkat: Move AC_LIBOBJ invocations to module description.
17630         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17631         here...
17632         * modules/readlinkat (configure.ac): ... to here.
17633
17634 2011-05-21  Bruno Haible  <bruno@clisp.org>
17635
17636         readlink: Move AC_LIBOBJ invocations to module description.
17637         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17638         gl_PREREQ_READLINK invocations from here...
17639         * modules/readlink (configure.ac): ... to here.
17640
17641 2011-05-21  Bruno Haible  <bruno@clisp.org>
17642
17643         readline: Move AC_LIBOBJ invocations to module description.
17644         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17645         gl_PREREQ_READLINE invocations from here...
17646         * modules/readline (configure.ac): ... to here.
17647
17648 2011-05-21  Bruno Haible  <bruno@clisp.org>
17649
17650         read: Move AC_LIBOBJ invocations to module description.
17651         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17652         * modules/read (configure.ac): ... to here.
17653
17654 2011-05-21  Bruno Haible  <bruno@clisp.org>
17655
17656         rawmemchr: Move AC_LIBOBJ invocations to module description.
17657         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17658         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17659         from here...
17660         * modules/rawmemchr (configure.ac): ... to here.
17661
17662 2011-05-21  Bruno Haible  <bruno@clisp.org>
17663
17664         random_r: Move AC_LIBOBJ invocations to module description.
17665         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17666         gl_PREREQ_RANDOM_R invocations from here...
17667         * modules/random_r (configure.ac): ... to here.
17668
17669 2011-05-21  Bruno Haible  <bruno@clisp.org>
17670
17671         pwrite: Move AC_LIBOBJ invocations to module description.
17672         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17673         * modules/pwrite (configure.ac): ... to here.
17674
17675 2011-05-21  Bruno Haible  <bruno@clisp.org>
17676
17677         putenv: Move AC_LIBOBJ invocations to module description.
17678         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17679         * modules/putenv (configure.ac): ... to here.
17680
17681 2011-05-21  Bruno Haible  <bruno@clisp.org>
17682
17683         login_tty: Move AC_LIBOBJ invocations to module description.
17684         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17685         * modules/login_tty (configure.ac): ... to here.
17686
17687 2011-05-21  Bruno Haible  <bruno@clisp.org>
17688
17689         openpty: Move AC_LIBOBJ invocations to module description.
17690         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17691         * modules/openpty (configure.ac): ... to here.
17692
17693 2011-05-21  Bruno Haible  <bruno@clisp.org>
17694
17695         forkpty: Move AC_LIBOBJ invocations to module description.
17696         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17697         * modules/forkpty (configure.ac): ... to here.
17698
17699 2011-05-21  Bruno Haible  <bruno@clisp.org>
17700
17701         ptsname: Move AC_LIBOBJ invocations to module description.
17702         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17703         invocations from here...
17704         * modules/ptsname (configure.ac): ... to here.
17705
17706 2011-05-21  Bruno Haible  <bruno@clisp.org>
17707
17708         pread: Move AC_LIBOBJ invocations to module description.
17709         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
17710         * modules/pread (configure.ac): ... to here.
17711
17712 2011-05-21  Bruno Haible  <bruno@clisp.org>
17713
17714         posix_spawn*: Move AC_LIBOBJ invocations to module description.
17715         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
17716         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
17717         * modules/posix_spawn (configure.ac): ... to here.
17718         * modules/posix_spawnp (configure.ac): ... and here.
17719
17720 2011-05-21  Bruno Haible  <bruno@clisp.org>
17721
17722         popen: Move AC_LIBOBJ invocations to module description.
17723         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
17724         invocations from here...
17725         * modules/popen (configure.ac): ... to here.
17726
17727 2011-05-21  Bruno Haible  <bruno@clisp.org>
17728
17729         poll: Move AC_LIBOBJ invocations to module description.
17730         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
17731         invocations from here...
17732         * modules/poll (configure.ac): ... to here.
17733
17734 2011-05-21  Bruno Haible  <bruno@clisp.org>
17735
17736         pipe-posix: Move AC_LIBOBJ invocations to module description.
17737         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
17738         * modules/pipe-posix (configure.ac): ... to here.
17739
17740 2011-05-21  Bruno Haible  <bruno@clisp.org>
17741
17742         openat: Respect rules for use of AC_LIBOBJ.
17743         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
17744         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17745         * modules/openat (configure.ac): ... to here.
17746
17747 2011-05-21  Bruno Haible  <bruno@clisp.org>
17748
17749         obstack-printf*: Move AC_LIBOBJ invocations to module description.
17750         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
17751         invocation from here...
17752         * modules/obstack-printf (configure.ac): ... to here.
17753         * modules/obstack-printf-posix (configure.ac): ... and here.
17754
17755 2011-05-21  Bruno Haible  <bruno@clisp.org>
17756
17757         nl_langinfo: Move AC_LIBOBJ invocations to module description.
17758         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
17759         from here...
17760         * modules/nl_langinfo (configure.ac): ... to here.
17761
17762 2011-05-21  Bruno Haible  <bruno@clisp.org>
17763
17764         nanosleep: Move AC_LIBOBJ invocations to module description.
17765         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
17766         gl_PREREQ_NANOSLEEP invocations from here...
17767         * modules/nanosleep (configure.ac): ... to here.
17768
17769 2011-05-21  Bruno Haible  <bruno@clisp.org>
17770
17771         mountlist: Move AC_LIBOBJ invocations to module description.
17772         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
17773         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
17774         * modules/mountlist (configure.ac): ... to here.
17775
17776 2011-05-21  Bruno Haible  <bruno@clisp.org>
17777
17778         mktime: Respect rules for use of AC_LIBOBJ.
17779         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
17780         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
17781         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
17782         (gl_FUNC_MKTIME_INTERNAL): ... and here...
17783         * modules/mktime (configure.ac): ... to here.
17784         * modules/mktime-internal (configure.ac): ... and here.
17785         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
17786
17787 2011-05-21  Bruno Haible  <bruno@clisp.org>
17788
17789         mkstemps: Move AC_LIBOBJ invocations to module description.
17790         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
17791         here...
17792         * modules/mkstemps (configure.ac): ... to here.
17793
17794 2011-05-21  Bruno Haible  <bruno@clisp.org>
17795
17796         mkstemp: Move AC_LIBOBJ invocations to module description.
17797         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
17798         gl_PREREQ_MKSTEMP invocations from here...
17799         * modules/mkstemp (configure.ac): ... to here.
17800
17801 2011-05-21  Bruno Haible  <bruno@clisp.org>
17802
17803         mkostemps: Move AC_LIBOBJ invocations to module description.
17804         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
17805         here...
17806         * modules/mkostemps (configure.ac): ... to here.
17807
17808 2011-05-21  Bruno Haible  <bruno@clisp.org>
17809
17810         mkostemp: Move AC_LIBOBJ invocations to module description.
17811         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
17812         gl_PREREQ_MKOSTEMP invocations from here...
17813         * modules/mkostemp (configure.ac): ... to here.
17814
17815 2011-05-21  Bruno Haible  <bruno@clisp.org>
17816
17817         mknod: Move AC_LIBOBJ invocations to module description.
17818         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
17819         * modules/mknod (configure.ac): ... to here.
17820
17821 2011-05-21  Bruno Haible  <bruno@clisp.org>
17822
17823         mkfifoat: Move AC_LIBOBJ invocations to module description.
17824         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
17825         here...
17826         * modules/mkfifoat (configure.ac): ... to here.
17827
17828 2011-05-21  Bruno Haible  <bruno@clisp.org>
17829
17830         mkfifo: Respect rules for use of AC_LIBOBJ.
17831         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
17832         here...
17833         * modules/mkfifo (configure.ac): ... to here.
17834
17835 2011-05-21  Bruno Haible  <bruno@clisp.org>
17836
17837         mkdtemp: Move AC_LIBOBJ invocations to module description.
17838         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
17839         invocations from here...
17840         * modules/mkdtemp (configure.ac): ... to here.
17841
17842 2011-05-21  Bruno Haible  <bruno@clisp.org>
17843
17844         mkdir: Move AC_LIBOBJ invocations to module description.
17845         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
17846         * modules/mkdir (configure.ac): ... to here.
17847
17848 2011-05-21  Bruno Haible  <bruno@clisp.org>
17849
17850         memset: Move AC_LIBOBJ invocations to module description.
17851         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
17852         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
17853         here...
17854         * modules/memset (configure.ac): ... to here.
17855
17856 2011-05-21  Bruno Haible  <bruno@clisp.org>
17857
17858         memrchr: Move AC_LIBOBJ invocations to module description.
17859         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
17860         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
17861         here...
17862         * modules/memrchr (configure.ac): ... to here.
17863
17864 2011-05-21  Bruno Haible  <bruno@clisp.org>
17865
17866         mempcpy: Move AC_LIBOBJ invocations to module description.
17867         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
17868         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
17869         here...
17870         * modules/mempcpy (configure.ac): ... to here.
17871
17872 2011-05-21  Bruno Haible  <bruno@clisp.org>
17873
17874         memmove: Move AC_LIBOBJ invocations to module description.
17875         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17876         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17877         here...
17878         * modules/memmove (configure.ac): ... to here.
17879
17880 2011-05-21  Bruno Haible  <bruno@clisp.org>
17881
17882         memmem*: Move AC_LIBOBJ invocations to module description.
17883         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
17884         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
17885         here...
17886         (gl_FUNC_MEMMEM): ... and here...
17887         * modules/memmem-simple (configure.ac): ... to here.
17888         * modules/memmem (configure.ac): ... and here.
17889
17890 2011-05-21  Bruno Haible  <bruno@clisp.org>
17891
17892         memcpy: Move AC_LIBOBJ invocations to module description.
17893         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
17894         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
17895         here...
17896         * modules/memcpy (configure.ac): ... to here.
17897
17898 2011-05-21  Bruno Haible  <bruno@clisp.org>
17899
17900         memcmp: Simplify autoconf macro.
17901         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
17902         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
17903         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
17904
17905 2011-05-21  Bruno Haible  <bruno@clisp.org>
17906
17907         memcmp: Move AC_LIBOBJ invocations to module description.
17908         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
17909         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
17910         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
17911         * modules/memcmp (configure.ac): ... to here.
17912         (Depends-on): Update conditions.
17913
17914 2011-05-21  Bruno Haible  <bruno@clisp.org>
17915
17916         memchr: Respect rules for use of AC_LIBOBJ.
17917         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
17918         invocations from here...
17919         * modules/memchr (configure.ac): ... to here.
17920
17921 2011-05-21  Bruno Haible  <bruno@clisp.org>
17922
17923         mbtowc: Move AC_LIBOBJ invocations to module description.
17924         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
17925         invocations from here...
17926         * modules/mbtowc (configure.ac): ... to here.
17927
17928 2011-05-21  Bruno Haible  <bruno@clisp.org>
17929
17930         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
17931         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
17932         gl_PREREQ_MBSRTOWCS invocations from here...
17933         * modules/mbsrtowcs (configure.ac): ... to here.
17934
17935 2011-05-21  Bruno Haible  <bruno@clisp.org>
17936
17937         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
17938         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
17939         gl_PREREQ_MBSNRTOWCS invocations from here...
17940         * modules/mbsnrtowcs (configure.ac): ... to here.
17941
17942 2011-05-21  Bruno Haible  <bruno@clisp.org>
17943
17944         mbsinit: Move AC_LIBOBJ invocations to module description.
17945         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
17946         invocations from here...
17947         * modules/mbsinit (configure.ac): ... to here.
17948
17949 2011-05-21  Bruno Haible  <bruno@clisp.org>
17950
17951         mbrlen: Move AC_LIBOBJ invocations to module description.
17952         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
17953         invocations from here...
17954         * modules/mbrlen (configure.ac): ... to here.
17955
17956 2011-05-21  Bruno Haible  <bruno@clisp.org>
17957
17958         mbrtowc: Respect rules for use of AC_LIBOBJ.
17959         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
17960         invocations from here...
17961         * modules/mbrtowc (configure.ac): ... to here.
17962
17963 2011-05-21  Bruno Haible  <bruno@clisp.org>
17964
17965         malloc-*: Move AC_LIBOBJ invocations to module description.
17966         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
17967         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
17968         AC_LIBOBJ invocations from here...
17969         * modules/malloc-gnu (configure.ac): ... to here.
17970         * modules/malloc-posix (configure.ac): ... and here.
17971
17972 2011-05-21  Bruno Haible  <bruno@clisp.org>
17973
17974         lstat, openat: Respect rules for use of AC_LIBOBJ.
17975         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
17976         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
17977         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
17978         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
17979         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
17980         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
17981         here.
17982         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
17983
17984 2011-05-21  Bruno Haible  <bruno@clisp.org>
17985
17986         lseek: Move AC_LIBOBJ invocations to module description.
17987         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
17988         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17989         * modules/lseek (configure.ac): ... to here.
17990
17991 2011-05-21  Bruno Haible  <bruno@clisp.org>
17992
17993         linkat: Move AC_LIBOBJ invocations to module description.
17994         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
17995         here...
17996         * modules/linkat (configure.ac): ... to here.
17997
17998 2011-05-21  Bruno Haible  <bruno@clisp.org>
17999
18000         link: Respect rules for use of AC_LIBOBJ.
18001         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18002         * modules/link (configure.ac): ... to here.
18003
18004 2011-05-21  Bruno Haible  <bruno@clisp.org>
18005
18006         lchown: Move AC_LIBOBJ invocations to module description.
18007         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18008         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18009         * modules/lchown (configure.ac): ... to here.
18010
18011 2011-05-21  Bruno Haible  <bruno@clisp.org>
18012
18013         iswctype: Move AC_LIBOBJ invocations to module description.
18014         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18015         here...
18016         * modules/iswctype (configure.ac): ... to here.
18017
18018 2011-05-21  Bruno Haible  <bruno@clisp.org>
18019
18020         iswblank: Move AC_LIBOBJ invocations to module description.
18021         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18022         here...
18023         * modules/iswblank (configure.ac): ... to here.
18024
18025 2011-05-21  Bruno Haible  <bruno@clisp.org>
18026
18027         atanl: Move AC_LIBOBJ invocations to module description.
18028         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18029         * modules/atanl (configure.ac): ... to here.
18030
18031 2011-05-21  Bruno Haible  <bruno@clisp.org>
18032
18033         acosl: Move AC_LIBOBJ invocations to module description.
18034         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18035         * modules/acosl (configure.ac): ... to here.
18036
18037 2011-05-21  Bruno Haible  <bruno@clisp.org>
18038
18039         asinl: Respect rules for use of AC_LIBOBJ.
18040         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18041         * modules/asinl (configure.ac): ... to here.
18042
18043 2011-05-21  Bruno Haible  <bruno@clisp.org>
18044
18045         tanl: Move AC_LIBOBJ invocations to module description.
18046         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18047         * modules/tanl (configure.ac): ... to here.
18048
18049 2011-05-21  Bruno Haible  <bruno@clisp.org>
18050
18051         cosl: Move AC_LIBOBJ invocations to module description.
18052         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18053         * modules/cosl (configure.ac): ... to here.
18054
18055 2011-05-21  Bruno Haible  <bruno@clisp.org>
18056
18057         sinl: Move AC_LIBOBJ invocations to module description.
18058         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18059         * modules/sinl (configure.ac): ... to here.
18060
18061 2011-05-21  Bruno Haible  <bruno@clisp.org>
18062
18063         logl: Move AC_LIBOBJ invocations to module description.
18064         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18065         * modules/logl (configure.ac): ... to here.
18066
18067 2011-05-21  Bruno Haible  <bruno@clisp.org>
18068
18069         expl: Move AC_LIBOBJ invocations to module description.
18070         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18071         * modules/expl (configure.ac): ... to here.
18072
18073 2011-05-21  Bruno Haible  <bruno@clisp.org>
18074
18075         roundl: Move AC_LIBOBJ invocations to module description.
18076         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18077         * modules/roundl (configure.ac): ... to here.
18078
18079 2011-05-21  Bruno Haible  <bruno@clisp.org>
18080
18081         round: Move AC_LIBOBJ invocations to module description.
18082         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18083         * modules/round (configure.ac): ... to here.
18084
18085 2011-05-21  Bruno Haible  <bruno@clisp.org>
18086
18087         roundf: Move AC_LIBOBJ invocations to module description.
18088         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18089         * modules/roundf (configure.ac): ... to here.
18090
18091 2011-05-21  Bruno Haible  <bruno@clisp.org>
18092
18093         truncl: Move AC_LIBOBJ invocations to module description.
18094         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18095         * modules/truncl (configure.ac): ... to here.
18096
18097 2011-05-21  Bruno Haible  <bruno@clisp.org>
18098
18099         trunc: Move AC_LIBOBJ invocations to module description.
18100         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18101         * modules/trunc (configure.ac): ... to here.
18102
18103 2011-05-21  Bruno Haible  <bruno@clisp.org>
18104
18105         truncf: Move AC_LIBOBJ invocations to module description.
18106         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18107         * modules/truncf (configure.ac): ... to here.
18108
18109 2011-05-21  Bruno Haible  <bruno@clisp.org>
18110
18111         ceill: Move AC_LIBOBJ invocations to module description.
18112         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18113         * modules/ceill (configure.ac): ... to here.
18114
18115 2011-05-21  Bruno Haible  <bruno@clisp.org>
18116
18117         ceil: Move AC_LIBOBJ invocations to module description.
18118         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18119         * modules/ceil (configure.ac): ... to here.
18120
18121 2011-05-21  Bruno Haible  <bruno@clisp.org>
18122
18123         ceilf: Move AC_LIBOBJ invocations to module description.
18124         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18125         * modules/ceilf (configure.ac): ... to here.
18126
18127 2011-05-21  Bruno Haible  <bruno@clisp.org>
18128
18129         floorl: Respect rules for use of AC_LIBOBJ.
18130         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18131         * modules/floorl (configure.ac): ... to here.
18132
18133 2011-05-21  Bruno Haible  <bruno@clisp.org>
18134
18135         floor: Respect rules for use of AC_LIBOBJ.
18136         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18137         * modules/floor (configure.ac): ... to here.
18138
18139 2011-05-21  Bruno Haible  <bruno@clisp.org>
18140
18141         floorf: Move AC_LIBOBJ invocations to module description.
18142         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18143         * modules/floorf (configure.ac): ... to here.
18144
18145 2011-05-20  Bruno Haible  <bruno@clisp.org>
18146
18147         sqrtl: Respect rules for use of AC_LIBOBJ.
18148         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18149         * modules/sqrtl (configure.ac): ... to here.
18150
18151 2011-05-20  Bruno Haible  <bruno@clisp.org>
18152
18153         ldexpl: Respect rules for use of AC_LIBOBJ.
18154         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18155         * modules/ldexpl (configure.ac): ... to here.
18156
18157 2011-05-20  Bruno Haible  <bruno@clisp.org>
18158
18159         frexpl*: Respect rules for use of AC_LIBOBJ.
18160         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18161         invocation from here...
18162         * modules/frexpl (configure.ac): ... to here.
18163         * modules/frexpl-nolibm (configure.ac): ... and here.
18164
18165 2011-05-20  Bruno Haible  <bruno@clisp.org>
18166
18167         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18168         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18169         invocation from here...
18170         * modules/frexp (configure.ac): ... to here.
18171         * modules/frexp-nolibm (configure.ac): ... and here.
18172
18173 2011-05-20  Bruno Haible  <bruno@clisp.org>
18174
18175         isnan: Respect rules for use of AC_LIBOBJ.
18176         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18177         invocations here.
18178         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18179         REPLACE_ISNAN.
18180         * modules/isnand (configure.ac): Likewise.
18181         * modules/isnanl (configure.ac): Likewise.
18182
18183 2011-05-20  Bruno Haible  <bruno@clisp.org>
18184
18185         isnanl*: Respect rules for use of AC_LIBOBJ.
18186         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18187         invocation from here...
18188         * modules/isnanl (configure.ac): ... to here.
18189         * modules/isnanl-nolibm (configure.ac): ... and here.
18190
18191 2011-05-20  Bruno Haible  <bruno@clisp.org>
18192
18193         isnand*: Move AC_LIBOBJ invocations to module description.
18194         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18195         invocation from here...
18196         * modules/isnand (configure.ac): ... to here.
18197         * modules/isnand-nolibm (configure.ac): ... and here.
18198
18199 2011-05-20  Bruno Haible  <bruno@clisp.org>
18200
18201         isnanf*: Move AC_LIBOBJ invocations to module description.
18202         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18203         invocation from here...
18204         * modules/isnanf (configure.ac): ... to here.
18205         * modules/isnanf-nolibm (configure.ac): ... and here.
18206
18207 2011-05-20  Bruno Haible  <bruno@clisp.org>
18208
18209         isnan*: Separate the AC_LIBOBJ invocations.
18210         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18211         AC_LIBOBJ invocation.
18212         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18213         here.
18214         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18215         AC_LIBOBJ invocation.
18216         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18217         here.
18218         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18219         AC_LIBOBJ invocation.
18220         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18221         here.
18222         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18223
18224 2011-05-08  Bruno Haible  <bruno@clisp.org>
18225
18226         isinf: Move AC_LIBOBJ invocations to module description.
18227         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18228         * modules/isinf (configure.ac): ... to here.
18229
18230 2011-05-08  Bruno Haible  <bruno@clisp.org>
18231
18232         isfinite: Move AC_LIBOBJ invocations to module description.
18233         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18234         * modules/isfinite (configure.ac): ... to here.
18235
18236 2011-05-08  Bruno Haible  <bruno@clisp.org>
18237
18238         isblank: Move AC_LIBOBJ invocations to module description.
18239         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18240         here...
18241         * modules/isblank (configure.ac): ... to here.
18242
18243 2011-05-08  Bruno Haible  <bruno@clisp.org>
18244
18245         isapipe: Move AC_LIBOBJ invocations to module description.
18246         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18247         gl_PREREQ_ISAPIPE invocations from here...
18248         * modules/isapipe (configure.ac): ... to here.
18249         (Depends-on): Update condition.
18250
18251 2011-05-08  Bruno Haible  <bruno@clisp.org>
18252
18253         ioctl: Move AC_LIBOBJ invocations to module description.
18254         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18255         invocations from here...
18256         * modules/ioctl (configure.ac): ... to here.
18257         (Depends-on): Update condition.
18258
18259 2011-05-08  Bruno Haible  <bruno@clisp.org>
18260
18261         imaxdiv: Move AC_LIBOBJ invocations to module description.
18262         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18263         invocations from here...
18264         * modules/imaxdiv (configure.ac): ... to here.
18265
18266 2011-05-08  Bruno Haible  <bruno@clisp.org>
18267
18268         imaxabs: Move AC_LIBOBJ invocations to module description.
18269         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18270         invocations from here...
18271         * modules/imaxabs (configure.ac): ... to here.
18272
18273 2011-05-08  Bruno Haible  <bruno@clisp.org>
18274
18275         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18276         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18277         AC_LIBOBJ invocations from here...
18278         * modules/getaddrinfo (configure.ac): ... to here.
18279         (Depends-on): Add conditions.
18280
18281 2011-05-08  Bruno Haible  <bruno@clisp.org>
18282
18283         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18284         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18285         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18286         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18287         (gl_PREREQ_INET_PTON): ... from here.
18288         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18289         gl_PREREQ_INET_PTON here.
18290         (Depends-on): Update condition.
18291
18292 2011-05-08  Bruno Haible  <bruno@clisp.org>
18293
18294         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18295         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18296         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18297         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18298         (gl_PREREQ_INET_NTOP): ... from here.
18299         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18300         gl_PREREQ_INET_NTOP here.
18301         (Depends-on): Update condition.
18302
18303 2011-05-08  Bruno Haible  <bruno@clisp.org>
18304
18305         iconv_open: Move AC_LIBOBJ invocations to module description.
18306         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18307         AC_LIBOBJ invocations from here...
18308         * modules/iconv_open (configure.ac): ... to here.
18309
18310 2011-05-08  Bruno Haible  <bruno@clisp.org>
18311
18312         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18313         If module 'iconv_open' is among the main modules and module
18314         'iconv_open-utf' is among the tests dependencies, then
18315         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18316         return the special iconv_t values. Therefore iconv() and iconv_close()
18317         must support these special iconv_t values, already in lib, not only in
18318         tests.
18319         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18320         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18321         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18322         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18323         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18324         (Depends-on): Add the dependencies of iconv_open-utf.
18325         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18326         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18327         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18328
18329 2011-05-08  Bruno Haible  <bruno@clisp.org>
18330
18331         group-member: Move AC_LIBOBJ invocations to module description.
18332         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18333         gl_PREREQ_GROUP_MEMBER invocations from here...
18334         * modules/group-member (configure.ac): ... to here.
18335
18336 2011-05-08  Bruno Haible  <bruno@clisp.org>
18337
18338         grantpt: Move AC_LIBOBJ invocations to module description.
18339         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18340         invocations from here...
18341         * modules/grantpt (configure.ac): ... to here.
18342
18343 2011-05-08  Bruno Haible  <bruno@clisp.org>
18344
18345         glob: Move AC_LIBOBJ invocations to module description.
18346         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18347         from here...
18348         * modules/glob (configure.ac): ... to here.
18349
18350 2011-05-08  Bruno Haible  <bruno@clisp.org>
18351
18352         getusershell: Move AC_LIBOBJ invocations to module description.
18353         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18354         Move AC_LIBOBJ invocation from here...
18355         * modules/getusershell (configure.ac): ... to here.
18356         (Depends-on): Update condition.
18357
18358 2011-05-08  Bruno Haible  <bruno@clisp.org>
18359
18360         gettimeofday: Move AC_LIBOBJ invocations to module description.
18361         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18362         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18363         gl_PREREQ_GETTIMEOFDAY invocations from here...
18364         * modules/gettimeofday (configure.ac): ... to here.
18365
18366 2011-05-08  Bruno Haible  <bruno@clisp.org>
18367
18368         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18369         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18370         just gl_FUNC_TZSET.
18371         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18372         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18373         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18374         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18375
18376 2011-05-08  Bruno Haible  <bruno@clisp.org>
18377
18378         getsubopt: Move AC_LIBOBJ invocations to module description.
18379         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18380         gl_PREREQ_GETSUBOPT invocations from here...
18381         * modules/getsubopt (configure.ac): ... to here.
18382
18383 2011-05-08  Bruno Haible  <bruno@clisp.org>
18384
18385         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18386         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18387         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18388         * modules/getpass-gnu (configure.ac): ... to here.
18389
18390 2011-05-08  Bruno Haible  <bruno@clisp.org>
18391
18392         getpass: Move AC_LIBOBJ invocations to module description.
18393         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18394         gl_PREREQ_GETPASS invocations from here...
18395         * modules/getpass (configure.ac): ... to here.
18396
18397 2011-05-08  Bruno Haible  <bruno@clisp.org>
18398
18399         getpagesize: Move AC_LIBOBJ invocations to module description.
18400         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18401         from here...
18402         * modules/getpagesize (configure.ac): ... to here.
18403
18404 2011-05-08  Bruno Haible  <bruno@clisp.org>
18405
18406         getopt: Move AC_LIBOBJ invocations to module description.
18407         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18408         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18409         invocations from here...
18410         * modules/getopt-gnu (configure.ac): ... to here.
18411         * modules/getopt-posix (configure.ac): ... and here.
18412         (Depends-on): Update condition.
18413
18414 2011-05-08  Bruno Haible  <bruno@clisp.org>
18415
18416         getopt, argp: Respect rules for use of AC_LIBOBJ.
18417         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18418         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18419         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18420         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18421
18422 2011-05-08  Bruno Haible  <bruno@clisp.org>
18423
18424         getlogin_r: Move AC_LIBOBJ invocations to module description.
18425         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18426         gl_PREREQ_GETLOGIN_R invocations from here...
18427         * modules/getlogin_r (configure.ac): ... to here.
18428
18429 2011-05-08  Bruno Haible  <bruno@clisp.org>
18430
18431         getlogin: Move AC_LIBOBJ invocations to module description.
18432         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18433         here...
18434         * modules/getlogin (configure.ac): ... to here.
18435
18436 2011-05-08  Bruno Haible  <bruno@clisp.org>
18437
18438         getloadavg: Move AC_LIBOBJ invocations to module description.
18439         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18440         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18441         * modules/getloadavg (configure.ac): ... to here.
18442
18443 2011-05-08  Bruno Haible  <bruno@clisp.org>
18444
18445         gethrxtime: Move AC_LIBOBJ invocations to module description.
18446         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18447         LIB_GETHRXTIME from here...
18448         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18449         invocations from here...
18450         * modules/gethrxtime (configure.ac): ... to here.
18451
18452 2011-05-08  Bruno Haible  <bruno@clisp.org>
18453
18454         gethostname: Move AC_LIBOBJ invocations to module description.
18455         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18456         gl_PREREQ_GETHOSTNAME invocations from here...
18457         * modules/gethostname (configure.ac): ... to here.
18458
18459 2011-05-08  Bruno Haible  <bruno@clisp.org>
18460
18461         getgroups: Move AC_LIBOBJ invocations to module description.
18462         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18463         here...
18464         * modules/getgroups (configure.ac): ... to here.
18465
18466 2011-05-08  Bruno Haible  <bruno@clisp.org>
18467
18468         getdtablesize: Move AC_LIBOBJ invocations to module description.
18469         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18470         invocation from here...
18471         * modules/getdtablesize (configure.ac): ... to here.
18472
18473 2011-05-08  Bruno Haible  <bruno@clisp.org>
18474
18475         getdomainname: Move AC_LIBOBJ invocations to module description.
18476         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18477         gl_PREREQ_GETDOMAINNAME invocations from here...
18478         * modules/getdomainname (configure.ac): ... to here.
18479
18480 2011-05-08  Bruno Haible  <bruno@clisp.org>
18481
18482         getline: Move AC_LIBOBJ invocations to module description.
18483         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18484         invocations from here...
18485         * modules/getline (configure.ac): ... to here.
18486
18487 2011-05-08  Bruno Haible  <bruno@clisp.org>
18488
18489         getline: Simplify.
18490         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18491         It's already handled through the module dependency.
18492
18493 2011-05-08  Bruno Haible  <bruno@clisp.org>
18494
18495         getdelim: Move AC_LIBOBJ invocations to module description.
18496         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18497         and gl_PREREQ_GETDELIM invocations from here...
18498         * modules/getdelim (configure.ac): ... to here.
18499         (Depends-on): Fix condition.
18500
18501 2011-05-08  Bruno Haible  <bruno@clisp.org>
18502
18503         getcwd: Move AC_LIBOBJ invocations to module description.
18504         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18505         invocations from here...
18506         * modules/getcwd (configure.ac): ... to here.
18507
18508 2011-05-08  Bruno Haible  <bruno@clisp.org>
18509
18510         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18511         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18512         here...
18513         * modules/getcwd-lgpl (configure.ac): ... to here.
18514
18515 2011-05-07  Bruno Haible  <bruno@clisp.org>
18516
18517         crypto/gc: Move AC_LIBOBJ invocations to module description.
18518         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18519         * modules/crypto/gc (configure.ac): ... to here.
18520
18521 2011-05-07  Bruno Haible  <bruno@clisp.org>
18522
18523         fwriting: Move AC_LIBOBJ invocations to module description.
18524         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18525         here...
18526         * modules/fwriting (configure.ac): ... to here.
18527
18528 2011-05-07  Bruno Haible  <bruno@clisp.org>
18529
18530         fwritable: Move AC_LIBOBJ invocations to module description.
18531         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18532         here...
18533         * modules/fwritable (configure.ac): ... to here.
18534
18535 2011-05-07  Bruno Haible  <bruno@clisp.org>
18536
18537         futimens: Move AC_LIBOBJ invocations to module description.
18538         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18539         here...
18540         * modules/futimens (configure.ac): ... to here.
18541
18542 2011-05-07  Bruno Haible  <bruno@clisp.org>
18543
18544         ftruncate: Move AC_LIBOBJ invocations to module description.
18545         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18546         gl_PREREQ_FTRUNCATE invocations from here...
18547         * modules/ftruncate (configure.ac): ... to here.
18548
18549 2011-05-07  Bruno Haible  <bruno@clisp.org>
18550
18551         fsync: Move AC_LIBOBJ invocations to module description.
18552         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18553         invocations from here...
18554         * modules/fsync (configure.ac): ... to here.
18555
18556 2011-05-07  Bruno Haible  <bruno@clisp.org>
18557
18558         fsusage: Move AC_LIBOBJ invocations to module description.
18559         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18560         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18561         * modules/fsusage (configure.ac): ... to here.
18562
18563 2011-05-07  Bruno Haible  <bruno@clisp.org>
18564
18565         freopen: Move AC_LIBOBJ invocations to module description.
18566         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18567         invocations from here...
18568         * modules/freopen (configure.ac): ... to here.
18569
18570 2011-05-07  Bruno Haible  <bruno@clisp.org>
18571
18572         free: Move AC_LIBOBJ invocations to module description.
18573         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18574         invocations from here...
18575         * modules/free (configure.ac): ... to here.
18576
18577 2011-05-07  Bruno Haible  <bruno@clisp.org>
18578
18579         freadable: Move AC_LIBOBJ invocations to module description.
18580         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18581         here...
18582         * modules/freadable (configure.ac): ... to here.
18583
18584 2011-05-07  Bruno Haible  <bruno@clisp.org>
18585
18586         fpurge: Move AC_LIBOBJ invocations to module description.
18587         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18588         invocations from here...
18589         * modules/fpurge (configure.ac): ... to here.
18590
18591 2011-05-07  Bruno Haible  <bruno@clisp.org>
18592
18593         fpending: Move AC_LIBOBJ invocations to module description.
18594         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18595         gl_FUNC_FPENDING.
18596         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18597         invocations from here...
18598         * modules/fpending (configure.ac): ... to here.
18599
18600 2011-05-07  Bruno Haible  <bruno@clisp.org>
18601
18602         fopen: Move AC_LIBOBJ invocations to module description.
18603         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18604         invocations from here...
18605         * modules/fopen (configure.ac): ... to here.
18606
18607 2011-05-07  Bruno Haible  <bruno@clisp.org>
18608
18609         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18610         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18611         gl_FUNC_FNMATCH_POSIX.
18612         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18613         invocations from here...
18614         * modules/fnmatch (configure.ac): ... to here.
18615         * modules/fnmatch-gnu (configure.ac): ... and here.
18616
18617 2011-05-07  Bruno Haible  <bruno@clisp.org>
18618
18619         flock: Move AC_LIBOBJ invocations to module description.
18620         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18621         invocations from here...
18622         * modules/flock (configure.ac): ... to here.
18623
18624 2011-05-07  Bruno Haible  <bruno@clisp.org>
18625
18626         fileblocks: Move AC_LIBOBJ invocations to module description.
18627         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18628         gl_PREREQ_FILEBLOCKS invocations from here...
18629         * modules/fileblocks (configure.ac): ... to here.
18630
18631 2011-05-06  Bruno Haible  <bruno@clisp.org>
18632
18633         fflush: Move AC_LIBOBJ invocations to module description.
18634         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18635         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18636         invocations from here...
18637         * modules/fflush (configure.ac): ... to here.
18638
18639 2011-05-06  Bruno Haible  <bruno@clisp.org>
18640
18641         fdopendir: Move AC_LIBOBJ invocations to module description.
18642         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18643         here...
18644         * modules/fdopendir (configure.ac): ... to here.
18645         (Depends-on): Improve conditions.
18646
18647 2011-05-06  Bruno Haible  <bruno@clisp.org>
18648
18649         _Exit: Move AC_LIBOBJ invocations to module description.
18650         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18651         invocations from here...
18652         * modules/_Exit (configure.ac): ... to here.
18653
18654 2011-05-21  Bruno Haible  <bruno@clisp.org>
18655
18656         euidaccess: Respect rules for use of AC_LIBOBJ.
18657         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18658         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18659         from here...
18660         * modules/euidaccess (configure.ac): ... to here.
18661
18662 2011-05-06  Bruno Haible  <bruno@clisp.org>
18663
18664         error: Move AC_LIBOBJ invocations to module description.
18665         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18666         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18667         invocations from here...
18668         * modules/error (configure.ac): ... to here.
18669
18670 2011-05-06  Bruno Haible  <bruno@clisp.org>
18671
18672         duplocale: Move AC_LIBOBJ invocations to module description.
18673         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18674         gl_PREREQ_DUPLOCALE invocations from here...
18675         * modules/duplocale (configure.ac): ... to here.
18676
18677 2011-05-05  Bruno Haible  <bruno@clisp.org>
18678
18679         dirfd: Move AC_LIBOBJ invocations to module description.
18680         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18681         gl_FUNC_DIRFD.
18682         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18683         here...
18684         * modules/dirfd (configure.ac): ... to here.
18685         (Depends-on): Fix condition.
18686
18687 2011-05-05  Bruno Haible  <bruno@clisp.org>
18688
18689         chown: Respect rules for use of AC_LIBOBJ.
18690         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18691         * modules/chown (configure.ac): ... to here.
18692
18693 2011-05-05  Bruno Haible  <bruno@clisp.org>
18694
18695         chdir-long: Move AC_LIBOBJ invocations to module description.
18696         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18697         gl_PREREQ_CHDIR_LONG invocations from here...
18698         * modules/chdir-long (configure.ac): ... to here.
18699
18700 2011-05-05  Bruno Haible  <bruno@clisp.org>
18701
18702         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18703         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18704         from here...
18705         * modules/canonicalize-lgpl (configure.ac): ... to here.
18706
18707 2011-05-05  Bruno Haible  <bruno@clisp.org>
18708
18709         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
18710         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
18711         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
18712         REPLACE_CALLOC.
18713         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
18714         * modules/calloc-gnu (configure.ac): Likewise.
18715
18716 2011-05-05  Bruno Haible  <bruno@clisp.org>
18717
18718         btowc: Move AC_LIBOBJ invocations to module description.
18719         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
18720         invocations from here...
18721         * modules/btowc (configure.ac): ... to here.
18722
18723 2011-05-21  Bruno Haible  <bruno@clisp.org>
18724
18725         atexit: Move AC_LIBOBJ invocations to module description.
18726         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
18727         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
18728         here...
18729         * modules/atexit (configure.ac): ... to here.
18730
18731 2011-05-05  Bruno Haible  <bruno@clisp.org>
18732
18733         atoll: Move AC_LIBOBJ invocations to module description.
18734         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
18735         invocations from here...
18736         * modules/atoll (configure.ac): ... to here.
18737
18738 2011-05-05  Bruno Haible  <bruno@clisp.org>
18739
18740         argz: Move AC_LIBOBJ invocations to module description.
18741         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
18742         * modules/argz (configure.ac): ... to here.
18743
18744 2011-05-05  Bruno Haible  <bruno@clisp.org>
18745
18746         alphasort: Move AC_LIBOBJ invocations to module description.
18747         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
18748         gl_PREREQ_ALPHASORT invocations from here...
18749         * modules/alphasort (configure.ac): ... to here.
18750
18751 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18752
18753         verify: new macro verify_expr; verify_true deprecated
18754         * NEWS: Mention this.
18755         * doc/verify.texi (Compile-time Assertions): Document this.
18756         * lib/verify.h (verify_true): Deprecate.
18757         (verify_expr): New macro.
18758         * tests/test-verify.c (function): Test verify_expr.
18759
18760 2011-06-14  Jim Meyering  <meyering@redhat.com>
18761
18762         init.sh: give more portable redirection-related advice in a comment
18763         * tests/init.sh (stderr_fileno_): Update the advice in comments.
18764         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
18765         for lots of discussion.  Stefano Lattarini suggested the solution
18766         of putting "9>&2" after the command.  Reported by Bruno Haible.
18767
18768 2011-06-13  Bruno Haible  <bruno@clisp.org>
18769
18770         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
18771         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
18772         'none'.
18773
18774 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18775
18776         ftoastr: use strtof only if HAVE_STRTOF
18777         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
18778         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
18779         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
18780         * modules/ftoastr (configure.ac): Check for strtof.
18781
18782 2011-06-13  Bruno Haible  <bruno@clisp.org>
18783
18784         gnulib-tool: Addendum to 2011-06-08 commit.
18785         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
18786         and --witness-c-macro have been given, augment AM_CPPFLAGS.
18787
18788 2011-06-13  Bruno Haible  <bruno@clisp.org>
18789
18790         fseeko: Provide a non-inline replacement of fseek().
18791         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
18792         * modules/fseeko (Depends-on): Add fseek.
18793         * modules/fseek (License): Change to LGPLv2+.
18794
18795 2011-06-13  Bruno Haible  <bruno@clisp.org>
18796
18797         ftello: Provide a non-inline replacement of ftell().
18798         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
18799         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
18800         not have ftello() (such as on mingw).
18801         * modules/ftello (Depends-on): Add ftell.
18802         * modules/ftell (License): Change to LGPLv2+.
18803
18804 2011-05-07  Bruno Haible  <bruno@clisp.org>
18805
18806         ftell: Move AC_LIBOBJ invocations to module description.
18807         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
18808         * modules/ftell (configure.ac): ... to here.
18809
18810 2011-05-07  Bruno Haible  <bruno@clisp.org>
18811
18812         ftello: Respect rules for use of AC_LIBOBJ.
18813         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
18814         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
18815         here...
18816         * modules/ftello (configure.ac): ... to here.
18817
18818 2011-05-07  Bruno Haible  <bruno@clisp.org>
18819
18820         fseeko: Simplify.
18821         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
18822         (gl_FUNC_FSEEKO): Inline it here.
18823
18824 2011-05-07  Bruno Haible  <bruno@clisp.org>
18825
18826         fseek: Move AC_LIBOBJ invocations to module description.
18827         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
18828         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18829         * modules/fseek (configure.ac): ... to here.
18830
18831 2011-05-07  Bruno Haible  <bruno@clisp.org>
18832
18833         fseek: Respect rules for use of AC_LIBOBJ.
18834         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
18835         here...
18836         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
18837
18838 2011-05-07  Bruno Haible  <bruno@clisp.org>
18839
18840         fseeko: Respect rules for use of AC_LIBOBJ.
18841         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
18842         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
18843         here...
18844         * modules/fseeko (configure.ac): ... to here.
18845
18846 2011-06-13  Bruno Haible  <bruno@clisp.org>
18847
18848         gnulib-tool: Allow comments in the 'Depends-on' section.
18849         * doc/gnulib.texi (Module description): Mention comment syntax in the
18850         Depends-on section.
18851         * gnulib-tool (func_get_dependencies): Filter out comment lines.
18852
18853 2011-06-13  Bruno Haible  <bruno@clisp.org>
18854
18855         file-set.h: guard __attibute__ use, now that it's not always defined
18856         * lib/file-set.h (record_file): Use __attribute__ only with compiler
18857         versions that support it.  This fixes a coreutils build failure with
18858         the vendor cc on HP-UX 11.31.
18859
18860 2011-06-12  Bruno Haible  <bruno@clisp.org>
18861
18862         acl: Add support for HP-UX >= 11.11 JFS ACLs.
18863         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
18864         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
18865         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
18866         (acl, aclsort): New declarations.
18867         (aclv_nontrivial): New declaration.
18868         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
18869         (file_has_acl): Read also the second kind of HP-UX ACLs.
18870         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
18871         kind of HP-UX ACLs if the first kind fails.
18872         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
18873         second kind of HP-UX ACLs.
18874         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18875         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18876         agree.
18877         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18878         hpuxjfs.
18879         Handle hpuxjfs.
18880         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18881         hpuxjfs.
18882         Handle hpuxjfs.
18883         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18884         (func_test_same_acls): Use both lsacl and getacl.
18885         Handle hpuxjfs.
18886         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18887         (func_test_same_acls): Use both lsacl and getacl.
18888         Handle hpuxjfs.
18889
18890 2011-06-12  Bruno Haible  <bruno@clisp.org>
18891
18892         acl: Complete the 2010-08-10 fix.
18893         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
18894         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
18895         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
18896         explicitly.
18897         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
18898         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
18899
18900 2011-06-12  Bruno Haible  <bruno@clisp.org>
18901
18902         spawn-pipe tests: Comments.
18903         * tests/test-spawn-pipe-child.c (main): Update comment.
18904         Reported by James Youngman <jay@gnu.org>.
18905
18906 2011-06-11  James Youngman  <jay@gnu.org>
18907
18908         New module 'stat-size'.
18909         * modules/stat-size: New module.  Provides macros for accessing
18910         file size information in instances of struct stat.  Depends on the
18911         fileblocks module because it calls st_blocks.
18912         * lib/stat-size.h: New file, adapted from coreutils' system.h.
18913         * doc/gnulib.texi: Include stat-size.texi.
18914         * doc/stat-size.texi: Documentation for this module.
18915         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
18916         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18917         AC_STRUCT_ST_BLOCKS.
18918
18919 2011-06-09  Bruno Haible  <bruno@clisp.org>
18920
18921         thread: Support pthreads-win32.
18922         * lib/glthread/thread.h (gl_thread_self): Define differently on
18923         pthreads-win32.
18924         (gl_null_thread): New declaration.
18925         (gl_thread_self_pointer): New macro.
18926         * lib/glthread/thread.c (gl_null_thread): New constant.
18927         * tests/test-lock.c: Use gl_thread_self_pointer instead of
18928         gl_thread_self.
18929         * tests/test-tls.c: Likewise.
18930         Suggested by Paul Eggert. Reported by Eric Blake.
18931
18932 2011-06-09  Bruno Haible  <bruno@clisp.org>
18933
18934         thread: Fix confusion between NULL and 0.
18935         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
18936         Reported by Paul Eggert.
18937
18938 2011-06-09  Bruno Haible  <bruno@clisp.org>
18939
18940         spawn-pipe tests: Avoid test failure on HP-UX 11.
18941         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
18942         is closed.
18943
18944 2011-06-09  Bruno Haible  <bruno@clisp.org>
18945
18946         acl tests: Fix compilation error on HP-UX 11.
18947         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
18948
18949 2011-06-09  Bruno Haible  <bruno@clisp.org>
18950
18951         rmdir: Avoid test failure on HP-UX 10.20.
18952         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
18953         EEXIST.
18954
18955 2011-06-08  Eric Blake  <eblake@redhat.com>
18956
18957         perror: fix test on mingw
18958         * modules/perror-tests (Depends-on): Add dup2.
18959
18960         strerror_r-posix: fix on MacOS
18961         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
18962         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
18963         logic bug.
18964         * lib/strerror_r.c (strerror_r): Fix the bug.
18965         * lib/strerror.c (strerror): Likewise.
18966         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18967         problem.
18968         * doc/posix-functions/strerror.texi (strerror): Likewise.
18969         * doc/posix-functions/perror.texi (perror): Likewise.
18970         * tests/test-strerror.c (main): Enhance test.
18971         * tests/test-strerror_r.c (main): Likewise.
18972
18973 2011-06-08  Bruno Haible  <bruno@clisp.org>
18974
18975         gnulib-tool: Better isolation between different gnulib-tool invocations.
18976         * gnulib-tool: New option --witness-c-macro.
18977         (witness_c_macro): New variable.
18978         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
18979         AM_CPPFLAGS define it as a C macro.
18980         (func_emit_tests_Makefile_am): Likewise.
18981         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
18982         read it from there.
18983         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
18984         m4_define, not AC_DEFUN.
18985         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
18986         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
18987         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
18988         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
18989         s|...|...|, to substitute the values of the GNULIB_* module indicator
18990         variables.
18991         * modules/dirent (Makefile.am): Likewise.
18992         * modules/fcntl-h (Makefile.am): Likewise.
18993         * modules/iconv-h (Makefile.am): Likewise.
18994         * modules/langinfo (Makefile.am): Likewise.
18995         * modules/locale (Makefile.am): Likewise.
18996         * modules/math (Makefile.am): Likewise.
18997         * modules/netdb (Makefile.am): Likewise.
18998         * modules/poll-h (Makefile.am): Likewise.
18999         * modules/pty (Makefile.am): Likewise.
19000         * modules/search (Makefile.am): Likewise.
19001         * modules/signal (Makefile.am): Likewise.
19002         * modules/spawn (Makefile.am): Likewise.
19003         * modules/stdio (Makefile.am): Likewise.
19004         * modules/stdlib (Makefile.am): Likewise.
19005         * modules/string (Makefile.am): Likewise.
19006         * modules/sys_ioctl (Makefile.am): Likewise.
19007         * modules/sys_select (Makefile.am): Likewise.
19008         * modules/sys_socket (Makefile.am): Likewise.
19009         * modules/sys_stat (Makefile.am): Likewise.
19010         * modules/sys_times (Makefile.am): Likewise.
19011         * modules/sys_utsname (Makefile.am): Likewise.
19012         * modules/sys_wait (Makefile.am): Likewise.
19013         * modules/termios (Makefile.am): Likewise.
19014         * modules/time (Makefile.am): Likewise.
19015         * modules/unistd (Makefile.am): Likewise.
19016         * modules/wchar (Makefile.am): Likewise.
19017
19018 2011-06-08  Eric Blake  <eblake@redhat.com>
19019
19020         strerror: simplify replacement
19021         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19022         * modules/strerror (configure.ac): No prereqs needed here...
19023         * modules/strerror-override (configure.ac): ...but this needs it.
19024         (Files): Add file for needed prereq macro.
19025
19026 2011-06-08  Bruno Haible  <bruno@clisp.org>
19027
19028         strerror_r-posix: Tweaks.
19029         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19030         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19031         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19032         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19033         (gl_FUNC_STRERROR_R): ... to here.
19034         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19035
19036 2011-06-07  Eric Blake  <eblake@redhat.com>
19037
19038         perror: document fixed bugs
19039         * doc/posix-functions/perror.texi (perror): Document recent
19040         patches.
19041
19042 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19043
19044         stat-time: get_stat_birthtime failure is better-defined
19045         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19046         return a timestamp whose tv_sec and tv_nsec values are both -1.
19047         Previously, the spec said only that the tv_nsec value was negative.
19048         This upward-compatible change simplifies GNU tar a bit.
19049
19050 2011-06-07  Eric Blake  <eblake@redhat.com>
19051
19052         strerror_r-posix: work around cygwin 1.7.9
19053         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19054         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19055         bug without replacing strerror_r.
19056         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19057         strerror_r is buggy, but without requiring strerror_r compilation.
19058         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19059
19060         test-perror: relax test to ignore cygwin bug
19061         * tests/test-perror2.c (main): Relax test on requiring detection
19062         of stream errors, and use unbuffered stream.
19063         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19064         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19065         * doc/posix-functions/fputc.texi (fputc): Likewise.
19066         * doc/posix-functions/fputs.texi (fputs): Likewise.
19067         * doc/posix-functions/fputws.texi (fputws): Likewise.
19068         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19069         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19070         * doc/posix-functions/getopt.texi (getopt): Likewise.
19071         * doc/posix-functions/perror.texi (perror): Likewise.
19072         * doc/posix-functions/printf.texi (printf): Likewise.
19073         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19074         * doc/posix-functions/psignal.texi (psignal): Likewise.
19075         * doc/posix-functions/putc.texi (putc): Likewise.
19076         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19077         Likewise.
19078         * doc/posix-functions/putchar.texi (putchar): Likewise.
19079         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19080         Likewise.
19081         * doc/posix-functions/puts.texi (puts): Likewise.
19082         * doc/posix-functions/putwc.texi (putwc): Likewise.
19083         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19084         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19085         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19086         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19087         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19088         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19089         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19090         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19091
19092 2011-05-22  Bruno Haible  <bruno@clisp.org>
19093
19094         strerror: Move AC_LIBOBJ invocations to module description.
19095         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19096         gl_PREREQ_STRERROR invocations from here...
19097         * modules/strerror (configure.ac): ... to here.
19098
19099 2011-05-21  Bruno Haible  <bruno@clisp.org>
19100
19101         perror: Use common idiom.
19102         * modules/perror (configure.ac): Reorder statements.
19103
19104 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19105
19106         tests: fix usage message in 'mktempd_'
19107         * tests/init.sh (mktempd_): In the usage message, use literal
19108         'mktempd_', not '$ME' (which is even undefined), as the name of
19109         the subroutine.
19110
19111 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19112
19113         tests init: new function 'fatal_', for hard errors
19114         Before this patch, the only way offered by tests/init.sh to
19115         properly signal a hard error was the `framework_failure_'
19116         function.  But the error message issued by that function,
19117         as its name would suggest, refers to a set-up failure in the
19118         testsuite, while hard errors can obviously also be due to
19119         other reasons.  The best way to fix this inconsistency is to
19120         introduce a new function with a more general error message.
19121         * tests/init.sh (fatal_): New function.
19122
19123 2011-06-06  Eric Blake  <eblake@redhat.com>
19124
19125         canonicalize-lgpl: use common idiom
19126         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19127         over newer POSIX -Rf.
19128         Reported by Bruno Haible.
19129
19130         canonicalize-lgpl: work around AIX realpath bug
19131         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19132         * doc/posix-functions/realpath.texi (realpath): Document it.
19133         Reported by Bruno Haible.
19134
19135         strerror: work around FreeBSD bug
19136         * lib/strerror.c (strerror): Special case 0.
19137         Reported by Bruno Haible.
19138
19139         strerror-override: avoid bloating errno module
19140         * modules/errno (Files, configure.ac): Move replacement strings...
19141         * modules/strerror-override: ...to new module.
19142         * modules/strerror (Depends-on): Add strerror-override.
19143         * modules/strerror_r-posix (Depends-on): Likewise.
19144         * MODULES.html.sh: Document new module.
19145         Reported by Bruno Haible.
19146
19147 2011-06-06  Bruno Haible  <bruno@clisp.org>
19148
19149         spawn-pipe tests: Rename program.
19150         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19151         * tests/test-spawn-pipe-child.c: Update comment.
19152         * tests/test-spawn-pipe.sh: Update.
19153         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19154
19155         spawn-pipe tests: Link the child program only against libc.
19156         * tests/test-spawn-pipe-child.c: New file, extracted from
19157         tests/test-spawn-pipe.c.
19158         (main): Expect only one argument.
19159         (is_open): New function, copied from tests/test-pipe.c.
19160         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19161         (child_main): Remove function.
19162         (test_pipe): Pass only one argument to the child program.
19163         (main): Remove child process code. Expect the child program's name as
19164         first argument.
19165         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19166         argument.
19167         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19168         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19169         test-spawn-pipe-child against no libraries.
19170
19171 2011-06-06  Bruno Haible  <bruno@clisp.org>
19172
19173         careadlinkat: Avoid mismatch between ssize_t and int.
19174         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19175         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19176
19177 2011-06-06  Jim Meyering  <meyering@redhat.com>
19178
19179         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19180         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19181         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19182
19183 2011-06-05  Bruno Haible  <bruno@clisp.org>
19184
19185         ansi-c++-opt: Interoperability with libtool.
19186         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19187         set the variable to "no", not to ":".
19188         * NEWS: Mention the change.
19189
19190 2011-06-05  Bruno Haible  <bruno@clisp.org>
19191
19192         acl: Fix test failure on AIX 7.
19193         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19194         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19195
19196 2011-06-05  Bruno Haible  <bruno@clisp.org>
19197
19198         pipe-filter-ii: Fix test failure on AIX and IRIX.
19199         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19200         with EAGAIN, retry with a smaller buffer size.
19201
19202 2011-06-05  Bruno Haible  <bruno@clisp.org>
19203
19204         localename: Fix link dependencies.
19205         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19206         * modules/localename-tests (Makefile.am): Link test-localename with
19207         $(LIBTHREAD).
19208
19209 2011-06-05  Bruno Haible  <bruno@clisp.org>
19210
19211         error: Avoid gcc warning.
19212         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19213
19214 2011-06-05  Bruno Haible  <bruno@clisp.org>
19215
19216         unsetenv: Avoid gcc warning.
19217         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19218
19219 2011-06-05  Bruno Haible  <bruno@clisp.org>
19220
19221         setenv: Avoid gcc warning.
19222         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19223
19224 2011-06-05  Bruno Haible  <bruno@clisp.org>
19225
19226         sys_select: Ensure memset is declared also on AIX 7.
19227         * lib/sys_select.in.h: Include <string.h> also on AIX.
19228         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19229         self-contained also on AIX 7.1.
19230
19231 2011-06-04  Jim Meyering  <meyering@redhat.com>
19232
19233         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19234         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19235         function name, "error".
19236         (_gl_translatable_diag_func_re): New configurable variable.
19237
19238 2011-06-04  Bruno Haible  <bruno@clisp.org>
19239
19240         getopt: Avoid gcc warning.
19241         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19242
19243 2011-06-04  Bruno Haible  <bruno@clisp.org>
19244
19245         strerror_r: Fix comments.
19246         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19247         commit.
19248
19249 2011-06-04  Bruno Haible  <bruno@clisp.org>
19250
19251         perror: Fix compilation error.
19252         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19253         Undefine fprintf, not sprintf.
19254         * modules/perror (Depends-on): Remove intprops, verify.
19255
19256 2011-06-04  Bruno Haible  <bruno@clisp.org>
19257
19258         setlocale: Enable replacement on Cygwin 1.5.
19259         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19260         Cygwin 1.5.x.
19261         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19262         LC_CTYPE category also exists on Cygwin 1.5.x.
19263
19264 2011-06-04  Bruno Haible  <bruno@clisp.org>
19265
19266         strerror-override: Don't disable symbol renamings.
19267         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19268         * lib/strerror-override.c: Include config.h.
19269         (strerror_override): Don't undefine.
19270
19271 2011-06-03  Bruno Haible  <bruno@clisp.org>
19272
19273         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19274         * lib/localename.h: Update copyright header.
19275         * lib/localename.c: Likewise.
19276         * lib/relocatable.h: Likewise.
19277         * lib/relocatable.c: Likewise.
19278
19279 2011-06-02  Bruno Haible  <bruno@clisp.org>
19280
19281         doc: Fix a module name.
19282         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19283
19284 2011-06-02  Bruno Haible  <bruno@clisp.org>
19285
19286         pipe2: Remove dependency on 'nonblocking' module.
19287         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19288         O_NONBLOCK is defined by gnulib.
19289         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19290         is zero.
19291         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19292         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19293         defined by gnulib.
19294         (get_nonblocking_flag): New function.
19295         (main): Test O_NONBLOCK flag only if it is nonzero.
19296         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19297
19298 2011-06-03  Jim Meyering  <meyering@redhat.com>
19299
19300         maint: three new prohibit-header-without-use rules
19301         Prohibit use of cloexec.h, posixver.h, same.h without use.
19302         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19303         (sc_prohibit_posixver_without_use): Likewise.
19304         (sc_prohibit_same_without_use): Likewise.
19305
19306 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19307
19308         allocator: 'die' routine is now given requested size
19309         * lib/allocator.h (struct allocator.die): New size arg.
19310         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19311         If the actual problem is an ssize_t limitation, not a size_t or
19312         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19313
19314 2011-06-01  Eric Blake  <eblake@redhat.com>
19315
19316         strerror: drop strerror_r dependency
19317         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19318         * lib/strerror-override.c (strerror_override): ...to new file.
19319         * lib/strerror-override.h: Add prototype.
19320         * lib/strerror-impl.h: Delete.
19321         * lib/strerror.c (strerror): New implementation.
19322         * modules/errno (Files): Add new files.
19323         (configure.ac): Compile new file as appropriate.
19324         * modules/strerror (Files): Drop unused file.
19325         (Depends-on): Drop strerror_r-posix.
19326         * MODULES.html.sh: Document strerror_r-posix.
19327         Requested by Sam Steingold.
19328
19329         perror: call strerror_r directly
19330         * modules/perror (Files): Drop strerror-impl.h.
19331         * lib/perror.c (perror): Use our own stack buffer, rather than
19332         calling a wrapper that uses static storage.
19333         * doc/posix-functions/perror.texi (perror): Document a limitation
19334         of our replacement.
19335
19336         strerror_r: fix includes for FreeBSD
19337         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19338         since we use abort on some platforms.
19339         Reported by Matthias Bolte.
19340
19341 2011-05-31  Bruno Haible  <bruno@clisp.org>
19342
19343         Fix link errors in tests: openat-die uses gettext-h.
19344         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19345         against $(LIBINTL).
19346         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19347         against $(LIBINTL).
19348         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19349         $(LIBINTL).
19350         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19351         against $(LIBINTL).
19352         * modules/linkat-tests (Makefile.am): Link test-linkat against
19353         $(LIBINTL).
19354         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19355         $(LIBINTL).
19356         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19357         against $(LIBINTL).
19358         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19359         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19360         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19361         $(LIBINTL).
19362         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19363         $(LIBINTL).
19364         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19365         $(LIBINTL).
19366         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19367
19368 2011-05-31  Bruno Haible  <bruno@clisp.org>
19369
19370         Fix link errors in tests: wait-process uses gettext-h.
19371         * modules/nonblocking-pipe-tests (Makefile.am): Set
19372         test_nonblocking_pipe_main_LDADD.
19373         * modules/nonblocking-socket-tests (Makefile.am): Link
19374         test-nonblocking-socket-main against $(LIBINTL).
19375         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19376
19377 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19378
19379         assert-h: work around 'verify' incompatibility
19380         * lib/verify.h: Use @...@ directives, not ifdef.
19381         * modules/assert-h (assert.h): Implement the directives.
19382         (assert.h): Substitute the symbol-prefix more consistently.
19383
19384 2011-05-29  Jim Meyering  <meyering@redhat.com>
19385
19386         trim: remove three superfluous assignments
19387         * lib/trim.c (trim2): Remove three superfluous assignments
19388         and correct brace positioning.
19389
19390 2011-05-29  Bruno Haible  <bruno@clisp.org>
19391
19392         wctype-h: Avoid namespace pollution on Solaris 2.6.
19393         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19394         identifiers.
19395         * doc/posix-headers/wctype.texi: Mention the problem.
19396         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19397
19398 2011-05-28  Jim Meyering  <meyering@redhat.com>
19399
19400         parse-datetime.y: accommodate -Wstrict-overflow
19401         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19402         placate -Wstrict-overflow.
19403
19404         trim: avoid a warning from -O2 -Wstrict-overflow
19405         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19406
19407 2011-05-29  Bruno Haible  <bruno@clisp.org>
19408
19409         gnulib-tool: Fix bug in yesterday's commit.
19410         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19411         twice.
19412
19413 2011-05-29  Bruno Haible  <bruno@clisp.org>
19414
19415         Allow multiple gnulib generated include files to be combined.
19416         * gnulib-tool (func_compute_include_guard_prefix): New function.
19417         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19418         ${gl_include_guard_prefix} references.
19419         (func_import, func_create_testdir): Invoke
19420         func_compute_include_guard_prefix.
19421         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19422         * lib/ctype.in.h: Likewise.
19423         * lib/dirent.in.h: Likewise.
19424         * lib/errno.in.h: Likewise.
19425         * lib/fcntl.in.h: Likewise.
19426         * lib/float.in.h: Likewise.
19427         * lib/getopt.in.h: Likewise.
19428         * lib/iconv.in.h: Likewise.
19429         * lib/langinfo.in.h: Likewise.
19430         * lib/locale.in.h: Likewise.
19431         * lib/math.in.h: Likewise.
19432         * lib/netdb.in.h: Likewise.
19433         * lib/netinet_in.in.h: Likewise.
19434         * lib/poll.in.h: Likewise.
19435         * lib/pthread.in.h: Likewise.
19436         * lib/pty.in.h: Likewise.
19437         * lib/sched.in.h: Likewise.
19438         * lib/se-selinux.in.h: Likewise.
19439         * lib/search.in.h: Likewise.
19440         * lib/signal.in.h: Likewise.
19441         * lib/spawn.in.h: Likewise.
19442         * lib/stdarg.in.h: Likewise.
19443         * lib/stddef.in.h: Likewise.
19444         * lib/stdint.in.h: Likewise.
19445         * lib/stdio.in.h: Likewise.
19446         * lib/stdlib.in.h: Likewise.
19447         * lib/string.in.h: Likewise.
19448         * lib/strings.in.h: Likewise.
19449         * lib/sys_file.in.h: Likewise.
19450         * lib/sys_ioctl.in.h: Likewise.
19451         * lib/sys_select.in.h: Likewise.
19452         * lib/sys_socket.in.h: Likewise.
19453         * lib/sys_stat.in.h: Likewise.
19454         * lib/sys_time.in.h: Likewise.
19455         * lib/sys_times.in.h: Likewise.
19456         * lib/sys_uio.in.h: Likewise.
19457         * lib/sys_utsname.in.h: Likewise.
19458         * lib/sys_wait.in.h: Likewise.
19459         * lib/sysexits.in.h: Likewise.
19460         * lib/termios.in.h: Likewise.
19461         * lib/time.in.h: Likewise.
19462         * lib/unistd.in.h: Likewise.
19463         * lib/wchar.in.h: Likewise.
19464         * lib/wctype.in.h: Likewise.
19465         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19466         * modules/ctype (Makefile.am): Likewise.
19467         * modules/dirent (Makefile.am): Likewise.
19468         * modules/errno (Makefile.am): Likewise.
19469         * modules/fcntl-h (Makefile.am): Likewise.
19470         * modules/float (Makefile.am): Likewise.
19471         * modules/getopt-posix (Makefile.am): Likewise.
19472         * modules/iconv-h (Makefile.am): Likewise.
19473         * modules/langinfo (Makefile.am): Likewise.
19474         * modules/locale (Makefile.am): Likewise.
19475         * modules/math (Makefile.am): Likewise.
19476         * modules/netdb (Makefile.am): Likewise.
19477         * modules/netinet_in (Makefile.am): Likewise.
19478         * modules/poll-h (Makefile.am): Likewise.
19479         * modules/pthread (Makefile.am): Likewise.
19480         * modules/pty (Makefile.am): Likewise.
19481         * modules/sched (Makefile.am): Likewise.
19482         * modules/search (Makefile.am): Likewise.
19483         * modules/selinux-h (Makefile.am): Likewise.
19484         * modules/signal (Makefile.am): Likewise.
19485         * modules/spawn (Makefile.am): Likewise.
19486         * modules/stdarg (Makefile.am): Likewise.
19487         * modules/stddef (Makefile.am): Likewise.
19488         * modules/stdint (Makefile.am): Likewise.
19489         * modules/stdio (Makefile.am): Likewise.
19490         * modules/stdlib (Makefile.am): Likewise.
19491         * modules/string (Makefile.am): Likewise.
19492         * modules/strings (Makefile.am): Likewise.
19493         * modules/sys_file (Makefile.am): Likewise.
19494         * modules/sys_ioctl (Makefile.am): Likewise.
19495         * modules/sys_select (Makefile.am): Likewise.
19496         * modules/sys_socket (Makefile.am): Likewise.
19497         * modules/sys_stat (Makefile.am): Likewise.
19498         * modules/sys_time (Makefile.am): Likewise.
19499         * modules/sys_times (Makefile.am): Likewise.
19500         * modules/sys_uio (Makefile.am): Likewise.
19501         * modules/sys_utsname (Makefile.am): Likewise.
19502         * modules/sys_wait (Makefile.am): Likewise.
19503         * modules/sysexits (Makefile.am): Likewise.
19504         * modules/termios (Makefile.am): Likewise.
19505         * modules/time (Makefile.am): Likewise.
19506         * modules/unistd (Makefile.am): Likewise.
19507         * modules/wchar (Makefile.am): Likewise.
19508         * modules/wctype-h (Makefile.am): Likewise.
19509         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19510
19511 2011-05-29  Bruno Haible  <bruno@clisp.org>
19512
19513         assert-h: Allow multiple gnulib generated replacements to coexist.
19514         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19515
19516 2011-05-29  Bruno Haible  <bruno@clisp.org>
19517
19518         argp: Allow coexistence with strerror_r-posix module.
19519         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19520         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19521         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19522         not the glibc signature.
19523
19524 2011-05-28  Bruno Haible  <bruno@clisp.org>
19525
19526         gnulib-tool: Alternative structure of testdirs, similar to --import.
19527         * gnulib-tool: New option --single-configure.
19528         (func_usage): Document it.
19529         (single_configure): New variable.
19530         (func_modules_transitive_closure_separately,
19531         func_modules_transitive_closure_separately,
19532         func_determine_use_libtests, func_modules_add_dummy_separately,
19533         func_modules_to_filelist_separately): New functions, extracted from
19534         func_import.
19535         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19536         (func_import): Use the new functions.
19537         (func_create_testdir): Set final_modules. Handle $single_configure =
19538         true case.
19539
19540 2011-05-28  Bruno Haible  <bruno@clisp.org>
19541
19542         getloadavg: Remove an unreliable safety check.
19543         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19544         getloadavg.c is in place.
19545         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19546         Reported by Sam Steingold <sds@gnu.org>.
19547
19548 2011-05-28  Bruno Haible  <bruno@clisp.org>
19549
19550         doc: Cleanup yet another file produced by texinfo.tex.
19551         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19552
19553 2011-05-28  Bruno Haible  <bruno@clisp.org>
19554
19555         Finish the conditional dependencies mechanism.
19556         * gnulib-tool: New option --no-conditional-dependencies.
19557         (func_usage): Document it. Don't mark --conditional-dependencies as
19558         experimental.
19559         (cond_dependencies): The possible values can now be true, false, empty.
19560         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19561         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19562         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19563
19564 2011-05-28  Bruno Haible  <bruno@clisp.org>
19565
19566         doc: Use a recent texinfo.tex.
19567         * doc/Makefile (tex_opts): New variable.
19568         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19569
19570 2011-05-28  Jim Meyering  <meyering@redhat.com>
19571
19572         intprops.h: adjust comment to match code change
19573         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19574         only once, it *may* have side effects.  Also fix an unrelated typo.
19575         (_GL_INT_SIGNED): Likewise.
19576
19577 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19578
19579         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19580
19581 2011-05-26  Bruno Haible  <bruno@clisp.org>
19582
19583         mbsrchr: Avoid collision with system function on Interix.
19584         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19585         Reported by Markus Duft <mduft@gentoo.org>.
19586
19587 2011-05-15  James Youngman  <jay@gnu.org>
19588
19589         getopt: for ambiguous options, enumerate the possibilities.
19590         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19591         the ambiguous options when an ambiguous prefix is given. This was
19592         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19593         glibc change was
19594         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19595
19596 2011-05-25  Eric Blake  <eblake@redhat.com>
19597
19598         getcwd: work around mingw bug
19599         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19600         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19601         Reported by Matthias Bolte.
19602
19603 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19604
19605         test-intprops: disable -Wtype-limits diagnostics
19606         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19607         diagnostics.  Otherwise, the integer overflow macros generate many
19608         diagnostics.  Reported by Jim Meyering in
19609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19610
19611         intprops: shorten, to pacify gcc -Woverlength-strings
19612         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19613         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19614         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19615         likely to run afoul of C compiler limits for string constant lengths.
19616         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19617
19618 2011-05-24  Eric Blake  <eblake@redhat.com>
19619
19620         docs: document recently fixed glibc printf bug
19621         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19622         * doc/posix-functions/printf.texi (printf): Likewise.
19623         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19624         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19625
19626         closein-tests: convert to init.sh
19627         * modules/closein-tests (Files): Add init.sh
19628         * tests/test-closein.sh Use it.
19629
19630         yesno-tests: convert to init.sh
19631         * modules/yesno-tests (Files): Add init.sh.
19632         * tests/test-yesno.sh: Use it.
19633
19634         atexit-tests: ensure reliable exit status
19635         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19636         Reported by Bruno Haible.
19637
19638 2011-05-24  Bruno Haible  <bruno@clisp.org>
19639
19640         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19641         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19642         gl_PREREQ_STRERROR_R invocations from here...
19643         * modules/strerror_r-posix (configure.ac): ... to here.
19644
19645 2011-05-24  Eric Blake  <eblake@redhat.com>
19646
19647         strerror_r: fix missing header
19648         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19649
19650         strerror_r: fix AIX test failures
19651         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19652         ERANGE failure.
19653
19654         strerror_r: fix Solaris test failures
19655         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19656         failures.
19657         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19658
19659         strerror_r: enforce POSIX recommendations
19660         * lib/strerror_r.c (safe_copy): New helper method.
19661         (strerror_r): Guarantee a non-empty string.
19662         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19663         recent POSIX rulings and to match our strerror guarantees.
19664         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19665
19666 2011-05-24  Jim Meyering  <meyering@redhat.com>
19667
19668         test-perror2.c: avoid warning about unused variable
19669         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19670
19671 2011-05-24  Eric Blake  <eblake@redhat.com>
19672
19673         perror: avoid spurious test failure on HP-UX
19674         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19675
19676         tests: fix logic bug in init.sh
19677         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19678         shell.
19679
19680 2011-05-24  Jim Meyering  <meyering@redhat.com>
19681
19682         utimensat: do not reference an out-of-scope buffer
19683         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19684         declared in an inner scope, yet "times" would be dereferenced outside
19685         the scope in which "ts" was valid.
19686         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19687         of ts[2] "out/up", so that the use of aliased "times" (via
19688         "times = ts;") does not end up referencing an out-of-scope "ts"
19689
19690         opendir-safer.c: don't clobber errno; don't close negative FD
19691         * lib/opendir-safer.c (opendir_safer):
19692         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19693         file descriptor, and more importantly, don't clobber the
19694         offending errno value with EINVAL.  Before, upon failure
19695         of dup_safer, we would pass the negative file descriptor to
19696         fdopendir, which would clobber errno.
19697
19698 2011-05-23  Bruno Haible  <bruno@clisp.org>
19699
19700         idcache: Fix module description.
19701         * modules/idcache (Include): Set to "idcache.h".
19702
19703 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19704
19705         gnulib-tool: fix portability problem with MacOS sed
19706         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19707         before the "}".  Problem reported by Leo in
19708         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
19709         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
19710         sed_extract_condition1, sed_extract_condition2.
19711
19712 2011-05-23  Bruno Haible  <bruno@clisp.org>
19713
19714         hash: Simplify autoconf macro.
19715         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
19716
19717 2011-05-23  Bruno Haible  <bruno@clisp.org>
19718
19719         getugroups: Fix module description.
19720         * modules/getugroups (Include): Set to "getugroups.h".
19721
19722 2011-05-23  Bruno Haible  <bruno@clisp.org>
19723
19724         linkat: Simplify autoconf macro.
19725         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
19726
19727 2011-05-23  Bruno Haible  <bruno@clisp.org>
19728             Eric Blake  <eblake@redhat.com>
19729
19730         linkat, renameat: Update dependencies.
19731         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
19732         * modules/linkat (Depends-on): Likewise. Remove also readlink,
19733         symlinkat.
19734
19735 2011-05-23  Jim Meyering  <meyering@redhat.com>
19736
19737         maint.mk: more tight_scope improvements
19738         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
19739         (_gl_TS_headers): Define only in if-0'd block.
19740         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
19741         sometimes we must *not* use it.  Adjust uses accordingly.
19742         (sc_tight_scope): Use much simpler grep-based test to determine
19743         whether we skip this rule.
19744
19745         maint.mk: generalize/improve the tight-scope rule
19746         * top/maint.mk: Emit a warning when the test is skipped.
19747         (_gl_TS_dir): Add $(srcdir)/ prefix.
19748         (_gl_TS_function_match): Simplify, rather than trying
19749         to enumerate common types.  Otherwise, it would fail to match an
19750         "extern unsigned char const *" declaration in idutils.
19751         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
19752         a way to support use of that type of macro.
19753         (_gl_TS_var_match): Simplify regexp.
19754         (_gl_TS_obj_files): New configurable variable.
19755         (_gl_TS_headers): Likewise.
19756
19757 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19758
19759         verify: fix bug when gnulib <assert.h> is also included
19760         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
19761         is defined, not if _GL_STATIC_ASSERT_H is not defined.
19762         Perhaps there's a better way, but this fixes the immediate problem.
19763         Problem reported by Bruno Haible in
19764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
19765
19766 2011-05-22  Bruno Haible  <bruno@clisp.org>
19767
19768         xgetcwd: Simplify autoconf macro.
19769         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
19770
19771 2011-05-22  Bruno Haible  <bruno@clisp.org>
19772
19773         New module 'mktime-internal'.
19774         * modules/mktime-internal: New file.
19775         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
19776         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
19777         mktime_internal as a C macro if libc has __mktime_internal.
19778         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
19779         conditions.
19780         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
19781
19782 2011-05-22  Bruno Haible  <bruno@clisp.org>
19783
19784         timegm: Correct mktime replacement statements.
19785         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
19786         defining mktime as a C macro. This completes a 2009-07-28 commit.
19787
19788 2011-05-22  Bruno Haible  <bruno@clisp.org>
19789
19790         timegm: Simplify autoconf macro.
19791         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
19792
19793 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19794
19795         clock-time: change to LGPLv2+.
19796         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
19797         BSD-like but we have no mark for that; this is good enough for now.
19798
19799 2011-05-21  Bruno Haible  <bruno@clisp.org>
19800
19801         strerror_r: Fix comments.
19802         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
19803
19804 2011-05-21  Bruno Haible  <bruno@clisp.org>
19805
19806         relocatable-prog-wrapper: Fix possible link error.
19807         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
19808         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
19809         (gl_FUNC_SETENV): ... to here.
19810         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
19811         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
19812
19813 2011-05-21  Bruno Haible  <bruno@clisp.org>
19814
19815         relocatable-prog-wrapper: Assume strerror() exists.
19816         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
19817         m4/strerror.m4.
19818         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
19819         * lib/relocwrapper.c: Remove mention of strerror module.
19820         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
19821         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
19822         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
19823         C macro.
19824
19825 2011-05-21  Bruno Haible  <bruno@clisp.org>
19826
19827         select: Simplify replacement idiom.
19828         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
19829         Win32 platforms.
19830         * lib/sys_select.in.h (select): Simplify accordingly.
19831         * modules/select (Depends-on): Likewise.
19832
19833 2011-05-21  Bruno Haible  <bruno@clisp.org>
19834
19835         mkdir-p: Simplify autoconf macro.
19836         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
19837         gl_FUNC_LCHOWN.
19838
19839 2011-05-21  Eric Blake  <eblake@redhat.com>
19840
19841         strerror_r: avoid clobbering strerror on cygwin
19842         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
19843         fall back instead to sys_errlist.
19844         * modules/strerror (configure.ac): Add witness.
19845         * tests/test-strerror_r.c (main): Enhance test.
19846         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19847         * tests/test-perror2.c (main): Free memory before exit.
19848
19849 2011-05-21  Bruno Haible  <bruno@clisp.org>
19850
19851         mkdtemp: Use gnulib naming conventions.
19852         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
19853         * modules/mkdtemp (configure.ac): Update.
19854
19855 2011-05-20  Eric Blake  <eblake@redhat.com>
19856
19857         strerror_r: avoid corrupting errno on Solaris
19858         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
19859         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19860
19861         strerror_r: avoid compiler warning
19862         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
19863
19864         strerror_r: simplify AIX code
19865         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
19866
19867         test-perror: avoid spurious failure on FreeBSD
19868         * modules/perror-tests (Depends-on): Add strerror, now that
19869         strerror_r no longer pulls it in.
19870
19871 2011-05-20  Bruno Haible  <bruno@clisp.org>
19872
19873         strerror_r-posix: Remove unused dependencies.
19874         * modules/strerror_r-posix (Depends-on): Remove strerror.
19875         Reported by Eric Blake.
19876
19877 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19878
19879         intprops: remove assumption about A|B representation
19880         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19881         is a valid integer if both A and B are.  Although this is true for
19882         all known practical hosts, the C standard doesn't guarantee it,
19883         and the code need not assume it.  Also, this change may work around
19884         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
19885         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
19886
19887 2011-05-20  Eric Blake  <eblake@redhat.com>
19888
19889         perror: work around FreeBSD bug
19890         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
19891         is broken.  Move AC_LIBOBJ...
19892         * modules/perror (configure.ac): Here.
19893         * doc/posix-functions/perror.texi (perror): Document this.
19894         * tests/test-perror2.c (main): Enhance test.
19895
19896         test-perror: check for strerror interactions
19897         * tests/macros.h (STREQ): Add macro.
19898         * modules/perror-tests (Files): Add second test.
19899         * tests/test-perror2.c (main): New file.
19900         * doc/posix-functions/perror.texi (perror): Document glibc bug.
19901
19902         test-perror: rewrite to use init script
19903         * modules/perror-tests (Files): Add init.sh.
19904         * tests/test-perror.sh: Use temporary directory.
19905
19906 2011-05-20  Jim Meyering  <meyering@redhat.com>
19907
19908         maint: replace misused "a" with "an"
19909         * doc/intprops.texi: "a integer"
19910         * doc/regex.texi: "a explanation"
19911         * lib/alignof.h: "a object"
19912         * lib/argmatch.h: "a explanation"
19913         * lib/argp-help.c: "a option" and "a OPTION_DOC"
19914         * lib/stdint.in.h: "a integer"
19915         * lib/userspec.c: "a owner"
19916         * doc/gnulib.texi: Fix "a idea", and reword.
19917
19918 2011-05-19  Jim Meyering  <meyering@redhat.com>
19919
19920         maint: correct misuse of "a" and "an"
19921         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
19922         * lib/argp-help.c: "an docum...": s/an/a/
19923         * lib/argp-parse.c: "An vector": s/An/A/
19924         * lib/execute.c: "an native": s/an/a/
19925         * lib/spawn-pipe.c: Likewise.
19926         * lib/gc.h: "an Gc_rc": s/an/a/
19927         * lib/unigbrk.in.h: "an grapheme": s/an/a/
19928         * lib/fts.c: "an stat.st_dev": s/an/a/
19929
19930 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19931
19932         intprops-tests: work around HP-UX 11.23 cc bug with constants
19933         * tests/test-intprops.c (VERIFY): New macro.
19934         (main): Use it, instead of verify, to work around the compiler bug; see
19935         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19936
19937         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
19938         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
19939         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
19940         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
19941         (_GL_REMAINDER_OVERFLOW): Use it.
19942
19943         intprops-tests: revert unsigned part of previous change
19944         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
19945         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
19946         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
19947         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
19948
19949 2011-05-19  Bruno Haible  <bruno@clisp.org>
19950
19951         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
19952         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
19953         strerror_r() returned without filling the buffer.
19954         Reported by Eric Blake.
19955
19956 2011-05-19  Eric Blake  <eblake@redhat.com>
19957
19958         strerror_r: guarantee unchanged errno
19959         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
19960         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
19961         failure.
19962         * tests/test-strerror_r.c (main): Enhance test.
19963
19964 2011-05-19  Bruno Haible  <bruno@clisp.org>
19965
19966         strerror_r: Reorder #if blocks.
19967         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
19968         for consistency with the previous commit.
19969
19970 2011-05-19  Bruno Haible  <bruno@clisp.org>
19971
19972         perror: Avoid clobbering the strerror buffer when possible.
19973         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
19974         * lib/strerror.c: Include it.
19975         * modules/strerror (Files): Add lib/strerror-impl.h.
19976         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
19977         (my_strerror): New function, defined through lib/strerror-impl.h.
19978         (perror): Use it instead of strerror.
19979         * modules/perror (Files): Add lib/strerror-impl.h.
19980         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
19981
19982 2011-05-19  Eric Blake  <eblake@redhat.com>
19983
19984         strerror_r: fix on newer cygwin
19985         * lib/strerror_r.c (strerror_r): Cygwin now has
19986         __xpg_strerror_r, use it.
19987
19988 2011-05-19  Bruno Haible  <bruno@clisp.org>
19989
19990         strerror_r: Avoid clobbering the strerror buffer when possible.
19991         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
19992         (sys_nerr, sys_errlist): New declarations.
19993         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
19994         HP-UX, native Win32, IRIX, and 32-bit Solaris.
19995         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
19996
19997 2011-05-19  Bruno Haible  <bruno@clisp.org>
19998
19999         strerror_r: Fix test failure on mingw.
20000         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20001         EXTEND_STRERROR_R.
20002         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20003         macros from errno.in.h instead.
20004
20005 2011-05-19  Eric Blake  <eblake@redhat.com>
20006
20007         strerror: relax test for Solaris
20008         * tests/test-strerror.c (main): Permit Solaris behavior.
20009         * tests/test-strerror_r.c (main): Likewise.
20010
20011         strerror: enforce POSIX ruling on strerror(0)
20012         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20013         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20014         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20015         * doc/posix-functions/strerror.texi (strerror): Document it.
20016         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20017         * tests/test-strerror.c (main): Strengthen test.
20018         * tests/test-strerror_r.c (main): Likewise.
20019
20020 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20021
20022         intprop-tests: port to older and more-pedantic compilers
20023         * modules/intprops-tests (Files): Add tests/macros.h.
20024         * tests/test-intprops.c: Include macros.h.
20025         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20026         it's no longer documented to expand to an integer constant expression.
20027         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20028         argument is floating point, as it's no longer documented to expand
20029         to an integer constant expression in that case.
20030         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20031         compiler bugs reported by Bruno Haible.  See
20032         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20033         (U0, U1): New constants, to work around the same bugs.  Also,
20034         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20035
20036         intprops: work around C compiler bugs
20037         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20038         bug in Sun C 5.11 2010/08/13 and other compilers; see
20039         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20040
20041         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20042         * doc/intprops.texi (Integer Type Determination): Fix
20043         documentation for TYPE_IS_INTEGER: it returns an constant
20044         expression, not an integer constant expression.  Fix doc for
20045         TYPE_SIGNED: it returns an integer constant expression only if its
20046         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20047         hardly worth documented that way....)
20048
20049 2011-05-18  Bruno Haible  <bruno@clisp.org>
20050
20051         strerror_r: Avoid clobbering the strerror buffer when possible.
20052         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20053         Handle gnulib defined errno values here. When strerror() returns NULL
20054         or an empty string, return EINVAL.
20055         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20056         gnulib defined errno values here.
20057         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20058
20059 2011-05-18  Eric Blake  <eblake@redhat.com>
20060
20061         fnmatch: avoid compiler warning
20062         * lib/fnmatch_loop.c (FCT): Use correct type.
20063         Reported by Matthias Bolte.
20064
20065 2011-05-13  Jim Meyering  <meyering@redhat.com>
20066
20067         maint.mk: three new prohibit_<HDR>_without_use rules
20068         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20069         (sc_prohibit_stdio-safer_without_use): Likewise.
20070         (sc_prohibit_xfreopen_without_use): Likewise.
20071
20072 2011-05-17  Jim Meyering  <meyering@redhat.com>
20073
20074         announce-gen: fail if the NEWS delta is empty
20075         If there's nothing noteworthy in NEWS, then either you forgot
20076         or you shouldn't be releasing.
20077         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20078
20079 2011-05-17  Pádraig Brady <P@draigBrady.com>
20080
20081         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20082         reserved symbols starting with double underscore from the check.
20083
20084 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20085
20086         intprops: add doc
20087         * doc/intprops.texi: New file, documenting intprops.
20088         * doc/gnulib.texi (Particular Modules): Include it.
20089
20090         verify: add doc to gnulib manual and fix example
20091         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20092         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20093         (Compile-time Assertions): Fix example so it can't overflow.
20094
20095 2011-05-17  Jim Meyering  <meyering@redhat.com>
20096
20097         warnings.m4: don't usurp save_CPPFLAGS variable name
20098         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20099
20100         doc: fix typo
20101         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20102
20103 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20104             Bruno Haible  <bruno@clisp.org>
20105
20106         doc: Tweak recent change.
20107         * README (Portability guidelines): Tweak new text.
20108         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20109         Interix 6.1.
20110
20111 2011-05-16  Eric Blake  <eblake@redhat.com>
20112
20113         inttypes: avoid autoconf warning
20114         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20115         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20116
20117 2011-05-16  Sam Steingold <sds@gnu.org>
20118         and Eric Blake  <eblake@redhat.com>
20119
20120         vc-list-files: accept multiple directory operands
20121         * build-aux/vc-list-files: Iterate over all remaining operands.
20122
20123 2011-05-16  Bruno Haible  <bruno@clisp.org>
20124
20125         Fix confusion regarding deprecated modules.
20126         * modules/calloc (Status, Notice): Mark module as deprecated, not
20127         obsolete.
20128         * modules/fnmatch-posix (Status, Notice): Likewise.
20129         * modules/getdate (Status, Notice): Likewise.
20130         * modules/getopt (Status, Notice): Likewise.
20131         * modules/malloc (Status, Notice): Likewise.
20132         * modules/pipe (Status, Notice): Likewise.
20133         * modules/realloc (Status, Notice): Likewise.
20134         * modules/rename-dest-slash (Status, Notice): Likewise.
20135         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20136         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20137         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20138         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20139         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20140
20141 2011-05-16  Bruno Haible  <bruno@clisp.org>
20142
20143         doc: List the target platforms.
20144         * doc/gnulib-intro.texi (Target Platforms): New section.
20145         * doc/gnulib.texi (Introduction): Update menu.
20146         * README (Portability guidelines): Refer to the new section. Update
20147         statement about oldest supported environment. Remove rationale why
20148         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20149         unportable C89 function.
20150         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20151         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20152
20153 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20154
20155         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20156
20157 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20158
20159         intprops-tests: new module
20160         * modules/intprops-tests, tests/test-intprops.c: New files.
20161
20162         intprops: add safe, portable integer overflow checking
20163         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20164         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20165         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20166         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20167         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20168         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20169         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20170         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20171         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20172         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20173         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20174
20175 2011-05-12  James Youngman  <jay@gnu.org>
20176
20177         Add a test for glibc's Bugzilla bug #12378.
20178         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20179         doesn't allow the literal matching of a lone "[" (which is
20180         required by POSIX).
20181         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20182
20183 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20184
20185         Sync glibc change fixing Bugzilla bug #12378.
20186         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20187         beginning and fall back to matching as normal character if the
20188         string ends before the matching ']' is found.  This is what POSIX
20189         requires.
20190
20191 2011-05-13  Eric Blake  <eblake@redhat.com>
20192
20193         getcwd-lgpl: relax test for FreeBSD
20194         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20195         issue.
20196         * tests/test-getcwd-lgpl.c (main): Relax test.
20197         Reported by Matthias Bolte.
20198
20199 2011-05-11  Eric Blake  <eblake@redhat.com>
20200
20201         test-fflush: silence compiler warning
20202         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20203
20204 2011-05-11  Bruno Haible  <bruno@clisp.org>
20205
20206         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20207         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20208         * modules/canonicalize (Depends-on): Add 'nocrash'.
20209         * modules/canonicalize-lgpl (Depends-on): Likewise.
20210         * doc/posix-functions/realpath.texi: Update platforms list.
20211         Reported by Ryan Schmidt <ryandesign@macports.org>.
20212
20213 2011-05-11  Bruno Haible  <bruno@clisp.org>
20214
20215         group-member: Declare function in <unistd.h>.
20216         * lib/unistd.in.h (group_member): New declaration.
20217         * lib/group-member.h: Remove file.
20218         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20219         * tests/test-unistd-c++.cc: Check signature of group_member.
20220         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20221         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20222         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20223         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20224         HAVE_GROUP_MEMBER.
20225         * modules/group-member (Files): Remove lib/group-member.h.
20226         (Depends-on): Add unistd. Specify conditions.
20227         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20228         (Include): Change to <unistd.h>.
20229         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20230         HAVE_GROUP_MEMBER.
20231         * NEWS: Mention the change.
20232         * lib/euidaccess.c: Don't include group-member.h.
20233
20234 2011-05-11  Bruno Haible  <bruno@clisp.org>
20235
20236         group-member: Document module.
20237         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20238         module.
20239
20240 2011-05-11  Bruno Haible  <bruno@clisp.org>
20241
20242         fclose: Fix mistake earlier today.
20243         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20244
20245 2011-05-11  Eric Blake  <eblake@redhat.com>
20246
20247         fclose: preserve fflush errors
20248         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20249         Reported by Jim Meyering.
20250
20251         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20252         * build-aux/bootstrap (check_versions): When no specific version
20253         is required, merely check that the app produces an exit status
20254         that indicates its existence.
20255
20256         maint.mk: drop redundant check
20257         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20258         the same but better.
20259
20260 2011-05-11  Bruno Haible  <bruno@clisp.org>
20261
20262         fclose: Fix possible link error.
20263         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20264         unregister_shadow_fd. Improve comments.
20265         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20266         Eric Blake.
20267
20268 2011-05-11  Jim Meyering  <meyering@redhat.com>
20269
20270         maint.mk: improve "can not" detection and generalize rule name
20271         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20272         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20273         Use the same technique as in sc_prohibit_doubled_word, so that
20274         we recognize "can not" also when the words are separated by a newline.
20275         Suggested by Eric Blake.
20276         (perl_filename_lineno_text_): Define.  Factored out of...
20277         (prohibit_doubled_word_): ...here.  Use the new definition.
20278         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20279         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20280         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20281
20282 2011-05-10  Eric Blake  <eblake@redhat.com>
20283
20284         fclose: avoid double close race when possible
20285         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20286         all but WINDOWS_SOCKETS.
20287
20288 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20289
20290         openat: correct new comment
20291         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20292
20293 2011-05-10  Jim Meyering  <meyering@redhat.com>
20294
20295         openat: add comments
20296         * lib/openat-proc.c (openat_proc_name): Add comments,
20297         mostly from Eric Blake.
20298
20299 2011-05-09  Eric Blake  <eblake@redhat.com>
20300
20301         openat: reduce syscalls in first probe of /proc
20302         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20303         be a directory.  Simplify the probe for .. bugs.
20304         * modules/openat (Depends-on): Drop same-inode.
20305         Reported by Bastien ROUCARIES.
20306
20307 2011-05-09  Jim Meyering  <meyering@redhat.com>
20308
20309         maint.mk: change semantics/name of tight_scope variables
20310         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20311         Rename variables to align with semantics that make them more useful.
20312
20313         maint.mk: tweak new rule's name not to impinge
20314         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20315         (sc_tight_scope): Use new rule name rather than $@-0.
20316
20317         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20318         * top/maint.mk (sc_tight_scope): New rule.
20319         (sc_tight_scope-0): New rule, ifdef'd out.
20320         (_gl_TS_dir): Default.
20321         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20322         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20323
20324 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20325
20326         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20327         Haible <bruno@clisp.org>.
20328
20329 2011-05-08  Bruno Haible  <bruno@clisp.org>
20330
20331         Comments.
20332         * m4/isnanf.m4: Add comment.
20333         * m4/isnanl.m4: Likewise.
20334
20335 2011-05-08  Bruno Haible  <bruno@clisp.org>
20336
20337         glob: Remove obsolete macro.
20338         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20339
20340 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20341
20342         intprops: Sun C 5.11 supports __typeof__
20343         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20344         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20345         which is new.
20346         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20347
20348         intprops: switch to usual gnulib indenting and naming
20349         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20350         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20351
20352         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20353
20354 2011-05-08  Jim Meyering  <meyering@redhat.com>
20355
20356         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20357         * top/maint.mk (release-prep): Use make's --no-print-directory
20358         option when generating the announcement.  This eliminates the
20359         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20360         generated announcement template.
20361
20362 2011-05-08  Bruno Haible  <bruno@clisp.org>
20363
20364         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20365         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20366         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20367
20368 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20369
20370         ignore-value, verify: Omit include files from lib_SOURCES.
20371         * modules/ignore-value, modules/verify (Makefile.am):
20372         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20373         that leads Automake to duplicate use of am__objects_... variables
20374         in Makefile.in.  See
20375         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20376
20377 2011-05-07  Bruno Haible  <bruno@clisp.org>
20378
20379         fclose: Simplify autoconf macro.
20380         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20381         defined.
20382
20383 2011-05-07  Bruno Haible  <bruno@clisp.org>
20384
20385         canonicalize-lgpl: Fix autoconf macro ordering bug.
20386         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20387         gl_STDLIB_H_DEFAULTS.
20388
20389 2011-05-06  Eric Blake  <eblake@redhat.com>
20390
20391         maintainer-makefile: make sc_po_check easier to tune
20392         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20393         to probe for strings, such as an alternate location for gnulib.
20394
20395         fclose: guarantee behavior on seekable stdin
20396         * modules/fclose (Depends-on): Add fflush.
20397         * doc/posix-functions/fclose.texi (fclose): Document this.
20398         * tests/test-fclose.c (main): Make test for this unconditional.
20399
20400 2011-05-06  Bruno Haible  <bruno@clisp.org>
20401
20402         fflush, fpurge: Relicense under LGPLv2+.
20403         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20404         * modules/fpurge (License): Likewise.
20405         With permission from Eric Blake and Jim Meyering.
20406         Suggested by Eric Blake.
20407
20408 2011-05-06  Karl Berry  <karl@gnu.org>
20409
20410         * MODULES.html.sh (func_all_modules): remove exit.
20411
20412 2011-05-06  Jim Meyering  <meyering@redhat.com>
20413
20414         maint.mk: use info-gnu@ as the default only for a stable release
20415         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20416         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20417         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20418         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20419
20420 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20421
20422         assert-h: new module, which supports C1X-style static_assert
20423         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20424         * lib/verify.h: Revamp so that this can be copied into assert.h,
20425         while retaining the ability to use it standalone as before.
20426         Rename private identifiers so as not to encroach on the
20427         standard C namespace, since this is now used by assert.h.
20428         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20429         the old verify_true.
20430         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20431         the old verify_true.  Use _GL_VERIFY_TYPE.
20432         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20433         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20434         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20435         defined when this file is copied into the replacement assert.h.
20436         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20437         and _Static_assert is not built in.
20438         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20439         defined, and use the new macros mentioned above.
20440         * doc/posix-headers/assert.texi: Document this.
20441
20442 2011-05-05  Bruno Haible  <bruno@clisp.org>
20443
20444         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20445         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20446         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20447         gl_REPLACE_FCLOSE here.
20448         * modules/fflush (Depends-on): Remove fclose.
20449         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20450         combination with module 'fclose'.
20451
20452 2011-05-05  Bruno Haible  <bruno@clisp.org>
20453
20454         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20455         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20456         gl_FUNC_FFLUSH.
20457         (gl_FUNC_FFLUSH): Use it.
20458         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20459         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20460         gl_REPLACE_FSEEKO here.
20461
20462 2011-05-05  Bruno Haible  <bruno@clisp.org>
20463
20464         tzset: Relicense under LGPL.
20465         * modules/tzset (License): Change to LGPL.
20466         No agreement needed; it's a no-op.
20467
20468         strtoimax, strtoumax: Relicense under LGPL.
20469         * modules/strtoimax (License): Change to LGPL.
20470         * modules/strtoumax (License): Likewise.
20471         With permission from Jim Meyering, Paul Eggert:
20472         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20474
20475         getgroups: Relicense under LGPL.
20476         * modules/getgroups (License): Change to LGPL.
20477         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20479         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20480         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20481
20482         nanosleep: Relicense under LGPL.
20483         * modules/nanosleep (License): Change to LGPL.
20484         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20485         Haible:
20486         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20488         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20490
20491         futimens: Relicense under LGPL.
20492         * modules/futimens (License): Change to LGPL.
20493         With permission from Eric Blake:
20494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20495
20496         fflush: Relicense under LGPL.
20497         * modules/fflush (License): Change to LGPL.
20498         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20499         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20500         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20501         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20502
20503         tmpfile: Relicense under LGPL.
20504         * modules/tmpfile (License): Change to LGPL.
20505         With permission from Ben Pfaff:
20506         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20507
20508         isfinite: Relicense under LGPL.
20509         * modules/isfinite (License): Change to LGPL.
20510         With permission from Ben Pfaff, Bruno Haible:
20511         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20512         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20513
20514         acosl..tanl: Relicense under LGPL.
20515         * modules/acosl (License): Change to LGPL.
20516         * modules/asinl (License): Likewise.
20517         * modules/atanl (License): Likewise.
20518         * modules/cosl (License): Likewise.
20519         * modules/expl (License): Likewise.
20520         * modules/logl (License): Likewise.
20521         * modules/sinl (License): Likewise.
20522         * modules/sqrtl (License): Likewise.
20523         * modules/tanl (License): Likewise.
20524         Source code originally from glibc and Paolo Bonzini. Agreements:
20525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20527
20528 2011-05-05  Bruno Haible  <bruno@clisp.org>
20529
20530         signal: Define sighandler_t.
20531         * lib/signal.in.h (sighandler_t): New type.
20532         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20533         whether sighandler_t is defined.
20534         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20535         * modules/signal (Depends-on): Add extensions.
20536         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20537         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20538         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20539
20540 2011-05-05  Eric Blake  <eblake@redhat.com>
20541
20542         maint: remove useless REPLACE_*_H macros
20543         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20544         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20545         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20546         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20547         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20548         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20549         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20550         * m4/btowc.m4: Update callers.
20551         * m4/dirfd.m4: Likewise.
20552         * m4/duplocale.m4: Likewise.
20553         * m4/fchdir.m4: Likewise.
20554         * m4/fdopendir.m4: Likewise.
20555         * m4/inet_ntop.m4: Likewise.
20556         * m4/inet_pton.m4: Likewise.
20557         * m4/ioctl.m4: Likewise.
20558         * m4/mbrlen.m4: Likewise.
20559         * m4/mbrtowc.m4: Likewise.
20560         * m4/mbsinit.m4: Likewise.
20561         * m4/mbsnrtowcs.m4: Likewise.
20562         * m4/mbsrtowcs.m4: Likewise.
20563         * m4/poll.m4: Likewise.
20564         * m4/setlocale.m4: Likewise.
20565         * m4/wcrtomb.m4: Likewise.
20566         * m4/wcsnrtombs.m4: Likewise.
20567         * m4/wcsrtombs.m4: Likewise.
20568         * m4/wctob.m4: Likewise.
20569         * m4/wcwidth.m4: Likewise.
20570         * modules/posix_spawn: Likewise.
20571         * modules/posix_spawn_file_actions_addclose: Likewise.
20572         * modules/posix_spawn_file_actions_adddup2: Likewise.
20573         * modules/posix_spawn_file_actions_addopen: Likewise.
20574         * modules/posix_spawn_file_actions_destroy: Likewise.
20575         * modules/posix_spawn_file_actions_init: Likewise.
20576         * modules/posix_spawnattr_destroy: Likewise.
20577         * modules/posix_spawnattr_getflags: Likewise.
20578         * modules/posix_spawnattr_getpgroup: Likewise.
20579         * modules/posix_spawnattr_getschedparam: Likewise.
20580         * modules/posix_spawnattr_getschedpolicy: Likewise.
20581         * modules/posix_spawnattr_getsigdefault: Likewise.
20582         * modules/posix_spawnattr_getsigmask: Likewise.
20583         * modules/posix_spawnattr_init: Likewise.
20584         * modules/posix_spawnattr_setflags: Likewise.
20585         * modules/posix_spawnattr_setpgroup: Likewise.
20586         * modules/posix_spawnattr_setschedparam: Likewise.
20587         * modules/posix_spawnattr_setschedpolicy: Likewise.
20588         * modules/posix_spawnattr_setsigdefault: Likewise.
20589         * modules/posix_spawnattr_setsigmask: Likewise.
20590         * modules/posix_spawnp: Likewise.
20591
20592 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20593
20594         Add option to do-release-commit-and-tag to specify branch.
20595         * build-aux/do-release-commit-and-tag: Add --branch.
20596
20597 2011-05-03  Bruno Haible  <bruno@clisp.org>
20598
20599         Avoid unnecessary compilation units, through conditional dependencies.
20600         * modules/accept (Depends-on): Add conditions to the dependencies.
20601         * modules/acosl (Depends-on): Likewise.
20602         * modules/argz (Depends-on): Likewise.
20603         * modules/asinl (Depends-on): Likewise.
20604         * modules/atanl (Depends-on): Likewise.
20605         * modules/atoll (Depends-on): Likewise.
20606         * modules/bind (Depends-on): Likewise.
20607         * modules/btowc (Depends-on): Likewise.
20608         * modules/canonicalize-lgpl (Depends-on): Likewise.
20609         * modules/ceil (Depends-on): Likewise.
20610         * modules/ceilf (Depends-on): Likewise.
20611         * modules/ceill (Depends-on): Likewise.
20612         * modules/chdir-long (Depends-on): Likewise.
20613         * modules/chown (Depends-on): Likewise.
20614         * modules/close (Depends-on): Likewise.
20615         * modules/connect (Depends-on): Likewise.
20616         * modules/cosl (Depends-on): Likewise.
20617         * modules/dirfd (Depends-on): Likewise.
20618         * modules/dprintf (Depends-on): Likewise.
20619         * modules/dprintf-posix (Depends-on): Likewise.
20620         * modules/error (Depends-on): Likewise.
20621         * modules/euidaccess (Depends-on): Likewise.
20622         * modules/expl (Depends-on): Likewise.
20623         * modules/faccessat (Depends-on): Likewise.
20624         * modules/fchdir (Depends-on): Likewise.
20625         * modules/fclose (Depends-on): Likewise.
20626         * modules/fcntl (Depends-on): Likewise.
20627         * modules/fdopendir (Depends-on): Likewise.
20628         * modules/fflush (Depends-on): Likewise.
20629         * modules/floor (Depends-on): Likewise.
20630         * modules/floorf (Depends-on): Likewise.
20631         * modules/floorl (Depends-on): Likewise.
20632         * modules/fnmatch (Depends-on): Likewise.
20633         * modules/fopen (Depends-on): Likewise.
20634         * modules/fprintf-posix (Depends-on): Likewise.
20635         * modules/frexp (Depends-on): Likewise.
20636         * modules/frexp-nolibm (Depends-on): Likewise.
20637         * modules/frexpl (Depends-on): Likewise.
20638         * modules/frexpl-nolibm (Depends-on): Likewise.
20639         * modules/fseek (Depends-on): Likewise.
20640         * modules/fsusage (Depends-on): Likewise.
20641         * modules/ftell (Depends-on): Likewise.
20642         * modules/ftello (Depends-on): Likewise.
20643         * modules/futimens (Depends-on): Likewise.
20644         * modules/getcwd (Depends-on): Likewise.
20645         * modules/getcwd-lgpl (Depends-on): Likewise.
20646         * modules/getdelim (Depends-on): Likewise.
20647         * modules/getdomainname (Depends-on): Likewise.
20648         * modules/getgroups (Depends-on): Likewise.
20649         * modules/gethostname (Depends-on): Likewise.
20650         * modules/getline (Depends-on): Likewise.
20651         * modules/getlogin_r (Depends-on): Likewise.
20652         * modules/getopt-posix (Depends-on): Likewise.
20653         * modules/getpeername (Depends-on): Likewise.
20654         * modules/getsockname (Depends-on): Likewise.
20655         * modules/getsockopt (Depends-on): Likewise.
20656         * modules/getsubopt (Depends-on): Likewise.
20657         * modules/getusershell (Depends-on): Likewise.
20658         * modules/glob (Depends-on): Likewise.
20659         * modules/grantpt (Depends-on): Likewise.
20660         * modules/iconv_open (Depends-on): Likewise.
20661         * modules/iconv_open-utf (Depends-on): Likewise.
20662         * modules/inet_ntop (Depends-on): Likewise.
20663         * modules/inet_pton (Depends-on): Likewise.
20664         * modules/ioctl (Depends-on): Likewise.
20665         * modules/isapipe (Depends-on): Likewise.
20666         * modules/isfinite (Depends-on): Likewise.
20667         * modules/isinf (Depends-on): Likewise.
20668         * modules/lchown (Depends-on): Likewise.
20669         * modules/ldexpl (Depends-on): Likewise.
20670         * modules/link (Depends-on): Likewise.
20671         * modules/linkat (Depends-on): Likewise.
20672         * modules/listen (Depends-on): Likewise.
20673         * modules/logl (Depends-on): Likewise.
20674         * modules/lstat (Depends-on): Likewise.
20675         * modules/mbrlen (Depends-on): Likewise.
20676         * modules/mbrtowc (Depends-on): Likewise.
20677         * modules/mbsinit (Depends-on): Likewise.
20678         * modules/mbsnrtowcs (Depends-on): Likewise.
20679         * modules/mbsrtowcs (Depends-on): Likewise.
20680         * modules/mbtowc (Depends-on): Likewise.
20681         * modules/memcmp (Depends-on): Likewise.
20682         * modules/mkdir (Depends-on): Likewise.
20683         * modules/mkdtemp (Depends-on): Likewise.
20684         * modules/mkfifo (Depends-on): Likewise.
20685         * modules/mkfifoat (Depends-on): Likewise.
20686         * modules/mknod (Depends-on): Likewise.
20687         * modules/mkostemp (Depends-on): Likewise.
20688         * modules/mkostemps (Depends-on): Likewise.
20689         * modules/mkstemp (Depends-on): Likewise.
20690         * modules/mkstemps (Depends-on): Likewise.
20691         * modules/mktime (Depends-on): Likewise.
20692         * modules/nanosleep (Depends-on): Likewise.
20693         * modules/open (Depends-on): Likewise.
20694         * modules/openat (Depends-on): Likewise.
20695         * modules/perror (Depends-on): Likewise.
20696         * modules/poll (Depends-on): Likewise.
20697         * modules/popen (Depends-on): Likewise.
20698         * modules/posix_spawn (Depends-on): Likewise.
20699         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20700         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20701         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20702         * modules/posix_spawnp (Depends-on): Likewise.
20703         * modules/pread (Depends-on): Likewise.
20704         * modules/printf-posix (Depends-on): Likewise.
20705         * modules/ptsname (Depends-on): Likewise.
20706         * modules/putenv (Depends-on): Likewise.
20707         * modules/pwrite (Depends-on): Likewise.
20708         * modules/readline (Depends-on): Likewise.
20709         * modules/readlink (Depends-on): Likewise.
20710         * modules/readlinkat (Depends-on): Likewise.
20711         * modules/recv (Depends-on): Likewise.
20712         * modules/recvfrom (Depends-on): Likewise.
20713         * modules/regex (Depends-on): Likewise.
20714         * modules/remove (Depends-on): Likewise.
20715         * modules/rename (Depends-on): Likewise.
20716         * modules/renameat (Depends-on): Likewise.
20717         * modules/rmdir (Depends-on): Likewise.
20718         * modules/round (Depends-on): Likewise.
20719         * modules/roundf (Depends-on): Likewise.
20720         * modules/roundl (Depends-on): Likewise.
20721         * modules/rpmatch (Depends-on): Likewise.
20722         * modules/select (Depends-on): Likewise.
20723         * modules/send (Depends-on): Likewise.
20724         * modules/sendto (Depends-on): Likewise.
20725         * modules/setenv (Depends-on): Likewise.
20726         * modules/setlocale (Depends-on): Likewise.
20727         * modules/setsockopt (Depends-on): Likewise.
20728         * modules/shutdown (Depends-on): Likewise.
20729         * modules/sigaction (Depends-on): Likewise.
20730         * modules/signbit (Depends-on): Likewise.
20731         * modules/sigprocmask (Depends-on): Likewise.
20732         * modules/sinl (Depends-on): Likewise.
20733         * modules/sleep (Depends-on): Likewise.
20734         * modules/snprintf (Depends-on): Likewise.
20735         * modules/snprintf-posix (Depends-on): Likewise.
20736         * modules/socket (Depends-on): Likewise.
20737         * modules/sprintf-posix (Depends-on): Likewise.
20738         * modules/sqrtl (Depends-on): Likewise.
20739         * modules/stat (Depends-on): Likewise.
20740         * modules/strchrnul (Depends-on): Likewise.
20741         * modules/strdup-posix (Depends-on): Likewise.
20742         * modules/strerror (Depends-on): Likewise.
20743         * modules/strerror_r-posix (Depends-on): Likewise.
20744         * modules/strndup (Depends-on): Likewise.
20745         * modules/strnlen (Depends-on): Likewise.
20746         * modules/strptime (Depends-on): Likewise.
20747         * modules/strsep (Depends-on): Likewise.
20748         * modules/strsignal (Depends-on): Likewise.
20749         * modules/strstr-simple (Depends-on): Likewise.
20750         * modules/strtod (Depends-on): Likewise.
20751         * modules/strtoimax (Depends-on): Likewise.
20752         * modules/strtok_r (Depends-on): Likewise.
20753         * modules/strtoumax (Depends-on): Likewise.
20754         * modules/symlink (Depends-on): Likewise.
20755         * modules/symlinkat (Depends-on): Likewise.
20756         * modules/tanl (Depends-on): Likewise.
20757         * modules/tcgetsid (Depends-on): Likewise.
20758         * modules/tmpfile (Depends-on): Likewise.
20759         * modules/trunc (Depends-on): Likewise.
20760         * modules/truncf (Depends-on): Likewise.
20761         * modules/truncl (Depends-on): Likewise.
20762         * modules/uname (Depends-on): Likewise.
20763         * modules/unlink (Depends-on): Likewise.
20764         * modules/unlockpt (Depends-on): Likewise.
20765         * modules/unsetenv (Depends-on): Likewise.
20766         * modules/usleep (Depends-on): Likewise.
20767         * modules/utimensat (Depends-on): Likewise.
20768         * modules/vasprintf (Depends-on): Likewise.
20769         * modules/vdprintf (Depends-on): Likewise.
20770         * modules/vdprintf-posix (Depends-on): Likewise.
20771         * modules/vfprintf-posix (Depends-on): Likewise.
20772         * modules/vprintf-posix (Depends-on): Likewise.
20773         * modules/vsnprintf (Depends-on): Likewise.
20774         * modules/vsnprintf-posix (Depends-on): Likewise.
20775         * modules/vsprintf-posix (Depends-on): Likewise.
20776         * modules/wcrtomb (Depends-on): Likewise.
20777         * modules/wcscasecmp (Depends-on): Likewise.
20778         * modules/wcscspn (Depends-on): Likewise.
20779         * modules/wcsdup (Depends-on): Likewise.
20780         * modules/wcsncasecmp (Depends-on): Likewise.
20781         * modules/wcsnrtombs (Depends-on): Likewise.
20782         * modules/wcspbrk (Depends-on): Likewise.
20783         * modules/wcsrtombs (Depends-on): Likewise.
20784         * modules/wcsspn (Depends-on): Likewise.
20785         * modules/wcsstr (Depends-on): Likewise.
20786         * modules/wcstok (Depends-on): Likewise.
20787         * modules/wcswidth (Depends-on): Likewise.
20788         * modules/wctob (Depends-on): Likewise.
20789         * modules/wctomb (Depends-on): Likewise.
20790         * modules/wctype (Depends-on): Likewise.
20791         * modules/wcwidth (Depends-on): Likewise.
20792         * modules/write (Depends-on): Likewise.
20793
20794 2011-05-03  Bruno Haible  <bruno@clisp.org>
20795
20796         Support for conditional dependencies.
20797         * doc/gnulib.texi (Module description): Document the syntax of
20798         conditional dependencies.
20799         * gnulib-tool: New option --conditional-dependencies.
20800         (func_usage): Document it.
20801         (cond_dependencies): New variable.
20802         (func_get_automake_snippet_conditional,
20803         func_get_automake_snippet_unconditional): New functions, extracted from
20804         func_get_automake_snippet.
20805         (func_get_automake_snippet): Use them.
20806         (sed_first_32_chars): New variable.
20807         (func_module_shellfunc_name): New function.
20808         (func_module_shellvar_name): New function.
20809         (func_module_conditional_name): New function.
20810         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
20811         func_cond_module_condition): New functions.
20812         (func_modules_transitive_closure): Add support for conditional
20813         dependencies.
20814         (func_emit_lib_Makefile_am): For a conditional module, enclose the
20815         conditional automake snippet in an automake conditional.
20816         (func_emit_autoconf_snippets): Emit shell functions that contain the
20817         code for conditional modules.
20818         (func_import, func_create_testdir): Update specification.
20819
20820 2011-05-03  Eric Blake  <eblake@redhat.com>
20821
20822         test-getaddrinfo: report error information
20823         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
20824
20825 2011-05-03  Jim Meyering  <meyering@redhat.com>
20826
20827         bootstrap: avoid build failure when $GZIP is set
20828         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
20829         program name.  If defined at all, it is supposed to list gzip options.
20830         Reported by Alan Curry in http://debbugs.gnu.org/8609
20831
20832 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
20833
20834         readme-release: new module with release instructions
20835         * modules/readme-release: New module.
20836         * top/README-release: New file, from coreutils, grep, diffutils.
20837         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20838
20839 2011-05-02  Eric Blake  <eblake@redhat.com>
20840
20841         fflush: also replace fclose when fixing fflush
20842         * modules/fflush (Depends-on): Add fclose.
20843         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
20844         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
20845         memstreams with no backing fd.
20846         * doc/posix-functions/fclose.texi (fclose): Document the use of
20847         fflush module to fix the bug.
20848         * tests/test-fclose.c (main): Relax test when fclose is used in
20849         isolation.
20850
20851         fclose: add some tests
20852         * modules/fclose-tests: New test module.
20853         * tests/test-fclose.c: New file.
20854         * doc/posix-functions/fclose.texi (fclose): Document the bug.
20855
20856         fclose: reduced dependencies
20857         * modules/fclose (Depends-on): Switch from fflush/fseeko to
20858         simpler lseek.
20859         * lib/fclose.c (rpl_fclose): Likewise.
20860         Reported by Simon Josefsson.
20861
20862         exit: drop remaining clients
20863         * modules/argmatch (Depends-on): Replace exit with stdlib.
20864         * modules/copy-file (Depends-on): Likewise.
20865         * modules/execute (Depends-on): Likewise.
20866         * modules/exitfail (Depends-on): Likewise.
20867         * modules/obstack (Depends-on): Likewise.
20868         * modules/pagealign_alloc (Depends-on): Likewise.
20869         * modules/pipe-filter-gi (Depends-on): Likewise.
20870         * modules/pipe-filter-ii (Depends-on): Likewise.
20871         * modules/savewd (Depends-on): Likewise.
20872         * modules/spawn-pipe (Depends-on): Likewise.
20873         * modules/wait-process (Depends-on): Likewise.
20874         * modules/xsetenv (Depends-on): Likewise.
20875         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20876         * modules/git-merge-changelog (Depends-on): Likewise.
20877         * modules/long-options (Depends-on): Likewise.
20878         * modules/pt_chown (Depends-on): Likewise.
20879         * modules/sysexits (Depends-on): Likewise.
20880
20881         freading: relax license from LGPLv3+ to LGPLv2+
20882         * modules/freading (License): Relax LGPL version.
20883
20884 2011-05-02  Bruno Haible  <bruno@clisp.org>
20885
20886         fchdir: Remove unused dependencies.
20887         * modules/fchdir (Depends-on): Remove include_next.
20888
20889 2011-05-02  Bruno Haible  <bruno@clisp.org>
20890
20891         gnulib-tool: Refactor.
20892         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
20893         from func_emit_autoconf_snippets.
20894         (func_emit_autoconf_snippets): Use it.
20895
20896 2011-05-02  Simon Josefsson  <simon@josefsson.org>
20897
20898         * NEWS: Document removal of 'exit'.
20899         * modules/exit: Remove file.
20900
20901 2011-05-01  Bruno Haible  <bruno@clisp.org>
20902
20903         Update DEPENDENCIES.
20904         * DEPENDENCIES (gettext): Recommend the newest release.
20905         Reported by Simon Josefsson.
20906
20907 2011-05-01  Bruno Haible  <bruno@clisp.org>
20908
20909         gnulib-tool: Reduce code duplication.
20910         * gnulib-tool (func_emit_autoconf_snippets): New function.
20911         (func_import, func_create_testdir): Use it.
20912
20913 2011-04-30  Eric Blake  <eblake@redhat.com>
20914
20915         fclose: don't fail on non-seekable input stream
20916         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
20917         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
20918         since fflush is allowed to fail in that case.
20919
20920 2011-04-30  Bruno Haible  <bruno@clisp.org>
20921
20922         dup3: cleanup
20923         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
20924
20925 2011-04-30  Bruno Haible  <bruno@clisp.org>
20926
20927         netdb: Make it work in C++ mode.
20928         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
20929         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
20930         module.
20931         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
20932         gl_MODULE_INDICATOR_FOR_TESTS.
20933         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
20934         * modules/netdb-c++-tests: New file.
20935         * tests/test-netdb-c++.cc: New file.
20936
20937 2011-04-30  Bruno Haible  <bruno@clisp.org>
20938
20939         New modules 'vfscanf', 'vscanf'.
20940         * modules/vfscanf: New file.
20941         * modules/vscanf: New file.
20942         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
20943         here.
20944         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
20945         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
20946
20947 2011-04-30  Bruno Haible  <bruno@clisp.org>
20948
20949         passfd: Add comments.
20950         * lib/passfd.c: Add comments about platforms.
20951
20952 2011-04-30  Bruno Haible  <bruno@clisp.org>
20953
20954         sys_uio: Make <sys/uio.h> self-contained.
20955         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
20956         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
20957
20958 2011-04-30  Bruno Haible  <bruno@clisp.org>
20959
20960         sys_socket: Ensure 'struct iovec' definition.
20961         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
20962         <sys/socket.h>.
20963         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
20964
20965 2011-04-30  Bruno Haible  <bruno@clisp.org>
20966
20967         sys_uio: Protect definition of 'struct iovec'.
20968         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
20969         it as a C struct.
20970
20971 2011-04-30  Bruno Haible  <bruno@clisp.org>
20972
20973         manywarnings: fix indentation
20974         * m4/manywarnings.m4: Indent by 2 spaces consistently.
20975
20976 2011-04-30  Pádraig Brady <P@draigBrady.com>
20977
20978         manywarnings: add -Wno-missing-field-initializers if needed.
20979         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
20980         option if it's needed to allow initialization with { 0, }
20981
20982 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
20983
20984         announce-gen: cosmetic improvement
20985         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
20986
20987 2011-04-29  Jim Meyering  <meyering@redhat.com>
20988
20989         vc-list-files: indent with spaces, not TABs
20990         * build-aux/vc-list-files: Convert leading TABs to spaces,
20991         to match the style of most other files in gnulib.
20992
20993         announce-gen: indent with spaces, not TABs
20994         * build-aux/announce-gen: Convert all TABs to spaces, to match
20995         the style of most other files in gnulib.
20996
20997 2011-04-29  Eric Blake  <eblake@redhat.com>
20998
20999         quotearg: avoid uninitialized variable use
21000         * lib/quotearg.c (quoting_options_from_style): Initialize
21001         remaining fields, and ensure that custom styles are only used via
21002         quoting_options rather than quoting_style.
21003
21004 2011-04-29  Jim Meyering  <meyering@redhat.com>
21005
21006         maint.mk: remove unused VC-tag variable
21007         * top/maint.mk (VC-tag): Remove unused variable.
21008
21009 2011-04-29  Bruno Haible  <bruno@clisp.org>
21010
21011         netdb: fix gai_strerror replacements
21012         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21013         * modules/netdb: Substitute it.
21014
21015 2011-04-29  Jim Meyering  <meyering@redhat.com>
21016
21017         test-getcwd.c: avoid new set-but-not-used warning
21018         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21019         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21020         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21021         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21022
21023         test-hash.c: avoid a new shadowing warning
21024         * tests/test-hash.c (main): Don't shadow "dup".
21025
21026 2011-04-28  Eric Blake  <eblake@redhat.com>
21027
21028         getaddrinfo: fix gai_strerror signature
21029         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21030         and work around mingw with UNICODE defined.
21031         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21032         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21033         * modules/netdb (Makefile.am): Substitute it.
21034         * lib/netdb.in.h (gai_strerror): Declare replacement.
21035         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21036         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21037         the fix.
21038
21039         getsockopt: avoid compiler warning
21040         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21041         Reported by Matthias Bolte.
21042
21043         tests: drop unused link dependency
21044         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21045         * modules/dirent-safer-tests (Makefile.am): Likewise.
21046         * modules/fdopendir-tests (Makefile.am): Likewise.
21047         * modules/mkfifoat-tests (Makefile.am): Likewise.
21048         * modules/openat-safer-tests (Makefile.am): Likewise.
21049         * modules/openat-tests (Makefile.am): Likewise.
21050         * modules/readlinkat-tests (Makefile.am): Likewise.
21051         * modules/symlinkat-tests (Makefile.am): Likewise.
21052         * modules/linkat-tests (Makefile.am): Likewise.
21053         (Depends-on): Switch to filenamecat-lgpl.
21054         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21055         LIBINTL.
21056         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21057         * tests/test-linkat.c (main): Don't require xalloc.
21058
21059         hash, mgetgroups: drop xalloc dependency
21060         * lib/hash.c (includes): Adjust includes.
21061         * lib/mgetgroups.c (includes): Likewise.
21062         (xgetgroups): Move...
21063         * lib/xgetgroups.c: ...to new file.
21064         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21065         * modules/xgetgroups: New file, split from...
21066         * modules/mgetgroups: ...here.
21067         (Depends-on): Add xalloc-oversized.
21068         * modules/hash (Depends-on): Likewise.
21069         * modules/hash-tests (Depends-on): Drop xalloc.
21070         (test_hash_LDADD): Drop unused library.
21071         * tests/test-hash.c (main): Break xalloc dependency.
21072         (includes): Drop unused include.
21073
21074         xalloc-oversized: new module
21075         * modules/xalloc-oversized: New module.
21076         * modules/xalloc (Depends-on): Add it.
21077         * lib/xalloc.h (xalloc_oversized): Move...
21078         * lib/xalloc-oversized.h: ...into new file.
21079
21080         utimecmp: drop dependency on xmalloc
21081         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21082         due to memory pressure.
21083         * modules/utimecmp (Depends-on): Drop xalloc.
21084
21085 2011-04-27  Eric Blake  <eblake@redhat.com>
21086
21087         getcwd: fix mingw bugs
21088         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21089         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21090         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21091
21092 2011-04-27  Bruno Haible  <bruno@clisp.org>
21093
21094         mkstemps: Ensure declaration on MacOS X 10.5.
21095         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21096         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21097         MacOS X.
21098
21099 2011-04-27  Bruno Haible  <bruno@clisp.org>
21100
21101         mkstemp: More documentation.
21102         * doc/posix-functions/mkstemp.texi: Document header file problem on
21103         MacOS X.
21104
21105 2011-04-27  Bruno Haible  <bruno@clisp.org>
21106
21107         mkstemp: Tweak configure message when cross-compiling.
21108         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21109         result as a guess.
21110
21111 2011-04-27  Bruno Haible  <bruno@clisp.org>
21112
21113         clean-temp: Clarify what it does.
21114         * lib/clean-temp.h: Add more comments.
21115         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21116         module.
21117         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21118         * doc/glibc-functions/mkstemps.texi: Likewise.
21119         * doc/glibc-functions/mkostemps.texi: Likewise.
21120
21121 2011-04-27  Eric Blake  <eblake@redhat.com>
21122
21123         fchdir: avoid extra chdir and fix test
21124         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21125         getcwd-lgpl.
21126         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21127         have to be canonical.
21128         (canonicalize_file_name): Drop unused macro.
21129         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21130
21131         filenamecat-lgpl: fix licence
21132         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21133         when it was first created.
21134
21135         linkat, renameat: add missing dependency
21136         * modules/linkat (Depends-on): Require getcwd-lgpl.
21137         * modules/renameat (Depends-on): Likewise.
21138
21139         tests: reduce dependencies
21140         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21141         * tests/test-renameat.c (main): Likewise.
21142         * modules/linkat-tests (Depends-on): Relax dependency.
21143         * modules/renameat-tests (Depends-on): Likewise.
21144         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21145         dependency explicit.
21146
21147         save-cwd: reduce default dependency
21148         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21149         * lib/save-cwd.c: Update comments.
21150         * NEWS: Document the semantic change.
21151
21152         getcwd: enhance tests
21153         * tests/test-getcwd-lgpl.c: New file, taken from...
21154         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21155         repeat long path stress tests from m4 probe.
21156         * modules/getcwd-lgpl-tests: New module.
21157         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21158         * m4/getcwd-abort-bug.m4: Update comment.
21159         * m4/getcwd-path-max.m4: Likewise.
21160
21161         getcwd-lgpl: new module
21162         * modules/getcwd-lgpl: New module.
21163         * lib/getcwd-lgpl.c: New file.
21164         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21165         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21166         * modules/getcwd (configure.ac): Set C witness.
21167         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21168
21169         getcwd: tweak comments
21170         * m4/getcwd-abort-bug.m4: Fix comments.
21171         * m4/getcwd-path-max.m4: Likewise.
21172         * m4/getcwd.m4: Likewise.
21173
21174 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21175         and Eric Blake  <eblake@redhat.com>
21176
21177         mkstemp: replace if system version uses wrong permissions
21178         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21179         read/write mode bits set in file created by mkstemp.
21180         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21181
21182 2011-04-27  Eric Blake  <eblake@redhat.com>
21183
21184         passfd: avoid compiler warning
21185         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21186         Reported by Laine Stump.
21187
21188 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21189
21190         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21191         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21192
21193 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21194         and Eric Blake  <eblake@redhat.com>
21195
21196         mkstemp: mention clean-temp module
21197         * lib/mkstemp.c: Add comment.
21198         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21199
21200 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21201
21202         inttypes: also provide default values for 32-bit tests
21203         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21204         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21205
21206 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21207
21208         strtoumax: remove dependency on strtoimax
21209         This is like the strtoull change of yesterday.
21210         * modules/strtoumax (Files): Add lib/strtoimax.c.
21211         (Depends-on): Remove strtoimax and add verify.
21212
21213         inttypes-incomplete: new module
21214         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21215         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21216         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21217         of gl_INTTYPES_H.
21218         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21219         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21220         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21221         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21222         * modules/strtoumax, modules/xstrtol (Depends-on):
21223         Depend on inttypes-incomplete, not inttypes.
21224         * modules/inttypes-incomplete: New module, containing the contents
21225         of the old modules/inttypes module, except that the Files: section
21226         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21227         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21228         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21229         (Depends-on): Depend only on inttypes-incomplete.
21230         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21231
21232         inttypes: omit now-redundant strtoimax and strtoumax work
21233         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21234         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21235
21236         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21237         This supports apps that need pointers to strtoimax and strtoumax,
21238         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21239         nonexistent functions.  See
21240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21241         et seq.
21242         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21243         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21244         a macro.
21245         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21246
21247 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21248
21249         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21250
21251 2011-04-25  Bruno Haible  <bruno@clisp.org>
21252
21253         strtol, strtoul: Mark modules as obsolete.
21254         * modules/strtol (Status, Notice): New sections.
21255         * modules/strtoul (Status, Notice): New sections.
21256
21257 2011-04-25  Bruno Haible  <bruno@clisp.org>
21258
21259         strtod: Remove check for strtod, unless supporting old platforms.
21260         * modules/strtod-obsolete: New file.
21261         * m4/strtod-obsolete.m4: New file.
21262         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21263         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21264         * modules/strtod (Depends-on): Add strtod-obsolete.
21265         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21266
21267 2011-04-25  Bruno Haible  <bruno@clisp.org>
21268
21269         strcase: Make module obsolete.
21270         * modules/strcase (Status, Notice): New sections.
21271
21272 2011-04-25  Bruno Haible  <bruno@clisp.org>
21273
21274         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21275         * modules/dup2-obsolete: New file.
21276         * m4/dup2-obsolete.m4: New file.
21277         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21278         gl_FUNC_DUP2_OBSOLETE is not also defined.
21279         * modules/dup2 (Depends-on): Add dup2-obsolete.
21280         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21281
21282 2011-04-25  Bruno Haible  <bruno@clisp.org>
21283
21284         strnlen: Avoid memchr related link error on old obsolete platforms.
21285         * modules/memchr-obsolete: New file.
21286         * m4/memchr-obsolete.m4: New file.
21287         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21288         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21289         * modules/memchr (Depends-on): Add memchr-obsolete.
21290         * modules/strnlen (Depends-on): Likewise.
21291         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21292
21293 2011-04-25  Jim Meyering  <meyering@redhat.com>
21294
21295         maint.mk: makefile_at_at_check extend and clean up
21296         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21297         in addition to */Makefile.am.
21298         Exempt legitimate uses of @VAR@ notation, e.g.,
21299         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21300         Remove obsolete coreutils-specific comment.
21301         Prompted by discussion here:
21302         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21303
21304 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21305
21306         strtoul: remove dependency on strtol
21307         This is so that 'configure' need not check for strtol merely because
21308         the application needs strtoul.
21309         * modules/strtoul (Files): Add lib/strtol.c.
21310         (Depends-on): Remove strtol.
21311
21312         strtoull: remove dependency on strtoul
21313         This is like the strtoll change.
21314         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21315         (Depends-on): Remove strtoul.
21316
21317         strtoll: remove dependency on strtol
21318         This is so that 'configure' need not check for strtol merely because
21319         the application needs strtoll.
21320         * modules/strtoll (Files): Add lib/strtol.c.
21321         (Depends-on): Remove strtol.
21322
21323 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21324
21325         inttypes: Move some configure check to module 'imaxdiv'.
21326         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21327         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21328         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21329
21330 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21331
21332         inttypes: Move some configure check to module 'imaxabs'.
21333         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21334         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21335         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21336
21337 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21338
21339         inttypes: Remove configure tests that are not needed since 2009-12-31.
21340         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21341         gl_cv_header_working_inttypes_h.
21342
21343 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21344
21345         * modules/strnlen (Depends-on): Remove memchr.
21346         The strnlen implementation doesn't need the memchr module's fixes; see
21347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21348
21349         strtol: remove dependency on wchar
21350         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21351         * modules/strtol (Depends-on): Remove wchar.
21352
21353 2011-04-21  Eric Blake  <eblake@redhat.com>
21354
21355         passfd: fix test regression on Linux
21356         * modules/passfd-tests (configure.ac): Correct socketpair check.
21357
21358         passfd: speed up configure and drop unused code
21359         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21360         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21361         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21362         Instead of probing at configure for unix_scm_rights_bsd44_way,
21363         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21364         check to a struct member probe.
21365         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21366         (sendfd, recvfd): Update preprocessor checks.
21367         * modules/passfd (Files): Reflect rename, and drop unused file.
21368         (Depends-on): Drop unused dependency.
21369
21370         passfd: allow compilation on mingw
21371         * modules/sys_socket (Depends-on): Add sys_uio.
21372         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21373         iovec and a minimal struct msghdr.
21374         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21375         * tests/test-sys_socket.c (main): Enhance test.
21376         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21377         guaranteed to provide what we need.
21378         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21379         * modules/passfd-tests (Depends-on): Add sys_wait.
21380         * tests/test-passfd.c (main): Skip test on mingw, for now.
21381         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21382         partial 'struct msghdr' implementation.
21383
21384         sys_uio: new module
21385         * modules/sys_uio: New module.
21386         * modules/sys_uio-tests: Likewise.
21387         * lib/sys_uio.in.h: New file.
21388         * m4/sys_uio_h.m4: Likewise.
21389         * tests/test-sys_uio.c: Likewise.
21390         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21391         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21392
21393 2011-04-20  Jim Meyering  <meyering@redhat.com>
21394
21395         useless-if-before-free: avoid false-positive
21396         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21397         disjunct so that it too requires a terminating ";".  Without that,
21398         this script would identify as useless one statement from gcc that
21399         was not:
21400           if (aligned_ptr)
21401             free (((void **) aligned_ptr) [-1]);
21402
21403 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21404
21405         doc: update users.txt.
21406         * users.txt: Add barcode.
21407
21408 2011-04-19  Bruno Haible  <bruno@clisp.org>
21409
21410         ioctl: Remove link dependency on native Windows.
21411         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21412         (gl_close_fn, gl_ioctl_fn): New types.
21413         (struct fd_hook): Renamed from struct close_hook. Change type of
21414         private_close_fn field. Add private_ioctl_fn field.
21415         (close_hook_fn): Add parameter for primary close method.
21416         (execute_close_hooks, execute_all_close_hooks): Likewise.
21417         (ioctl_hook_fn): New type.
21418         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21419         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21420         argument.
21421         (unregister_fd_hook): Renamed from unregister_close_hook.
21422         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21423         Don't include <unistd.h>.
21424         (close): Remove undef.
21425         (anchor): Update.
21426         (execute_close_hooks): Add argument for primary close method.
21427         (execute_all_close_hooks): Likewise.
21428         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21429         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21430         argument. Allow each argument to be NULL.
21431         (unregister_fd_hook): Renamed from unregister_close_hook.
21432         * lib/close.c (rpl_close): Pass 'close' function pointer to
21433         execute_all_close_hooks.
21434         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21435         (primary_ioctl): New function.
21436         (ioctl): Don't call ioctlsocket here. Instead, call
21437         execute_all_ioctl_hooks.
21438         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21439         close method.
21440         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21441         (fd_sockets_hook): Renamed from close_sockets_hook.
21442         (gl_sockets_startup, gl_sockets_cleanup): Update.
21443         * modules/fd-hook: Renamed from modules/close-hook. Update.
21444         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21445         * modules/sockets (Depends-on): Likewise.
21446         * modules/ioctl (Depends-on): Add fd-hook.
21447         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21448         GNULIB_SOCKET.
21449
21450 2011-04-19  Bruno Haible  <bruno@clisp.org>
21451
21452         Move the support of O_NONBLOCK in open() to the 'open' module.
21453         * modules/nonblocking (Depends-on): Remove 'open'.
21454         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21455         gl_cv_have_open_O_NONBLOCK.
21456         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21457         O_NONBLOCK support.
21458         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21459
21460 2011-04-17  Bruno Haible  <bruno@clisp.org>
21461
21462         pipe2: Simplify code.
21463         * lib/pipe2.c (pipe2): Reduce code duplication.
21464
21465 2011-04-17  Bruno Haible  <bruno@clisp.org>
21466
21467         nonblocking: Add comment.
21468         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21469
21470 2011-04-17  Bruno Haible  <bruno@clisp.org>
21471
21472         nonblocking: Add tests for sockets.
21473         * tests/test-nonblocking-socket.sh: New file.
21474         * tests/test-nonblocking-socket-main.c: New file.
21475         * tests/test-nonblocking-socket-child.c: New file.
21476         * tests/test-nonblocking-socket.h: New file.
21477         * tests/socket-server.h: New file.
21478         * tests/socket-client.h: New file.
21479         * modules/nonblocking-socket-tests: New file.
21480         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21481
21482 2011-04-17  Bruno Haible  <bruno@clisp.org>
21483
21484         nonblocking: Add tests for pipes.
21485         * tests/test-nonblocking-pipe.sh: New file.
21486         * tests/test-nonblocking-pipe-main.c: New file.
21487         * tests/test-nonblocking-pipe-child.c: New file.
21488         * tests/test-nonblocking-pipe.h: New file.
21489         * tests/test-nonblocking-writer.h: New file.
21490         * tests/test-nonblocking-reader.h: New file.
21491         * tests/test-nonblocking-misc.h: New file.
21492         * modules/nonblocking-pipe-tests: New file.
21493         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21494
21495 2011-04-16  Bruno Haible  <bruno@clisp.org>
21496
21497         gettext: Clarify the needed programmer actions.
21498         * modules/gettext (Notice): New field.
21499         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21500
21501 2011-04-16  Bruno Haible  <bruno@clisp.org>
21502
21503         strchrnul: Tweak last commit.
21504         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21505         bug.
21506         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21507         as in _GL_FUNCDECL_SYS.
21508         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21509         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21510
21511 2011-04-15  Eric Blake  <eblake@redhat.com>
21512
21513         strchrnul: work around cygwin bug
21514         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21515         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21517         * modules/string (Makefile.am): Substitute it.
21518         * lib/string.in.h (strchrnul): Use it.
21519
21520 2011-04-15  Bruno Haible  <bruno@clisp.org>
21521
21522         Don't require lib/stdio-write.c when only module 'stdio' is used.
21523         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21524         invocation.
21525         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21526
21527 2011-04-14  Bruno Haible  <bruno@clisp.org>
21528
21529         Support non-blocking pipe I/O in read() on native Windows.
21530         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21531         (read): New declaration.
21532         * lib/read.c: New file.
21533         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21534         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21535         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21536         vscanf): New declarations.
21537         * lib/stdio-read.c: New file.
21538         * m4/read.m4: New file.
21539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21540         REPLACE_READ.
21541         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21542         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21543         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21544         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21545         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21546         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21547         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21548         * modules/read: New file.
21549         * modules/nonblocking (Files): Add lib/stdio-read.c.
21550         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21551         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21552         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21553         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21554         * modules/pread (Depends-on): Add read.
21555         * modules/safe-read (Depends-on): Likewise.
21556         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21557         gets, scanf, vfscanf, vscanf): Verify signatures.
21558         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21559         problem with non-blocking pipes.
21560         * doc/posix-functions/fgetc.texi: Likewise.
21561         * doc/posix-functions/fgets.texi: Likewise.
21562         * doc/posix-functions/fread.texi: Likewise.
21563         * doc/posix-functions/fscanf.texi: Likewise.
21564         * doc/posix-functions/getc.texi: Likewise.
21565         * doc/posix-functions/getchar.texi: Likewise.
21566         * doc/posix-functions/gets.texi: Likewise.
21567         * doc/posix-functions/scanf.texi: Likewise.
21568         * doc/posix-functions/vfscanf.texi: Likewise.
21569         * doc/posix-functions/vscanf.texi: Likewise.
21570
21571 2011-04-14  Bruno Haible  <bruno@clisp.org>
21572
21573         Support non-blocking pipe I/O in write() on native Windows.
21574         * lib/write.c (rpl_write): Split a write request that failed merely
21575         because the byte count was larger than the pipe buffer's size.
21576         * doc/posix-functions/write.texi: Mention the problem with large byte
21577         counts.
21578
21579 2011-04-14  Bruno Haible  <bruno@clisp.org>
21580
21581         wchar: Ensure that wchar_t gets defined on uClibc.
21582         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21583         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21584
21585 2011-04-13  Bruno Haible  <bruno@clisp.org>
21586
21587         safe-write, full-read: Avoid unnecessary compilation units.
21588         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21589         (Depends-on): Remove safe-read. Add ssize_t.
21590         * modules/full-read (Files): Add lib/full-write.c.
21591         (Depends-on): Add full-write.
21592
21593 2011-04-13  Bruno Haible  <bruno@clisp.org>
21594
21595         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21596         * modules/pwrite (Depends-on): Add 'write'.
21597
21598 2011-04-13  Bruno Haible  <bruno@clisp.org>
21599
21600         Support non-blocking pipe I/O in write() on native Windows.
21601         * lib/unistd.in.h (write): Enable replacement also if
21602         GNULIB_UNISTD_H_NONBLOCKING is 1.
21603         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21604         (rpl_write): When failing to write on a non-blocking pipe, change
21605         errno from ENOSPC to EAGAIN.
21606         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21607         putchar, puts, vfprintf, vprintf): Enable replacement also if
21608         GNULIB_STDIO_H_NONBLOCKING is 1.
21609         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21610         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21611         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21612         CALL_WITH_SIGPIPE_EMULATION.
21613         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21614         * m4/nonblocking.m4: New file.
21615         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21616         for non-blocking I/O support.
21617         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21618         GNULIB_UNISTD_H_NONBLOCKING.
21619         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21620         required for non-blocking I/O support.
21621         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21622         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21623         lib/stdio-write.c, m4/asm-underscore.m4.
21624         (Depends-on): Add stdio, unistd.
21625         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21626         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21627         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21628         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21629         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21630         problem with non-blocking pipes.
21631         * doc/posix-functions/fputc.texi: Likewise.
21632         * doc/posix-functions/fputs.texi: Likewise.
21633         * doc/posix-functions/fwrite.texi: Likewise.
21634         * doc/posix-functions/printf.texi: Likewise.
21635         * doc/posix-functions/putc.texi: Likewise.
21636         * doc/posix-functions/putchar.texi: Likewise.
21637         * doc/posix-functions/puts.texi: Likewise.
21638         * doc/posix-functions/vfprintf.texi: Likewise.
21639         * doc/posix-functions/vprintf.texi: Likewise.
21640         * doc/posix-functions/write.texi: Likewise.
21641
21642 2011-04-10  Jim Meyering  <meyering@redhat.com>
21643
21644         maint.mk: prohibit doubled words
21645         Detect them also when they're separated by a newline.
21646         There are 3 ways to customize it:
21647           - disable the test on a per file basis, as usual with rules using
21648             $(VC_LIST_EXCEPT)
21649           - replace the default doubled-word-selecting regexp (affects all files)
21650           - ignore a particular file-vs-doubled-word match
21651         I nearly used that last one to ignore the "is is" match in
21652         coreutils' NEWS file, since the text was "ls -is is ..."
21653         To do that, I would have added this line to cfg.mk:
21654           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21655         but it would have ignored any "is is" match in NEWS.
21656         Low probability, but still...
21657         Instead, I changed the text, slightly:
21658           -  ls -is is now consistent with ls -lis in ignoring values returned
21659           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21660         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21661         (prohibit_doubled_word_): Define.
21662         (sc_prohibit_doubled_word): New rule.
21663         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21664
21665 2011-04-10  Jim Meyering  <meyering@redhat.com>
21666
21667         maint: fix doubled-word typo in comment
21668         * m4/gethostname.m4: s/is is/it is/
21669         * m4/getdomainname.m4: Likewise.
21670
21671 2011-04-10  Jim Meyering  <meyering@redhat.com>
21672
21673         maint: remove doubled word: s/it it/it/
21674         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21675
21676 2011-04-10  Jim Meyering  <meyering@redhat.com>
21677
21678         maint.mk: remove useless semicolon and backslash
21679         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21680         semicolon and backslash.
21681
21682 2011-04-10  Bruno Haible  <bruno@clisp.org>
21683
21684         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21685         * modules/stdint-tests (Depends-on): Add wchar.
21686
21687 2011-04-10  Jim Meyering  <meyering@redhat.com>
21688
21689         maint: remove doubled words in comments, e.g., s/a a/a/
21690         * lib/strptime.c (day_of_the_week): s/the the/the/
21691         * tests/test-chown.h (test_chown): s/a a/a/
21692
21693         test-chown.h: correct a cast
21694         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21695         when the destination is a stat.st_gid.
21696
21697 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21698
21699         getaddrinfo: Fix test for sa_len member.
21700         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21701         include <sys/types.h> before <sys/socket.h>.
21702
21703 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21704
21705         maint: change "can not" to "cannot"
21706         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21707         boundaries.
21708
21709 2011-04-09  Jim Meyering  <meyering@redhat.com>
21710
21711         maint: change "a a" to "a"
21712         * tests/test-lchown.h (test_lchown): s/a a/a/
21713
21714         maint.mk: prohibit \<the the\>
21715         * top/maint.mk (sc_prohibit_the_the): New rule.
21716
21717         maint: fix "the the" in comment
21718         * lib/count-one-bits.h: s/the the/the/
21719
21720         maint: change "can not" to "cannot"
21721         But do not change the occurrences in maintain.texi or in
21722         build-aux/po/Makefile.in.in, which I presume comes from gettext.
21723         * doc/gnulib-tool.texi: s/can not/cannot/
21724         * doc/posix-functions/accept.texi (accept): Likewise.
21725         * doc/posix-functions/socket.texi (socket): Likewise.
21726         * lib/mbrtowc.c: Likewise.
21727
21728         maint.mk: prohibit use of "can not"
21729         * top/maint.mk (sc_prohibit_can_not): New rule.
21730         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
21731
21732 2011-04-09  Bruno Haible  <bruno@clisp.org>
21733
21734         careadlinkat: Guard against misuse of careadlinkatcwd.
21735         * lib/careadlinkat.c: Include <stdlib.h>.
21736         (careadlinkatcwd): Check that the fd argument is as expected.
21737
21738 2011-04-09  Bruno Haible  <bruno@clisp.org>
21739
21740         careadlinkat: Use common coding style.
21741         * lib/careadlinkat.c: Move gnulib includes after system includes.
21742
21743 2011-04-09  Bruno Haible  <bruno@clisp.org>
21744
21745         careadlinkat: Clarify specification.
21746         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
21747         (careadlinkatcwd): Add comment.
21748         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
21749
21750 2011-04-09  Bruno Haible  <bruno@clisp.org>
21751
21752         areadlinkat: Avoid link error on many platforms.
21753         * modules/areadlinkat (Depends-on): Add areadlink.
21754
21755 2011-04-09  Bruno Haible  <bruno@clisp.org>
21756
21757         allocator, careadlinkat: Fix double-inclusion guard.
21758         * lib/allocator.h: Fix double-inclusion guard.
21759         * lib/careadlinkat.h: Likewise.
21760
21761 2011-04-09  Bruno Haible  <bruno@clisp.org>
21762
21763         relocatable-prog-wrapper: Update after module 'areadlink' changed.
21764         * lib/relocwrapper.c: Update dependencies hierarchy.
21765         * build-aux/install-reloc: Update list of files to be compiled.
21766         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
21767         lib/allocator.[hc].
21768
21769 2011-04-08  Eric Blake  <eblake@redhat.com>
21770
21771         strftime: silence gnulib-tool warning
21772         * modules/strftime-tests (Depends-on): Drop automatic dependency.
21773
21774 2011-04-08  Bruno Haible  <bruno@clisp.org>
21775
21776         verify: Fix syntax error with GCC 4.6 in C++ mode.
21777         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
21778         (HAVE_STATIC_ASSERT): New macro.
21779         (verify_true, verify): Use 'static_assert' if it is supported and
21780         '_Static_assert' is not supported.
21781
21782 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
21783
21784         allocator: New module.
21785         * modules/allocator, lib/allocator.c: New files.
21786         * lib/allocator.h (stdlib_allocator): New decl.
21787         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
21788         Remove.  Do not include <stdlib.h>.
21789         (careadlinkat): Use stdlib_allocator instead of rolling our own.
21790         * modules/careadlinkat (Files): Remove lib/allocator.h.
21791         (Depends-on): Add allocator.
21792
21793         stdlib: let modules use system malloc, realloc
21794         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
21795         if !_GL_USE_STDLIB_ALLOC.
21796         (malloc, realloc): Limit this change to a smaller scope.
21797
21798         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
21799         (malloc, realloc): Don't #undef; no longer needed.
21800         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21801         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21802         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21803         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21804         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21805         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21806         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21807         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21808
21809         careadlinkat: rename members to avoid problem
21810         * lib/allocator.h (struct allocator): Rename members from
21811         malloc/realloc to allocate/reallocate, to avoid problems if malloc
21812         and realloc are #define'd.  Reported by Eric Blake in
21813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
21814         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
21815
21816 2011-04-08  Eric Blake  <eblake@redhat.com>
21817
21818         nonblocking: reduce dependency
21819         * tests/test-nonblocking.c: Only test sockets when in use.
21820         * modules/nonblocking-tests (Depends-on): Drop socket.
21821         (Makefile.am): Link even if sockets are not present.
21822         * modules/pipe2-tests (Makefile.am): Likewise.
21823         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
21824
21825         pipe2: fix O_NONBLOCK support on mingw
21826         * modules/pipe2 (Depends-on): Add nonblocking.
21827         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
21828         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
21829         * tests/test-nonblocking.c (main): Likewise.
21830         * modules/pipe2-tests (Makefile.am): Avoid link failure.
21831
21832         fcntl-h: fix O_ACCMODE on cygwin
21833         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
21834         * lib/fcntl.in.h (O_ACCMODE): Fix it.
21835
21836         pipe-filter: drop O_NONBLOCK workarounds
21837         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
21838         * modules/pipe-filter-ii (Depends-on): Likewise.
21839         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
21840
21841         nonblocking: provide O_NONBLOCK for mingw
21842         * modules/nonblocking (Depends-on): Add open.
21843         (configure.ac): Set new witness macro.
21844         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
21845         * modules/fcntl-h (Makefile.am): Substitute it.
21846         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
21847         nonblocking module is in use.
21848         * lib/nonblocking.c: Adjust portability test.
21849         * lib/open.c (open): Don't let native open see gnulib flag.
21850         * tests/test-fcntl-h.c (main): Enhance test.
21851         * tests/test-open.h (test_open): Likewise.
21852         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
21853
21854         careadlinkat: fix compilation error on mingw
21855         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
21856         within struct allocator.
21857
21858 2011-04-06  Eric Blake  <eblake@redhat.com>
21859
21860         binary-io: relicense under LGPLv2+
21861         * modules/binary-io (License): Relax to LGPLv2+.
21862         Requested for libvirt, and required by pipe2.
21863
21864 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
21865
21866         verify: use _Static_assert if available
21867         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
21868         (verify_true, verify): Use it if available.  This generates better
21869         diagnostics with GCC 4.6.0 and later.
21870
21871 2011-04-05  Bruno Haible  <bruno@clisp.org>
21872
21873         Remove leftover generated .h files after config.status changed.
21874
21875         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21876         GL_GENERATE_ALLOCA_H.
21877         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21878         GL_GENERATE_ALLOCA_H evaluates to false.
21879
21880         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21881         GL_GENERATE_ARGZ_H.
21882         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21883         evaluates to false.
21884
21885         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
21886         GL_GENERATE_BYTESWAP_H.
21887         * modules/byteswap (Makefile.am): Remove byteswap.h if
21888         GL_GENERATE_BYTESWAP_H evaluates to false.
21889
21890         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
21891         GL_GENERATE_ERRNO_H.
21892         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
21893         evaluates to false.
21894
21895         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
21896         GL_GENERATE_FLOAT_H.
21897         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
21898         evaluates to false.
21899
21900         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
21901         GL_GENERATE_FNMATCH_H.
21902         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
21903         GL_GENERATE_FNMATCH_H evaluates to false.
21904
21905         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
21906         GL_GENERATE_GLOB_H.
21907         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
21908         evaluates to false.
21909
21910         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
21911         automake conditional GL_GENERATE_ICONV_H.
21912         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
21913         evaluates to false.
21914
21915         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
21916         GL_GENERATE_NETINET_IN_H.
21917         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
21918         GL_GENERATE_NETINET_IN_H evaluates to false.
21919
21920         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
21921         conditional GL_GENERATE_PTHREAD_H.
21922         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
21923         * modules/pthread (Makefile.am): Remove pthread.h if
21924         GL_GENERATE_PTHREAD_H evaluates to false.
21925
21926         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
21927         GL_GENERATE_SCHED_H.
21928         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
21929         evaluates to false.
21930
21931         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
21932         conditional GL_GENERATE_SELINUX_CONTEXT_H.
21933         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
21934         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
21935
21936         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
21937         GL_GENERATE_STDARG_H.
21938         * modules/stdarg (Makefile.am): Remove stdarg.h if
21939         GL_GENERATE_STDARG_H evaluates to false.
21940
21941         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
21942         GL_GENERATE_STDBOOL_H.
21943         * modules/stdbool (Makefile.am): Remove stdbool.h if
21944         GL_GENERATE_STDBOOL_H evaluates to false.
21945
21946         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
21947         conditional GL_GENERATE_STDDEF_H.
21948         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
21949         * modules/stddef (Makefile.am): Remove stddef.h if
21950         GL_GENERATE_STDDEF_H evaluates to false.
21951
21952         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
21953         GL_GENERATE_STDINT_H.
21954         * modules/stdint (Makefile.am): Remove stdint.h if
21955         GL_GENERATE_STDINT_H evaluates to false.
21956
21957         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
21958         GL_GENERATE_SYSEXITS_H.
21959         * modules/sysexits (Makefile.am): Remove sysexits.h if
21960         GL_GENERATE_SYSEXITS_H evaluates to false.
21961
21962         Reported by Karl Berry and Ralf Wildenhues.
21963
21964 2011-04-05  Bruno Haible  <bruno@clisp.org>
21965
21966         Ensure to rebuild generated .h files when config.status has changed.
21967         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
21968         config.status.
21969         * modules/ctype (Makefile.am): Likewise.
21970         * modules/dirent (Makefile.am): Likewise.
21971         * modules/errno (Makefile.am): Likewise.
21972         * modules/fcntl-h (Makefile.am): Likewise.
21973         * modules/float (Makefile.am): Likewise.
21974         * modules/getopt-posix (Makefile.am): Likewise.
21975         * modules/glob (Makefile.am): Likewise.
21976         * modules/iconv-h (Makefile.am): Likewise.
21977         * modules/inttypes (Makefile.am): Likewise.
21978         * modules/langinfo (Makefile.am): Likewise.
21979         * modules/locale (Makefile.am): Likewise.
21980         * modules/math (Makefile.am): Likewise.
21981         * modules/netdb (Makefile.am): Likewise.
21982         * modules/netinet_in (Makefile.am): Likewise.
21983         * modules/poll-h (Makefile.am): Likewise.
21984         * modules/pthread (Makefile.am): Likewise.
21985         * modules/pty (Makefile.am): Likewise.
21986         * modules/sched (Makefile.am): Likewise.
21987         * modules/search (Makefile.am): Likewise.
21988         * modules/selinux-h (Makefile.am): Likewise.
21989         * modules/signal (Makefile.am): Likewise.
21990         * modules/spawn (Makefile.am): Likewise.
21991         * modules/stdarg (Makefile.am): Likewise.
21992         * modules/stdbool (Makefile.am): Likewise.
21993         * modules/stddef (Makefile.am): Likewise.
21994         * modules/stdint (Makefile.am): Likewise.
21995         * modules/stdio (Makefile.am): Likewise.
21996         * modules/stdlib (Makefile.am): Likewise.
21997         * modules/string (Makefile.am): Likewise.
21998         * modules/strings (Makefile.am): Likewise.
21999         * modules/sys_file (Makefile.am): Likewise.
22000         * modules/sys_ioctl (Makefile.am): Likewise.
22001         * modules/sys_select (Makefile.am): Likewise.
22002         * modules/sys_socket (Makefile.am): Likewise.
22003         * modules/sys_stat (Makefile.am): Likewise.
22004         * modules/sys_time (Makefile.am): Likewise.
22005         * modules/sys_times (Makefile.am): Likewise.
22006         * modules/sys_utsname (Makefile.am): Likewise.
22007         * modules/sys_wait (Makefile.am): Likewise.
22008         * modules/sysexits (Makefile.am): Likewise.
22009         * modules/termios (Makefile.am): Likewise.
22010         * modules/time (Makefile.am): Likewise.
22011         * modules/unistd (Makefile.am): Likewise.
22012         * modules/wchar (Makefile.am): Likewise.
22013         * modules/wctype-h (Makefile.am): Likewise.
22014         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22015
22016 2011-04-05  Bruno Haible  <bruno@clisp.org>
22017
22018         pipe2: Relicense under LGPLv2+.
22019         * modules/pipe2 (License): Change to LGPLv2+.
22020         Requested by Eric Blake, for libvirt.
22021
22022 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22023
22024         bootstrap: compute gnulib_extra_files after updating build_aux
22025         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22026         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22027
22028 2011-04-05  Eric Blake  <eblake@redhat.com>
22029
22030         bootstrap: preserve git whitelist item sorting
22031         * build-aux/bootstrap (sort_patterns): New function.
22032         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22033
22034 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22035
22036         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22037         sc_space_tab check.
22038
22039 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22040
22041         areadlink, areadlinkat: rewrite in terms of careadlinkat
22042         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22043         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22044         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22045         (malloc, realloc): Remove #undefs.
22046         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22047         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22048         readlink, ssize_t, stdint, unistd.
22049         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22050         areadlink, stdint.
22051
22052         careadlinkat: new module
22053         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22054         * modules/careadlinkat: New files, written by me with
22055         a review and feedback from Ben Pfaff in
22056         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22057
22058 2011-04-01  Bruno Haible  <bruno@clisp.org>
22059
22060         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22061         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22062         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22063         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22064         Reported by Bruce Korb <bruce.korb@gmail.com>.
22065
22066 2011-04-01  Bruno Haible  <bruno@clisp.org>
22067
22068         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22069         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22070         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22071         * modules/wcpcpy (Depends-on): Add extensions.
22072         * modules/wcpncpy (Depends-on): Likewise.
22073         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22074         systems.
22075         * doc/posix-functions/wcpncpy.texi: Likewise.
22076         * doc/posix-functions/wcwidth.texi: Likewise.
22077
22078 2011-03-31  Eric Blake  <eblake@redhat.com>
22079
22080         nonblocking: fix mingw test failures
22081         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22082         non-blocking flag on regular file.
22083         (get_nonblocking_flag): Set errno on invalid fd.
22084         * tests/test-nonblocking.c (main): Avoid test failure on
22085         directories if fchdir is not active.
22086         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22087
22088 2011-03-31  Bruno Haible  <bruno@clisp.org>
22089
22090         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22091         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22092         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22093         Reported by Simon Josefsson <simon@josefsson.org>.
22094
22095 2011-03-31  Bruno Haible  <bruno@clisp.org>
22096         and Eric Blake  <eblake@redhat.com>
22097
22098         nonblocking: new module
22099         * modules/nonblocking: New module.
22100         * modules/nonblocking-tests: Likewise.
22101         * lib/nonblocking.h: New file.
22102         * lib/nonblocking.c: Likewise.
22103         * tests/test-nonblocking.c: New test.
22104         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22105
22106 2011-03-30  Bruno Haible  <bruno@clisp.org>
22107
22108         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22109         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22110         instead of 'printf' format for GCC >= 4.4.
22111         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22112         (fprintf, printf, vfprintf, vprintf): Declare with
22113         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22114         the system's vfprintf() function.
22115         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22116
22117 2011-03-30  Eric Blake  <eblake@redhat.com>
22118
22119         passfd: fix scoping bug
22120         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22121         before sendmsg/recvmsg.
22122
22123         passfd: standardize coding conventions
22124         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22125         can be learned at compile time.
22126         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22127         ifdefs.
22128         (sendfd, recvfd): Follow gnulib code conventions.
22129
22130         passfd: fix incorrect sendmsg arguments
22131         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22132         incorrect msg_controllen value.
22133         * modules/passfd-tests (Depends-on): Check for alarm.
22134         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22135         Reported by Bastien ROUCARIES.
22136
22137 2011-03-30  Bruno Haible  <bruno@clisp.org>
22138
22139         c-strcasestr: Relicense under LGPLv2+.
22140         * modules/c-strcasestr (License): Change to LGPLv2+.
22141         Requested by Eric Blake, for libvirt.
22142
22143 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22144
22145         * users.txt: Add libidn2.  Fix libtasn1 link.
22146
22147 2011-03-30  Jim Meyering  <meyering@redhat.com>
22148
22149         tests: readlink* ("",... fails with EINVAL on newer kernels
22150         readlink and readlinkat have typically failed with ENOENT for
22151         the invalid, empty file name,  "".  However, with the advent
22152         of linux-2.6.39, they fail with EINVAL.
22153         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22154         when operating on the empty file name.
22155         * tests/test-readlink.h (test_readlink): Likewise.
22156
22157 2011-03-29  Bruno Haible  <bruno@clisp.org>
22158
22159         Relicense some modules under LGPLv2+, for libidn2.
22160         * modules/array-mergesort (License): Change to LGPLv2+.
22161         * modules/c-strcaseeq (License): Likewise.
22162         * modules/striconveh (License): Likewise.
22163         * modules/striconveha (License): Likewise.
22164         * modules/uniconv/base (License): Likewise.
22165         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22166         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22167         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22168         * modules/unictype/base (License): Likewise.
22169         * modules/unictype/bidiclass-of (License): Likewise.
22170         * modules/unictype/category-M (License): Likewise.
22171         * modules/unictype/category-none (License): Likewise.
22172         * modules/unictype/category-of (License): Likewise.
22173         * modules/unictype/category-test (License): Likewise.
22174         * modules/unictype/category-test-withtable (License): Likewise.
22175         * modules/unictype/combining-class (License): Likewise.
22176         * modules/unictype/joiningtype-of (License): Likewise.
22177         * modules/unictype/scripts (License): Likewise.
22178         * modules/uninorm/base (License): Likewise.
22179         * modules/uninorm/canonical-decomposition (License): Likewise.
22180         * modules/uninorm/composition (License): Likewise.
22181         * modules/uninorm/decompose-internal (License): Likewise.
22182         * modules/uninorm/decomposition-table (License): Likewise.
22183         * modules/uninorm/nfc (License): Likewise.
22184         * modules/uninorm/nfd (License): Likewise.
22185         * modules/uninorm/u32-normalize (License): Likewise.
22186         * modules/unistr/base (License): Likewise.
22187         * modules/unistr/u32-cpy (License): Likewise.
22188         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22189         * modules/unistr/u32-to-u8 (License): Likewise.
22190         * modules/unistr/u32-uctomb (License): Likewise.
22191         * modules/unistr/u8-check (License): Likewise.
22192         * modules/unistr/u8-mblen (License): Likewise.
22193         * modules/unistr/u8-mbtouc (License): Likewise.
22194         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22195         * modules/unistr/u8-mbtoucr (License): Likewise.
22196         * modules/unistr/u8-prev (License): Likewise.
22197         * modules/unistr/u8-strlen (License): Likewise.
22198         * modules/unistr/u8-to-u32 (License): Likewise.
22199         * modules/unistr/u8-uctomb (License): Likewise.
22200         * modules/unitypes (License): Likewise.
22201         Requested by Simon Josefsson.
22202
22203 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22204
22205         lib-symbol-visibility: Add a notice.
22206         * modules/lib-symbol-visibility (Notice): New field.
22207
22208 2011-03-29  Bruno Haible  <bruno@clisp.org>
22209
22210         getaddrinfo: Doc fix.
22211         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22212         section "fixed in Gnulib".
22213
22214 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22215
22216         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22217         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22218
22219 2011-03-26  Bruno Haible  <bruno@clisp.org>
22220
22221         unictype/property-byname: Reduce the number of load-time relocations.
22222         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22223         (UC_PROPERTY_INDEX_*): New enumeration values.
22224         (uc_property_byname): Convert an index from the lookup table to an
22225         uc_property_t.
22226         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22227         values.
22228
22229 2011-03-26  Bruno Haible  <bruno@clisp.org>
22230
22231         unictype/property-byname: Allow omitted word separators and aliases.
22232         * lib/unictype/pr_byname.gperf: Add property names without word
22233         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22234         for 'space'.
22235
22236 2011-03-26  Bruno Haible  <bruno@clisp.org>
22237
22238         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22239         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22240         also hyphens to space.
22241         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22242         without spaces.
22243         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22244
22245 2011-03-26  Bruno Haible  <bruno@clisp.org>
22246
22247         unictype/joiningtype-byname: Recognize long names as well.
22248         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22249         a long name.
22250         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22251         unictype/joiningtype_byname.h.
22252         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22253         * lib/unictype/joiningtype_byname.gperf: New file.
22254         * modules/unictype/joiningtype-byname (Files): Add
22255         lib/unictype/joiningtype_byname.gperf.
22256         (Depends-on): Add gperf.
22257         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22258         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22259         long names.
22260
22261         Tests for module 'unictype/joiningtype-longname'.
22262         * modules/unictype/joiningtype-longname-tests: New file.
22263         * tests/unictype/test-joiningtype_longname.c: New file.
22264
22265         New module 'unictype/joiningtype-longname'.
22266         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22267         * lib/unictype/joiningtype_longname.c: New file.
22268         * modules/unictype/joiningtype-longname: New file.
22269         * modules/unictype/joiningtype-all (Depends-on): Add
22270         unictype/joiningtype-longname.
22271
22272 2011-03-26  Bruno Haible  <bruno@clisp.org>
22273
22274         unictype/bidiclass-byname: Recognize long names as well.
22275         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22276         name.
22277         * lib/unictype/bidi_byname.c: Include <string.h>,
22278         unictype/bidi_byname.h.
22279         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22280         * lib/unictype/bidi_byname.gperf: New file.
22281         * modules/unictype/bidiclass-byname (Files): Add
22282         lib/unictype/bidi_byname.gperf.
22283         (Depends-on): Add gperf.
22284         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22285         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22286         long names.
22287
22288         Tests for module 'unictype/bidiclass-longname'.
22289         * modules/unictype/bidiclass-longname-tests: New file.
22290         * tests/unictype/test-bidi_longname.c: New file.
22291
22292         New module 'unictype/bidiclass-longname'.
22293         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22294         * lib/unictype/bidi_longname.c: New file.
22295         * modules/unictype/bidiclass-longname: New file.
22296         * modules/unictype/bidiclass-all (Depends-on): Add
22297         unictype/bidiclass-longname.
22298
22299 2011-03-26  Bruno Haible  <bruno@clisp.org>
22300
22301         unictype/bidi*: Rename modules.
22302         * modules/unictype/bidiclass-all: Renamed from
22303         modules/unictype/bidicategory-all.
22304         * modules/unictype/bidiclass-name: Renamed from
22305         modules/unictype/bidiclass-name.
22306         (Description): Update.
22307         * modules/unictype/bidiclass-name-tests: Renamed from
22308         modules/unictype/bidicategory-name-tests.
22309         * modules/unictype/bidiclass-byname: Renamed from
22310         modules/unictype/bidicategory-byname.
22311         (Description): Update.
22312         * modules/unictype/bidiclass-byname-tests: Renamed from
22313         modules/unictype/bidicategory-byname-tests.
22314         * modules/unictype/bidiclass-of: Renamed from
22315         modules/unictype/bidicategory-of.
22316         (Description): Update.
22317         * modules/unictype/bidiclass-of-tests: Renamed from
22318         modules/unictype/bidicategory-of-tests.
22319         * modules/unictype/bidiclass-test: Renamed from
22320         modules/unictype/bidicategory-test.
22321         (Description): Update.
22322         * modules/unictype/bidiclass-test-tests: Renamed from
22323         modules/unictype/bidicategory-test-tests.
22324         * modules/unictype/bidicategory-all: New file, a simple redirection.
22325         * modules/unictype/bidicategory-name: Likewise.
22326         * modules/unictype/bidicategory-byname: Likewise.
22327         * modules/unictype/bidicategory-of: Likewise.
22328         * modules/unictype/bidicategory-test: Likewise.
22329         * modules/unictype/property-bidi-* (Dependencies): Update.
22330         * lib/unictype/bidi_*.c: Update comment.
22331
22332 2011-03-26  Bruno Haible  <bruno@clisp.org>
22333
22334         unictype/bidi*: Rename functions, part 2.
22335         * modules/unictype/bidicategory-name (configure.ac): Update required
22336         libunistring version.
22337         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22338
22339 2011-03-25  Bruno Haible  <bruno@clisp.org>
22340
22341         New module 'unictype/combining-class-all'.
22342         * modules/unictype/combining-class-all: New file.
22343
22344         Tests for module 'unictype/combining-class-byname'.
22345         * modules/unictype/combining-class-byname-tests: New file.
22346         * tests/unictype/test-combiningclass_byname.c: New file.
22347
22348         New module 'unictype/combining-class-byname'.
22349         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22350         * lib/unictype/combiningclass_byname.c: New file.
22351         * lib/unictype/combiningclass_byname.gperf: New file.
22352         * modules/unictype/combining-class-byname: New file.
22353
22354         Tests for module 'unictype/combining-class-longname'.
22355         * modules/unictype/combining-class-longname-tests: New file.
22356         * tests/unictype/test-combiningclass_longname.c: New file.
22357
22358         New module 'unictype/combining-class-longname'.
22359         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22360         * lib/unictype/combiningclass_longname.c: New file.
22361         * modules/unictype/combining-class-longname: New file.
22362
22363         Tests for module 'unictype/combining-class-name'.
22364         * modules/unictype/combining-class-name-tests: New file.
22365         * tests/unictype/test-combiningclass_name.c: New file.
22366
22367         New module 'unictype/combining-class-name'.
22368         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22369         * lib/unictype/combiningclass_name.c: New file.
22370         * modules/unictype/combining-class-name: New file.
22371
22372 2011-03-25  Bruno Haible  <bruno@clisp.org>
22373
22374         unictype/combining-class: Rename source files.
22375         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22376         of unictype/combining.h.
22377         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22378         Update.
22379         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22380         * modules/unictype/combining-class (Description): Fix.
22381         (Files, Makefile.am): Update.
22382         * tests/unictype/test-combiningclass.c: Renamed from
22383         tests/unictype/test-combining.c.
22384         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22385
22386 2011-03-25  Bruno Haible  <bruno@clisp.org>
22387
22388         unictype: Update list of canonical combining classes.
22389         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22390
22391 2011-03-25  Bruno Haible  <bruno@clisp.org>
22392
22393         unictype/category-byname: Recognize long names as well.
22394         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22395         a long name.
22396         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22397         unictype/categ_byname.h.
22398         (UC_CATEGORY_INDEX_*): New enumeration values.
22399         (uc_general_category_byname): Use uc_general_category_lookup and
22400         convert from index to value.
22401         * lib/unictype/categ_byname.gperf: New file.
22402         * modules/unictype/category-byname (Files): Add
22403         lib/unictype/categ_byname.gperf.
22404         (Depends-on): Add gperf.
22405         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22406         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22407         long names.
22408
22409         Tests for module 'unictype/category-longname'.
22410         * modules/unictype/category-longname-tests: New file.
22411         * tests/unictype/test-categ_longname.c: New file.
22412
22413         New module 'unictype/category-longname'.
22414         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22415         * lib/unictype/categ_longname.c: New file.
22416         * modules/unictype/category-longname: New file.
22417         * modules/unictype/category-all (Depends-on): Add it.
22418
22419 2011-03-25  Bruno Haible  <bruno@clisp.org>
22420
22421         Tests for module 'unictype/category-LC'.
22422         * modules/unictype/category-LC-tests: New file.
22423         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22424
22425         New module 'unictype/category-LC'.
22426         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22427         (UC_CATEGORY_LC): New declaration.
22428         (UC_CASED_LETTER): New macro.
22429         * lib/gen-uni-tables.c (is_category_LC): New function.
22430         (output_categories): Also handle category LC.
22431         (UC_CATEGORY_MASK_LC): New enumeration value.
22432         (general_category_byname): Also handle category LC.
22433         * lib/unictype/categ_LC.c: New file.
22434         * lib/unictype/categ_LC.h: New file, automatically generated.
22435         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22436         category LC.
22437         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22438         * modules/unictype/category-LC: New file.
22439         * modules/unictype/category-byname (Depends-on): Add
22440         unictype/category-LC.
22441         * modules/unictype/category-all (Depends-on): Likewise.
22442
22443 2011-03-25  Eric Blake  <eblake@redhat.com>
22444
22445         xmalloc: revert yesterday's regression
22446         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22447         realloc's underlying behavior (allowing allocation of zero-size
22448         objects, especially if malloc-gnu is also in use).
22449
22450 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22451
22452         maint.mk: add missing version to VC-tag
22453         * top/maint.mk: git tag was missing actual tag name; add it.
22454
22455         valgrind: do leak checking, and exit with code 1 on error (not 0)
22456         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22457         to VALGRIND.
22458
22459 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22460
22461         posix-modules: say what it does.
22462         * posix-modules: Add a line to the --help output saying what it does.
22463
22464 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22465
22466         xmalloc: Do not leak if underlying realloc is C99 compatible.
22467         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22468         This avoids a leak on C99-based systems.  See
22469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22470
22471 2011-03-24  Eric Blake  <eblake@redhat.com>
22472
22473         realloc: document portability problem
22474         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22475         passing 0 size to realloc.
22476
22477 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22478
22479         doc: update users.txt
22480         * users.txt: Add cvsps, tmpwatch
22481
22482 2011-03-23  Matt Rice  <ratmice@gmail.com>
22483
22484         doc: update users.txt
22485         * users.txt: Add gdb.
22486
22487 2011-03-23  Jim Meyering  <meyering@redhat.com>
22488
22489         doc: update users.txt
22490         Looking through matches up to the following URL (there are still
22491         several more pages), I found several projects that use gnulib:
22492         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22493         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22494         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22495
22496 2011-03-22  Bruno Haible  <bruno@clisp.org>
22497
22498         unictype/bidi*: Rename functions.
22499         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22500         uc_bidi_class, uc_is_bidi_class): New declarations.
22501         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22502         uc_bidi_category_byname.
22503         (uc_bidi_category_byname): New function.
22504         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22505         u_bidi_category_name.
22506         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22507         (uc_bidi_category_name): New function.
22508         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22509         uc_bidi_category.
22510         (uc_bidi_category): New function.
22511         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22512         uc_is_bidi_category. Invoke uc_bidi_class.
22513         (uc_is_bidi_category): New function.
22514         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22515         instead of uc_bidi_category_byname.
22516         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22517         instead of uc_bidi_category_name.
22518         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22519         uc_bidi_category.
22520         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22521         instead of uc_is_bidi_category.
22522
22523 2011-03-21  Bruno Haible  <bruno@clisp.org>
22524
22525         New module 'unictype/joininggroup-all'.
22526         * modules/unictype/joininggroup-all: New file.
22527
22528         Tests for module 'unictype/joininggroup-of'.
22529         * modules/unictype/joininggroup-of-tests: New file.
22530         * tests/unictype/test-joininggroup_of.c: New file.
22531         * tests/unictype/test-joininggroup_of.h: New file, automatically
22532         generated by gen-uni-tables.
22533
22534         New module 'unictype/joininggroup-of'.
22535         * modules/unictype/joininggroup-of: New file.
22536         * lib/unictype/joininggroup_of.c: New file.
22537         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22538         gen-uni-tables.
22539
22540         Tests for module 'unictype/joininggroup-byname'.
22541         * modules/unictype/joininggroup-byname-tests: New file.
22542         * tests/unictype/test-joininggroup_byname.c: New file.
22543
22544         New module 'unictype/joininggroup-byname'.
22545         * modules/unictype/joininggroup-byname: New file.
22546         * lib/unictype/joininggroup_byname.c: New file.
22547         * lib/unictype/joininggroup_byname.gperf: New file.
22548
22549         Tests for module 'unictype/joininggroup-name'.
22550         * modules/unictype/joininggroup-name-tests: New file.
22551         * tests/unictype/test-joininggroup_name.c: New file.
22552
22553         New module 'unictype/joininggroup-name'.
22554         * modules/unictype/joininggroup-name: New file.
22555         * lib/unictype/joininggroup_name.c: New file.
22556         * lib/unictype/joininggroup_name.h: New file.
22557
22558         New module 'unictype/joiningtype-all'.
22559         * modules/unictype/joiningtype-all: New file.
22560
22561         Tests for module 'unictype/joiningtype-of'.
22562         * modules/unictype/joiningtype-of-tests: New file.
22563         * tests/unictype/test-joiningtype_of.c: New file.
22564         * tests/unictype/test-joiningtype_of.h: New file, automatically
22565         generated by gen-uni-tables.
22566
22567         New module 'unictype/joiningtype-of'.
22568         * modules/unictype/joiningtype-of: New file.
22569         * lib/unictype/joiningtype_of.c: New file.
22570         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22571         gen-uni-tables.
22572
22573         Tests for module 'unictype/joiningtype-byname'.
22574         * modules/unictype/joiningtype-byname-tests: New file.
22575         * tests/unictype/test-joiningtype_byname.c: New file.
22576
22577         New module 'unictype/joiningtype-byname'.
22578         * modules/unictype/joiningtype-byname: New file.
22579         * lib/unictype/joiningtype_byname.c: New file.
22580
22581         Tests for module 'unictype/joiningtype-name'.
22582         * modules/unictype/joiningtype-name-tests: New file.
22583         * tests/unictype/test-joiningtype_name.c: New file.
22584
22585         New module 'unictype/joiningtype-name'.
22586         * modules/unictype/joiningtype-name: New file.
22587         * lib/unictype/joiningtype_name.c: New file.
22588
22589         unictype: Add support for Arabic shaping properties.
22590         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22591         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22592         declarations.
22593         (UC_JOINING_GROUP_*): New enumeration values.
22594         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22595         declarations.
22596         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22597         (unicode_joining_type): New variable.
22598         (UC_JOINING_GROUP_*): New enumeration values.
22599         (unicode_joining_group): New variable.
22600         (fill_arabicshaping, joining_type_as_c_identifier,
22601         output_joining_type_test, output_joining_type,
22602         joining_group_as_c_identifier, output_joining_group_test,
22603         output_joining_group): New functions.
22604         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22605         fill_arabicshaping and output_joining_type_test, output_joining_type,
22606         output_joining_group_test, output_joining_group.
22607         Reported by Simon Josefsson.
22608
22609 2011-03-21  Jim Meyering  <meyering@redhat.com>
22610
22611         strftime: fix a bug in yesterday's change
22612         * lib/strftime.c (add): Accommodate width's initial value of -1.
22613         Otherwise, nstrftime would copy uninitialized data into
22614         the result buffer.
22615
22616 2011-03-21  Jim Meyering  <meyering@redhat.com>
22617
22618         tests: add strftime-tests module
22619         * tests/test-strftime.c: New file.
22620         * modules/strftime-tests: New module.
22621
22622 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22623
22624         strftime: don't assume a byte count fits in 'int'
22625         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22626         found this problem by static analysis, using gcc -Wstrict-overflow
22627         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22628         on an integer overflow having undefined behavior, but it turns out
22629         that the argument is a size, which might not fit in 'int' anyway,
22630
22631 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22632
22633         stdio: don't require ignore_value around fwrite
22634
22635         This patch works around libc bug 11959
22636         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22637         Without this patch, applications must often write
22638         ignore_value (fwrite (...)) even though the ignore_value is
22639         not helpful here.  It's common to write many objects, using
22640         fwrite/printf/etc., and then use ferror to detect output error.
22641
22642         I considered making this patch optional, but decided against it,
22643         because libc is obviously being inconsistent here: there is no
22644         reason libc should insist that user code must inspect fwrite
22645         return's value without also insisting that it inspect printf's,
22646         putchar's, etc.  If user code wants to have a strict style where
22647         all these functions' values are checked (so that ferror need not
22648         be checked), we could add support for that style in a new gnulib
22649         module, but in the meantime it's better to be consistent and to
22650         support common usage.
22651
22652         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22653         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22654         that we are compiling in checking mode, and if not C++, and
22655         if not already wrapping fwrite for some other reason.
22656         (fwrite): #define to rpl_fwrite if the latter is defined.
22657
22658 2011-03-20  Bruno Haible  <bruno@clisp.org>
22659
22660         verror: Fix compilation error introduced on 2011-02-13.
22661         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22662         instead of __attribute__.
22663         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22664
22665 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22666             Bruno Haible  <bruno@clisp.org>
22667
22668         socklen: do not depend on sys_socket
22669         While trying to modify Emacs to use gnulib's socklen module,
22670         I discovered a circular dependency: socklen depends on sys_socket
22671         and vice versa.  Emacs can use socklen, but it does not need
22672         sys_socket because it has its own substitute for sys/socket.h.
22673         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22674         gl_TYPE_SOCKLEN_T.
22675         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22676         gl_PREREQ_SYS_H_SOCKET.
22677         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22678         gl_PREREQ_SYS_H_SOCKET.
22679         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22680         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22681         * modules/socklen (Depends-on): Do not depend on sys_socket.
22682         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22683
22684 2011-03-20  Jim Meyering  <meyering@redhat.com>
22685
22686         maint.mk: sort file names *after* new transformation
22687         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22688         prefix would have led to an unwarranted failure in GNU parted.
22689         Sort after that transformation.
22690
22691 2011-03-19  Jim Meyering  <meyering@redhat.com>
22692
22693         maint.mk: fix po-file syntax-check rule
22694         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22695         Patch by Bruno Haible.
22696
22697 2011-03-19  Bruno Haible  <bruno@clisp.org>
22698
22699         socklen: Update comment.
22700         * m4/socklen.m4: Update comment about platforms.
22701
22702 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22703             Bruno Haible  <bruno@clisp.org>
22704
22705         inet_ntop, inet_pton: Simplify.
22706         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22707         documented to provide socklen_t and we already depend on sys_socket.
22708         * modules/inet_pton (Depends-on): Likewise.
22709         * lib/arpa_inet.in.h: Adjust comment.
22710
22711 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22712             Bruno Haible  <bruno@clisp.org>
22713
22714         netdb: Simplify.
22715         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
22716         documented to provide socklen_t and we already depend on sys_socket.
22717         * lib/netdb.in.h: Adjust comment.
22718
22719 2011-03-19  Bruno Haible  <bruno@clisp.org>
22720
22721         sys_socket, netdb: Document problem with socklen_t.
22722         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
22723         platforms.
22724         * doc/posix-headers/netdb.texi: Likewise.
22725
22726 2011-03-18  Eric Blake  <eblake@redhat.com>
22727
22728         maint.mk: let po check work in VPATH build
22729         * top/maint.mk (po_file): Allow cfg.mk override.
22730         (sc_po_check): Allow VPATH use.
22731         Reported by Jiri Denemark.
22732
22733 2011-03-16  Jim Meyering  <meyering@redhat.com>
22734
22735         maint.mk: allow fine-grained syntax-check exclusion via Make variables
22736         Before, you would have had to create one .x-sc_ file per rule in order
22737         to exempt offending files.  Now, you may instead use a Make variable --
22738         usually defined in cfg.mk -- whose name identifies the affected rule.
22739         * top/maint.mk (_sc_excl): Define.
22740         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
22741         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
22742
22743 2011-03-13  Bruno Haible  <bruno@clisp.org>
22744
22745         ignore-value tests: Avoid warnings.
22746         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
22747         empty for gcc < 3.4.
22748
22749 2011-03-13  Bruno Haible  <bruno@clisp.org>
22750
22751         passfd: Fix link error on Solaris.
22752         * modules/passfd (Description): Correct.
22753         (Depends-on): Add socketlib.
22754         (Link): New section.
22755         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
22756
22757 2011-03-13  Bruno Haible  <bruno@clisp.org>
22758
22759         passfd: Fix link error on AIX 5.2.
22760         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
22761
22762 2011-03-13  Bruno Haible  <bruno@clisp.org>
22763
22764         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
22765         * lib/sys_socket.in.h: Include <stddef.h>.
22766         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
22767         CMSG_FIRSTHDR. Remove unused variable.
22768
22769 2011-03-13  Bruno Haible  <bruno@clisp.org>
22770
22771         passfd: Fix compilation error on OpenBSD.
22772         * lib/passfd.c: Include <sys/uio.h>.
22773
22774 2011-03-13  Bruno Haible  <bruno@clisp.org>
22775
22776         passfd test: Fix warnings.
22777         * tests/test-passfd.c: Include <sys/wait.h>.
22778         (main): Fix typo.
22779
22780 2011-03-13  Bruno Haible  <bruno@clisp.org>
22781
22782         passfd module, part 4, tweaks.
22783         * tests/test-passfd.c: Reorder includes.
22784         (main): Fix perror and printf calls.
22785
22786 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22787
22788         passfd module, part 4.
22789         * modules/passfd-tests: New file.
22790         * tests/test-passfd.c: New file.
22791
22792 2011-03-13  Jim Meyering  <meyering@redhat.com>
22793
22794         Makefile: rely on GNU make; derive syntax-check rule names
22795         Rather than requiring that each sc_ rule be listed as a dependent
22796         of "check", use features of GNU make to derive the list.
22797         * Makefile (syntax-check-rules): Define.
22798         (check): Depend on the new variable, not the hard-coded list.
22799
22800 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
22801             Bruno Haible  <bruno@clisp.org>
22802
22803         passfd module, part 3.
22804         * lib/passfd.h (recvfd): Add a flags argument.
22805         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
22806         (recvfd): Add a flags argument.
22807         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
22808         exists.
22809         * modules/passfd (Depends-on): Add cloexec.
22810         Suggested by Eric Blake.
22811
22812 2011-03-13  Bruno Haible  <bruno@clisp.org>
22813
22814         passfd module, part 2, tweaks.
22815         * modules/passfd (Files): Reorder.
22816         (Depends-on): Remove errno.
22817         (Include): Remove <sys/socket.h>, <sys/un.h>.
22818         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
22819         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
22820         specification header. Include <sys/socket.h> always. Don't include
22821         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
22822         (sendfd): Clarify that it sets errno when it fails.
22823         (recvfd): Fix specification.
22824
22825 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22826
22827         passfd module, part 2.
22828         * modules/passfd: New file.
22829         * lib/passfd.h: New file.
22830         * lib/passfd.c: New file.
22831
22832 2011-03-12  Bruno Haible  <bruno@clisp.org>
22833
22834         wcswidth, mbswidth: Avoid integer overflow.
22835         * lib/wcswidth.c: Include <limits.h>.
22836         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
22837         * lib/mbswidth.c: Include <limits.h>.
22838         (mbsnwidth): Avoid 'int' overflow.
22839         Reported by Jim Meyering.
22840
22841 2011-03-12  Bruno Haible  <bruno@clisp.org>
22842
22843         futimens, utimensat: Avoid endless recursion on Solaris 10.
22844         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
22845         Solaris.
22846         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
22847         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
22848
22849 2011-03-11  Jim Meyering  <meyering@redhat.com>
22850
22851         maint.mk: relax a regexp to accommodate other formatting styles
22852         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
22853         between "ngettext" and the following "(".
22854
22855 2011-03-11  Pádraig Brady <P@draigBrady.com>
22856
22857         maint.mk: suppress a false positive warning
22858         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
22859         diagnostics are marked with ngettext.
22860
22861 2011-03-10  Eric Blake  <eblake@redhat.com>
22862
22863         wchar: add explicit dependencies, for Tru64
22864         * modules/mbmemcasecoll (Depends-on): Add wchar.
22865         * modules/mbtowc (Depends-on): Likewise.
22866         * modules/vasnprintf (Depends-on): Likewise.
22867         * modules/unistdio/u-printf-args (Depends-on): Likewise.
22868         * modules/wctomb (Depends-on): Likewise.
22869         Reported by Peter O'Gorman.
22870
22871 2011-03-08  Bruno Haible  <bruno@clisp.org>
22872
22873         passfd module, part 1, tweaks.
22874         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22875         Improve indentation. Improve AC_MSG_CHECKING messages.
22876         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22877         gl_SOCKET_FAMILIES.
22878
22879 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22880
22881         passfd module, part 1.
22882         * m4/afunix.m4: New file.
22883         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
22884         sockets.
22885
22886 2011-03-08  Bruno Haible  <bruno@clisp.org>
22887
22888         regex-quote: New API.
22889         * lib/regex-quote.h: Include <stdbool.h>.
22890         (struct regex_quote_spec): New type.
22891         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22892         New declarations.
22893         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22894         'const struct regex_quote_spec *' argument.
22895         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
22896         (pcre_special): New constant.
22897         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22898         New functions.
22899         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22900         'const struct regex_quote_spec *' argument.
22901         * modules/regex-quote (Depends-on): Add stdbool.
22902         * tests/test-regex-quote.c (check): Update for new API. Add test for
22903         anchored results.
22904         * NEWS: Mention the API change.
22905         Reported by Reuben Thomas and Eric Blake.
22906
22907 2011-03-06  Bruno Haible  <bruno@clisp.org>
22908
22909         regex-quote: Fix creation of POSIX extended regular expressions.
22910         * lib/regex-quote.c (ere_special): Add grouping and alternation
22911         operators.
22912
22913 2011-03-05  Bruno Haible  <bruno@clisp.org>
22914
22915         doc: Improve doc regarding autopoint vs. gnulib.
22916         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
22917         disable autopoint while running autoreconf.
22918         Suggested by Ralf Wildenhues.
22919
22920 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22921
22922         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
22923         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
22924
22925 2011-03-03  Bruce Korb  <bkorb@gnu.org>
22926
22927         parse-duration: remove xalloc.h dependency
22928         * lib/parse-duration.c (parse_period): handle NULL return from
22929         strdup instead of calling xstrdup().
22930         * modules/parse-duration: remove "xalloc" dependency
22931
22932 2011-03-03  Matthew Booth  <mbooth@redhat.com>
22933
22934         bootstrap: honor m4_base when running aclocal
22935         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
22936
22937 2011-03-02  Jim Meyering  <meyering@redhat.com>
22938
22939         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
22940         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
22941         on request from Matt Booth.
22942
22943 2011-03-01  Eric Blake  <eblake@redhat.com>
22944
22945         test-link: work on Hurd
22946         * tests/test-link.h (test_link): Hurd rejects linking directories
22947         with EISDIR instead of the POSIX-mandated EPERM.
22948
22949 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
22950
22951         stdio: simplify by moving files to printf-posix, sigpipe
22952         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
22953         since this symbol is needed only if printf is replaced.
22954         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
22955         Require gl_ASM_SYMBOL_PREFIX.
22956         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
22957         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
22958         (Depends-on): Add 'raise'.
22959         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
22960         * modules/stdio (Files): Remove lib/stdio-write.c,
22961         m4/asm-underscore.m4.
22962         (Depends-on): Remove 'raise'.
22963
22964         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
22965         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
22966         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
22967         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
22968
22969 2011-02-28  Bruno Haible  <bruno@clisp.org>
22970
22971         localcharset: Assume ANSI C behaviour of free().
22972         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
22973         calling free().
22974         Suggested by Simon Josefsson <simon@josefsson.org>.
22975
22976 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
22977             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
22978             Bruno Haible  <bruno@clisp.org>  (tiny change)
22979
22980         On Cygwin, use /proc file system instead of win32 API.
22981         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
22982         Win32 file names.
22983         (DllMain): Simplify by removing Cygwin specific code.
22984         (find_shared_library_fullname): Use Linux specific implementation also
22985         for Cygwin.
22986         (get_shared_library_fullname): Update accordingly.
22987         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
22988         Win32 file names.
22989         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
22990         Cygwin specific code.
22991
22992 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
22993             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
22994
22995         Fix OpenMP flag detection for various Fortran compilers.
22996         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
22997         OpenMP-conditional compilation construct, to force compile
22998         failure with missing OpenMP flag.
22999         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23000
23001 2011-02-25  Eric Blake  <eblake@redhat.com>
23002
23003         strstr: expand test coverage
23004         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23005         compilation.
23006         * tests/test-memmem.c (main): Duplicate tests.
23007         * tests/test-strcasestr.c (main): Likewise.
23008         * tests/test-c-strcasestr.c (main): Likewise.
23009
23010 2011-02-25  Jim Meyering  <meyering@redhat.com>
23011
23012         maint.mk: detect missing-NL-at-EOF, too
23013         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23014         it also detects when a file lacks a newline at EOF.
23015         (require_exactly_one_NL_at_EOF_): Renamed from
23016         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23017         since people may well have .x-sc_... file names tied to the
23018         existing name.  Suggested by Eric Blake.
23019
23020 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23021
23022         dirname: move m4/dos.m4 functionality into lib/dosname.h
23023
23024         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23025         extracts symbols from it, puts them into config.h; but it's much
23026         easier to use the symbols directly.  filename.h already does this,
23027         but it disagrees with dos.m4 in some respects.  This patch
23028         introduces a different include file dosname.h that packages up
23029         dos.m4, and then later we can work on merging filename.h and
23030         dosname.h.  Applications that need only the easy-to-configure
23031         symbols should consider including dosname.h rather than dirname.h.
23032         * NEWS: Mention incompatible changes.
23033         * m4/dos.m4: Remove.
23034         * lib/dosname.h, modules/dosname: New files.
23035         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23036         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23037         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23038         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23039         Include dosname.h, not dirname.h.
23040         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23041         Include dosname.h, for definitions of symbols like ISSLASH
23042         that used to be in config.h.
23043         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23044         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23045         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23046         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23047         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23048         * modules/rmdir (Files): Likewise.
23049         * modules/stat (Files): Likewise.
23050         * modules/unlink (Files): Likewise.
23051         * modules/dirname-lgpl (Depends-on): Add dosname.
23052         * modules/lstat (Depends-on): Likewise.
23053         * modules/openat (Depends-on): Likewise.
23054         * modules/rmdir (Depends-on): Likewise.
23055         * modules/savewd (Depends-on): Likewise.
23056         * modules/stat (Depends-on): Likewise.
23057         * modules/unlink (Depends-on): Likewise.
23058         * modules/openat (Depends-on): Remove dirname-lgpl.
23059         * modules/savewd (Depends-on): Likewise.
23060         * tests/test-dirname.c: Do not use removed symbols like
23061         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23062         the remaining symbols, e.g., ISSLASH ('\\').
23063
23064 2011-02-25  Eric Blake  <eblake@redhat.com>
23065
23066         strstr: revert patches that introduced bug and pessimization
23067         * lib/str-two-way.h: Add another reference.
23068         (two_way_short_needle, two_way_long_needle): Revert changes from
23069         2011-02-24; they pessimize search speed.
23070         (critical_factorization): Partially revert changes from
23071         2010-06-22; they violate the requirement that the left half of the
23072         needle be smaller than the period of the needle.
23073
23074 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23075
23076         filenamecat: remove unnecessary dependency on dirname-lgpl
23077         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23078         is no direct dependency, just an indirect one via filenamecat-lgpl.
23079
23080         remove: remove unnecessary use of m4/dos.m4
23081         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23082         * modules/remove (FILES): Remove m4/dos.m4.
23083
23084         * lib/openat-proc.c: Don't include dirname.h; not needed.
23085
23086         backupfile: remove unnecessary use of m4/dos.m4
23087         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23088         of its symbols are used by the backupfile code.  backupfile.c does
23089         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23090         for the rare case of programs that want all their backup file
23091         names to live within 8+3 limits, and dos.m4 doesn't address that.
23092         * modules/backupfile (Files): Remove m4/dos.m4.
23093
23094 2011-02-24  Jim Meyering  <meyering@redhat.com>
23095
23096         strstr: fix a bug whereby strstr would mistakenly return NULL
23097         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23098         in period calculation.
23099         (two_way_long_needle): Likewise.
23100         The original problem was reported by Mike Stump in
23101         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23102         Ralf Wildenhues provided the short needle and haystack.
23103         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23104         Add a more involved test to trigger the bug in two_way_long_needle.
23105
23106 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23107
23108         gnulib-tool: remove use of bold display in help screen
23109         * gnulib-tool (func_usage): Do not use bold display anymore in the
23110         help screen.  That was just meant to be a temporary emphasis for a
23111         backward-incompatible change.
23112
23113 2011-02-23  Bruno Haible  <bruno@clisp.org>
23114
23115         Fix misindentation of preprocessor directives.
23116         * lib/argp-namefrob.h: Reindent preprocessor directives.
23117         * lib/getopt_int.h (struct _getopt_data): Likewise.
23118         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23119         * lib/vasnprintf.c (decode_long_double): Likewise.
23120         * tests/test-argmatch.c: Insert blank lines, for clarity.
23121         * tests/test-exclude.c: Likewise.
23122
23123 2011-02-22  Bruno Haible  <bruno@clisp.org>
23124
23125         ioctl: Fix for MacOS X in 64-bit mode.
23126         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23127         value.
23128         Suggested by Eric Blake.
23129         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23130
23131 2011-02-22  Jim Meyering  <meyering@redhat.com>
23132
23133         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23134         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23135         in lib/.
23136
23137 2011-02-22  Eric Blake  <eblake@redhat.com>
23138
23139         maint: avoid any CDPATH issue
23140         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23141
23142         maint: adjust cpp indentation for my modules, as well
23143         * Makefile (sc_cpp_indent_check): Add my name.
23144         * lib/fbufmode.c: Filter through cppi.
23145         * lib/fpurge.c: Likewise.
23146         * lib/freadable.c: Likewise.
23147         * lib/freading.c: Likewise.
23148         * lib/fwritable.c: Likewise.
23149         * lib/fwriting.c: Likewise.
23150         * lib/sigaction.c: Likewise.
23151
23152 2011-02-22  Jim Meyering  <meyering@redhat.com>
23153
23154         maint: adjust cpp indentation to reflect nesting depth
23155         I.e., in a block of code that begins with an unnested "#if",
23156         put one space between the "#" in column 1 and following token.
23157         For example,
23158         -#include <sys/vfs.h>
23159         +# include <sys/vfs.h>
23160         Do this only in .c files that are part of a module I maintain.
23161         * lib/linkat.c: Filter through cppi.
23162         * lib/nanosleep.c: Likewise.
23163         * lib/openat.c: Likewise.
23164         * lib/openat-die.c: Likewise.
23165         * lib/dup3.c: Likewise.
23166         * lib/fchownat.c: Likewise.
23167         * lib/flock.c: Likewise.
23168         * lib/fsync.c: Likewise.
23169         * lib/fts.c: Likewise.
23170         * lib/getpass.c: Likewise.
23171         * lib/gettimeofday.c: Likewise.
23172         * lib/userspec.c: Likewise.
23173         * Makefile (sc_cpp_indent_check): New rule, to check this.
23174
23175 2011-02-22  Bruno Haible  <bruno@clisp.org>
23176
23177         New module 'wctomb'.
23178         * lib/stdlib.in.h (wctomb): New declaration.
23179         * lib/wctomb.c: New file.
23180         * lib/wctomb-impl.h: New file.
23181         * m4/wctomb.m4: New file.
23182         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23183         REPLACE_WCTOMB.
23184         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23185         REPLACE_WCTOMB.
23186         * modules/wctomb: New file.
23187         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23188         * doc/posix-functions/wctomb.texi: Mention the new module.
23189         * modules/wctob (Depends-on): Add wctomb.
23190
23191 2011-02-22  Bruno Haible  <bruno@clisp.org>
23192
23193         New module 'mbtowc'.
23194         * lib/stdlib.in.h (mbtowc): New declaration.
23195         * lib/mbtowc.c: New file.
23196         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23197         * m4/mbtowc.m4: New file.
23198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23199         REPLACE_MBTOWC.
23200         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23201         REPLACE_MBTOWC.
23202         * modules/mbtowc: New file.
23203         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23204         * doc/posix-functions/mbtowc.texi: Mention the new module.
23205         * modules/btowc (Depends-on): Add mbtowc.
23206
23207 2011-02-22  Bruno Haible  <bruno@clisp.org>
23208
23209         wcrtomb: Add more tests for native Windows platforms.
23210         * tests/test-wcrtomb-w32-1.sh: New file.
23211         * tests/test-wcrtomb-w32-2.sh: New file.
23212         * tests/test-wcrtomb-w32-3.sh: New file.
23213         * tests/test-wcrtomb-w32-4.sh: New file.
23214         * tests/test-wcrtomb-w32-5.sh: New file.
23215         * tests/test-wcrtomb-w32.c: New file.
23216         * modules/wcrtomb-tests (Files): Add them.
23217         (Makefile.am): Arrange to run these tests.
23218         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23219         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23220
23221 2011-02-20  Bruno Haible  <bruno@clisp.org>
23222
23223         wcrtomb: Enhance test.
23224         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23225
23226 2011-02-20  Bruno Haible  <bruno@clisp.org>
23227
23228         mbrtowc: Tiny optimization.
23229         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23230
23231 2011-02-20  Jim Meyering  <meyering@redhat.com>
23232
23233         test-exclude.c: remove unmatched #endif
23234         * tests/test-exclude.c: Remove stray #endif, left over from
23235         the change of a week ago.
23236
23237 2011-02-19  Jim Meyering  <meyering@redhat.com>
23238
23239         git-version-gen: skip "-dirty" check when appropriate
23240         * build-aux/git-version-gen: Don't run any git commands when the
23241         version string comes from .tarball-version.  Prior to this, we
23242         would run git update-index --refresh even from a just-unpacked
23243         tarball directory, and that could affect a .git/ directory in a
23244         parent of the build directory.  Reported by Mike Frysinger.
23245
23246 2011-02-19  Bruno Haible  <bruno@clisp.org>
23247
23248         unictype/property-byname: Reduce the size of the 'data' segment.
23249         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23250
23251 2011-02-19  Bruno Haible  <bruno@clisp.org>
23252
23253         unictype/scripts: Reduce the size of the 'data' segment.
23254         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23255         '%pic'.
23256         * lib/unictype/scripts_byname.gperf: Regenerated.
23257
23258 2011-02-19  Bruno Haible  <bruno@clisp.org>
23259
23260         stdint: Update documentation.
23261         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23262
23263 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23264
23265         stdint: omit redundant check for wchar.h
23266         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23267         always tests whether wchar.h exists, so remove the now-redundant test.
23268
23269 2011-02-18  Bruno Haible  <bruno@clisp.org>
23270
23271         stdint: Cut dependency to module 'wchar'.
23272         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23273         include the necessary prerequisites.
23274         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23275         * modules/stdint (Depends-on): Remove wchar.
23276         (Makefile.am): Substitute HAVE_WCHAR_H.
23277         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23278
23279 2011-02-18  Eric Blake  <eblake@redhat.com>
23280
23281         longlong: skip, rather than fail, on cross-compilation
23282         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23283         when cross-compiling; regression from 2011-02-16.
23284
23285 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23286
23287         * NEWS: Mention 2011-02-08 change to stdlib.
23288
23289 2011-02-17  Bruno Haible  <bruno@clisp.org>
23290
23291         getloadavg: Add comments about platforms.
23292         * m4/getloadavg.m4: Add comment.
23293         * lib/getloadavg.c: Likewise.
23294
23295 2011-02-17  Bruno Haible  <bruno@clisp.org>
23296
23297         getloadavg: Fix link error on Solaris 2.6.
23298         * modules/getloadavg (Link): New section.
23299         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23300         linking test-getloadavg.
23301         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23302         getloadavg.
23303
23304 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23305
23306         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23307         It was 'int', but this doesn't match the IRIX 6.5 manual.
23308         Suggested by Bruno Haible in
23309         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23310
23311 2011-02-17  Bruno Haible  <bruno@clisp.org>
23312
23313         havelib: Fix comments.
23314         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23315         change.
23316
23317 2011-02-17  Bruno Haible  <bruno@clisp.org>
23318
23319         havelib: Update config.rpath.
23320         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23321
23322 2011-02-17  Bruno Haible  <bruno@clisp.org>
23323
23324         getloadavg test: Add some plausibility checks.
23325         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23326         is improbable.
23327
23328 2011-02-16  Eric Blake  <eblake@redhat.com>
23329
23330         maintainer-makefile: make syntax-check a no-op from tarballs
23331         * top/maint.mk (no-vc-detected): New rule.
23332         (local-checks-available): Use it to avoid hanging if someone tries
23333         'make syntax-check' from a tarball.  Also append to any non-syntax
23334         checks already defined in cfg.mk.
23335
23336 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23337
23338         longlong: tune, particularly for common case of c99
23339
23340         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23341         or running anything if c99, or if unsigned long long int does not
23342         work.  In either case, we know the answer without further tests.
23343         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23344         it at most once, and use its results for both long long int and
23345         unsigned long long int.  This is more likely to be efficient in
23346         the common case where the program wants to check for both long
23347         long int and unsigned long long int.
23348         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23349         since the answer is already known.
23350
23351 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23352
23353         getloadavg: set errno
23354         * lib/getloadavg.c: Set errno when returning -1.  If no other
23355         error number looks appropriate, set it to ENOSYS if the getloadavg
23356         looks like it can't possibly ever work, ENOTSUP otherwise.
23357         Suggested by Bruno Haible in
23358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23359
23360         getloadavg: trim unused parts and speed up 'configure'
23361         * NEWS: Document this.
23362         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23363         always compiled if getloadavg is absent.
23364         Move test code to ...
23365         * tests/test-getloadavg.c: New file, containing previous
23366         contents of test from lib/getloadavg.c.  It also contains
23367         suggestions by Bruno Haible in
23368         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23369         * modules/getloadavg-tests: New file.
23370         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23371         Do tests in the same order as they're needed for getloadavg.c.
23372         Omit setgid-related tests that generate symbols KMEM_GROUP,
23373         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23374         Do only the tests that are needed to see whether the system has
23375         getloadavg, moving the other tests into ...
23376         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23377         NLIST_NAME_UNION; nobody should be using it.  Do not define
23378         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23379         relevant, as the user of this module shouldn't care how getloadavg
23380         is implemented.
23381
23382         getloadavg: omit unused var
23383         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23384
23385 2011-02-15  Jim Meyering  <meyering@redhat.com>
23386
23387         doc: update users.txt
23388         * users.txt: Update iwhd's URL.
23389
23390 2011-02-13  Bruno Haible  <bruno@clisp.org>
23391
23392         Consistent macro naming for macros that use GCC __attribute__.
23393         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23394         _ATTRIBUTE_NONNULL_.
23395         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23396         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23397         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23398         ATTRIBUTE_DEPRECATED.
23399         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23400         ATTRIBUTE_NORETURN.
23401         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23402         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23403         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23404         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23405         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23406         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23407         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23408         ATTRIBUTE_SENTINEL.
23409         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23410         ATTRIBUTE_RETURN_CHECK.
23411         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23412         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23413         ATTRIBUTE_NORETURN.
23414         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23415         Reported by Paul Eggert.
23416
23417 2011-02-13  Bruno Haible  <bruno@clisp.org>
23418
23419         Don't interfere with a program's definition of __attribute__.
23420         * lib/argp.h (__attribute__): Remove definition.
23421         (_GL_ATTRIBUTE_FORMAT): New macro.
23422         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23423         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23424         (_GL_ATTRIBUTE_FORMAT): New macro.
23425         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23426         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23427         GCC 3 or newer.
23428         * lib/error.h (__attribute__): Remove definition.
23429         (_GL_ATTRIBUTE_FORMAT): New macro.
23430         (error, error_at_line): Use it.
23431         * lib/hash.h (__attribute__): Remove definition.
23432         (ATTRIBUTE_WUR): Update definition. Define always.
23433         * lib/openat.h (__attribute__): Remove definition.
23434         (ATTRIBUTE_NORETURN): Update definition. Define always.
23435         * lib/sigpipe-die.h (__attribute__): Remove definition.
23436         (ATTRIBUTE_NORETURN): Update definition. Define always.
23437         * lib/vasnprintf.h (__attribute__): Remove definition.
23438         (_GL_ATTRIBUTE_FORMAT): New macro.
23439         (asnprintf, vasnprintf): Use it.
23440         * lib/xalloc.h (__attribute__): Remove definition.
23441         (ATTRIBUTE_NORETURN): Update definition. Define always.
23442         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23443         * lib/xmemdup0.h (__attribute__): Remove definition.
23444         (ATTRIBUTE_NORETURN): Update definition. Define always.
23445         * lib/xprintf.h (__attribute__): Remove definition.
23446         (_GL_ATTRIBUTE_FORMAT): New macro.
23447         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23448         * lib/xstrtol.h (__attribute__): Remove definition.
23449         (ATTRIBUTE_NORETURN): Update definition. Define always.
23450         * lib/xvasprintf.h (__attribute__): Remove definition.
23451         (_GL_ATTRIBUTE_FORMAT): New macro.
23452         (xasprintf, xvasprintf): Use it.
23453         * tests/test-argmatch.c (__attribute__): Remove definition.
23454         (ATTRIBUTE_NORETURN): Update definition. Define always.
23455         * tests/test-exclude.c (__attribute__): Remove definition.
23456         (ATTRIBUTE_NORETURN): Update definition. Define always.
23457         Reported by Paul Eggert.
23458
23459 2011-02-13  Bruno Haible  <bruno@clisp.org>
23460
23461         mbrtowc: Add more tests for native Windows platforms.
23462         * tests/test-mbrtowc-w32-1.sh: New file.
23463         * tests/test-mbrtowc-w32-2.sh: New file.
23464         * tests/test-mbrtowc-w32-3.sh: New file.
23465         * tests/test-mbrtowc-w32-4.sh: New file.
23466         * tests/test-mbrtowc-w32-5.sh: New file.
23467         * tests/test-mbrtowc-w32.c: New file.
23468         * modules/mbrtowc-tests (Files): Add them.
23469         (Makefile.am): Arrange to run these tests.
23470         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23471         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23472
23473 2011-02-13  Bruno Haible  <bruno@clisp.org>
23474
23475         mbrtowc: Work around native Windows bug.
23476         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23477         guess when no suitable locale for testing was found.
23478         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23479
23480 2011-02-13  Bruno Haible  <bruno@clisp.org>
23481
23482         mbsinit: Work around mingw bug.
23483         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23484         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23485         Windows.
23486         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23487
23488 2011-02-13  Bruno Haible  <bruno@clisp.org>
23489
23490         mbsinit: Don't crash for a NULL argument.
23491         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23492         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23493
23494 2011-02-13  Bruno Haible  <bruno@clisp.org>
23495
23496         Don't interfere with a program's definition of __attribute__.
23497         * lib/stdio.in.h (__attribute__): Remove definition.
23498         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23499         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23500         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23501         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23502         * lib/string.in.h (__attribute__): Remove definition.
23503         Reported by Paul Eggert.
23504
23505 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23506
23507         stdlib: don't get in the way of non-GCC __attribute__
23508         See thread starting at
23509         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23510         Revert previous stdlib change, installing the following instead:
23511         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23512         to get in the way of a non-GCC compiler that supports __attribute__.
23513         (_GL_ATTRIBUTE_RETURN): New macro.
23514         (_Exit): Use it instead of __attribute__.
23515
23516 2011-02-12  Bruno Haible  <bruno@clisp.org>
23517
23518         quotearg test: Avoid test failure on mingw.
23519         * tests/test-quotearg.sh: Convert the locale identifier from native
23520         Windows syntax to Unix syntax.
23521
23522 2011-02-12  Bruno Haible  <bruno@clisp.org>
23523
23524         setlocale: Prefer gnulib's override over libintl's override.
23525         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23526         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23527         GNULIB_defined_setlocale is set.
23528
23529 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23530
23531         stdlib: support non-GCC __attribute__
23532
23533         Fix a serious and tricky problem encountered when attempting to
23534         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23535         5.5, but it crashed due to memory corruption on Solaris 10 with
23536         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23537         bits that are otherwise zero.  This tagging is optional inside
23538         Emacs but is preferred and is used when __attribute__ ((__aligned
23539         (8))) works, as it does with both recent-enough GCC and with Sun C
23540         5.11.  However, Sun C 5.11 is not GCC and does not #define
23541         __GNUC__ and __GNUC_MINOR__.
23542
23543         When I added the getloadavg module to Emacs, it brought in
23544         stdlib.in.h, which contained this fragment:
23545
23546            #ifndef __attribute__
23547            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23548            #  define __attribute__(Spec)   /* empty */
23549            # endif
23550            #endif
23551
23552         When files that include <stdlib.h> were compiled with Sun C 5.11,
23553         the above code disabled __attribute__ ((__aligned (8))), which
23554         caused variables to not be properly aligned, which eventually led
23555         to the pointer corruption mentioned above.  (This was a bit hard
23556         to diagnose, unfortunately.)
23557
23558         Several "#define __attribute__(X) /* empty */" code snippets need
23559         to be eradicated from Gnulib to work with non-GCC compilers that
23560         support __attribute__.  The Autoconf way to do this is to test for
23561         each kind of attribute that we want support for, and selectively
23562         enable that in source code.
23563
23564         Fix this problem just for stdlib.h, by adding a test for the
23565         __noreturn__ attribute, and change stdlib.in.h to use that test
23566         when needed.  This technique can be easily generalized to the
23567         other *.in.h files and attributes, and a similar technique can be
23568         used for *.h and *.c files.  This patch is enough to solve the
23569         problem for Emacs + getloadavg, and I thought I'd publish it for
23570         feedback before undertaking further, similar fixes in other
23571         modules.
23572
23573         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23574         because it's not needed for stdlib.h.  It merely substitutes the
23575         value directly into stdlib.h.  We may well need to #define it, or
23576         similar symbols, for other modules, but it's nice to also have an
23577         option to not #define it for applications like Emacs that do not
23578         need it.
23579
23580         * lib/stdlib.in.h (__attribute__): Do not #define.
23581         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23582         be defined only if the _Exit module is also used.
23583         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23585         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23586         platforms.
23587         * modules/_Exit (Files): Add m4/attribute.m4.
23588         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23589         * m4/attribute.m4: New file.
23590
23591 2011-02-12  Bruno Haible  <bruno@clisp.org>
23592
23593         wcsrtombs: Work around bug on native Windows.
23594         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23595         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23596         instead of len.
23597         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23598
23599 2011-02-12  Bruno Haible  <bruno@clisp.org>
23600
23601         mbsrtowcs: Work around bug on native Windows.
23602         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23603         against mingw bug.
23604         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23605
23606 2011-02-12  Bruno Haible  <bruno@clisp.org>
23607
23608         Avoid setlocale bugs in tests.
23609         * modules/btowc (Dependencies): Add setlocale.
23610         * modules/c-strcase (Dependencies): Likewise.
23611         * modules/mbmemcasecmp (Dependencies): Likewise.
23612         * modules/mbmemcasecoll (Dependencies): Likewise.
23613         * modules/mbrtowc (Dependencies): Likewise.
23614         * modules/mbscasecmp (Dependencies): Likewise.
23615         * modules/mbscasestr (Dependencies): Likewise.
23616         * modules/mbschr (Dependencies): Likewise.
23617         * modules/mbscspn (Dependencies): Likewise.
23618         * modules/mbsinit (Dependencies): Likewise.
23619         * modules/mbsncasecmp (Dependencies): Likewise.
23620         * modules/mbsnrtowcs (Dependencies): Likewise.
23621         * modules/mbspbrk (Dependencies): Likewise.
23622         * modules/mbspcasecmp (Dependencies): Likewise.
23623         * modules/mbsrchr (Dependencies): Likewise.
23624         * modules/mbsrtowcs (Dependencies): Likewise.
23625         * modules/mbsspn (Dependencies): Likewise.
23626         * modules/mbsstr (Dependencies): Likewise.
23627         * modules/nl_langinfo (Dependencies): Likewise.
23628         * modules/quotearg (Dependencies): Likewise.
23629         * modules/unicase/locale-language (Dependencies): Likewise.
23630         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23631         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23632         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23633         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23634         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23635         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23636         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23637         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23638         * modules/vasnprintf-posix (Dependencies): Likewise.
23639         * modules/wcrtomb (Dependencies): Likewise.
23640         * modules/wcsnrtombs (Dependencies): Likewise.
23641         * modules/wcsrtombs (Dependencies): Likewise.
23642
23643 2011-02-12  Bruno Haible  <bruno@clisp.org>
23644
23645         setlocale: Workaround native Windows bug.
23646         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23647         succeeds but sets LC_CTYPE to "C", report a failure.
23648         * tests/test-setlocale2.sh: New file.
23649         * tests/test-setlocale2.c: New file.
23650         * modules/setlocale-tests (Files): Add the new files.
23651         (Makefile.am): Enable test-setlocale2.sh test.
23652         * doc/posix-functions/setlocale.texi: Mention workaround.
23653
23654 2011-02-11  Bruno Haible  <bruno@clisp.org>
23655
23656         Tests for module 'setlocale'.
23657         * modules/setlocale-tests: New file.
23658         * tests/test-setlocale1.sh: New file.
23659         * tests/test-setlocale1.c: New file.
23660
23661         New module 'setlocale'.
23662         * lib/locale.in.h (setlocale): New declaration.
23663         * lib/setlocale.c: New file, based on
23664         gettext/gettext-runtime/intl/setlocale.c.
23665         * m4/setlocale.m4: New file.
23666         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23667         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23668         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23669         REPLACE_SETLOCALE.
23670         * modules/setlocale: New file.
23671         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23672         * doc/posix-functions/setlocale.texi: Mention the new module.
23673
23674 2011-02-11  Bruno Haible  <bruno@clisp.org>
23675
23676         Prepare for locale dependent tests on mingw.
23677         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23678         because it has the wrong locale encoding.
23679         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23680         French_France.1252 instead of "fr".
23681         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23682         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23683         because it has the wrong locale encoding.
23684         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23685         native Windows, try Turkish_Turkey.65001.
23686         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23687         Chinese_China.54936.
23688
23689         Prepare for locale dependent tests on mingw.
23690         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23691         differently.
23692         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23693         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23694         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23695         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23696
23697 2011-02-11  Eric Blake  <eblake@redhat.com>
23698
23699         strptime: avoid compiler warnings
23700         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23701         compiler warnings about dead code.
23702         Reported by Daniel P. Berrange.
23703
23704 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23705
23706         doc: update users.txt
23707         * users.txt: Add rcs.
23708
23709 2011-02-10  John W. Eaton  <jwe@gnu.org>
23710
23711         doc: update users.txt
23712         * users.txt: Add octave.
23713
23714 2011-02-10  Jim Meyering  <meyering@redhat.com>
23715
23716         doc: update users.txt
23717         * users.txt: Add iwhd.
23718
23719 2011-02-09  Bruno Haible  <bruno@clisp.org>
23720
23721         gnulib-tool: Make copyright notice adjustment more robust.
23722         * gnulib-tool (func_import): In sed_transform_main_lib_file,
23723         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
23724         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
23725         License".
23726         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
23727
23728 2011-02-06  Bruno Haible  <bruno@clisp.org>
23729
23730         New module 'towctrans'.
23731         * modules/towctrans: New file.
23732         * lib/wctype.in.h (towctrans): New declaration.
23733         * lib/towctrans.c: New file.
23734         * lib/towctrans-impl.h: New file.
23735         * m4/towctrans.m4: New file.
23736         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
23737         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
23738         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
23739         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
23740         * doc/posix-functions/towctrans.texi: Mention the new module.
23741
23742 2011-02-06  Bruno Haible  <bruno@clisp.org>
23743
23744         New module 'wctrans'.
23745         * modules/wctrans: New file.
23746         * lib/wctype.in.h (wctrans): New declaration.
23747         * lib/wctrans.c: New file.
23748         * lib/wctrans-impl.h: New file.
23749         * m4/wctrans.m4: New file.
23750         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
23751         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
23752         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
23753         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
23754         * doc/posix-functions/wctrans.texi: Mention the new module.
23755
23756 2011-02-06  Bruno Haible  <bruno@clisp.org>
23757
23758         New module 'iswctype'.
23759         * modules/iswctype: New file.
23760         * lib/wctype.in.h (iswctype): New declaration.
23761         * lib/iswctype.c: New file.
23762         * lib/iswctype-impl.h: New file.
23763         * m4/iswctype.m4: New file.
23764         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
23765         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
23766         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
23767         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
23768         * doc/posix-functions/iswctype.texi: Mention the new module and the
23769         HP-UX 11.00 problem.
23770
23771 2011-02-06  Bruno Haible  <bruno@clisp.org>
23772
23773         New module 'wctype'.
23774         * modules/wctype: Change to represent the wctype() substitute.
23775         * lib/wctype.in.h (wctype): New declaration.
23776         * lib/wctype.c: New file.
23777         * lib/wctype-impl.h: New file.
23778         * m4/wctype.m4: New file.
23779         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
23780         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
23781         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
23782         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
23783         * doc/posix-functions/wctype.texi: Mention the new module and the
23784         HP-UX 11.00 problem.
23785
23786 2011-02-06  Bruno Haible  <bruno@clisp.org>
23787
23788         wctype-h: Ensure wctype_t and wctrans_t are defined.
23789         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
23790         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23791         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23792         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
23793         HAVE_WCTRANS_T.
23794         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
23795
23796 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
23797
23798         flock: fix license typo
23799
23800         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
23801         omitted.
23802
23803 2011-02-08  Bruno Haible  <bruno@clisp.org>
23804
23805         Split large sed scripts, for HP-UX sed.
23806         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
23807         to avoid HP-UX limit of 99 commands, in the near future.
23808         * modules/stdlib (Makefile.am): Likewise.
23809         * modules/unistd (Makefile.am): Likewise.
23810         * modules/wchar (Makefile.am): Likewise.
23811         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23812         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
23813         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
23814
23815 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23816             Bruno Haible  <bruno@clisp.org>
23817
23818         stdlib: improve random_r modularization
23819         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
23820         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
23821         you also need the random_r module to get this material right.
23822         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
23823         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
23824         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
23825
23826 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23827
23828         stdlib: don't depend on stdint
23829         * lib/stdlib.in.h: Don't include <stdint.h> merely because
23830         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
23831         be independent of whether stdint.h is needed.
23832         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
23833         here, instead of ...
23834         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
23835         struct random_data should be using the random_r module, not just
23836         the stdlib module (which wouldn't make sense: what package needs
23837         just struct random_data without also needing random_r?).
23838         * modules/stdlib (Depends-on): Remove stdint.
23839
23840         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
23841         See the thread rooted at
23842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
23843         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
23844         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
23845         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
23846         __VMS)); previously it was always included (via fcntl--.h).
23847         (getloadavg): Do not use c_strtod.  Instead, approximate it by
23848         hand; this is good enough for load averages.  Also, do not use
23849         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
23850         flags directly if available and don't bother otherwise.  (Packages
23851         that need the extra reliability should use the modules that define
23852         these flags on older platforms that lack them.)
23853         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
23854         fcntl-safer.
23855
23856 2011-02-08  Jim Meyering  <meyering@redhat.com>
23857
23858         di-set.h, ino-map.h: add multiple-inclusion guard
23859         Technically, the guard is required only for ino-map.h, due to its
23860         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
23861         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
23862         * lib/ino-map.h: Likewise.
23863
23864 2011-02-06  Bruno Haible  <bruno@clisp.org>
23865
23866         iswblank: Ensure declaration on glibc systems.
23867         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
23868         * modules/iswblank (Dependencies): Add 'extensions'.
23869         * doc/posix-functions/iswblank.texi: Document the glibc problem.
23870
23871 2011-02-06  Bruno Haible  <bruno@clisp.org>
23872
23873         New module 'iswblank'.
23874         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23875         * modules/iswblank: New file.
23876         * modules/wctype-h (Files): Remove lib/iswblank.c.
23877         (Makefile.am): Substitute GNULIB_ISWBLANK.
23878         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23879         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23880         (gl_WCTYPE_H_DEFAULTS): New macro.
23881         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23882         * modules/iswblank-tests: New file.
23883         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
23884         * tests/test-wctype-h.c (main): Remove iswblank tests.
23885         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
23886         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
23887         of 'wctype-h'.
23888         * NEWS: Mention the change.
23889         * modules/mbchar (Depends-on): Add iswblank.
23890
23891 2011-02-08  Bruno Haible  <bruno@clisp.org>
23892
23893         di-set tests: Refactor.
23894         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
23895         unnecessary includes.
23896         (ASSERT): Remove macro.
23897         (main): Make C90 compliant by avoiding variable declaration after
23898         statement.
23899         * modules/di-set-tests (Files): Add tests/macros.h.
23900
23901 2011-02-08  Bruno Haible  <bruno@clisp.org>
23902
23903         ino-map tests: Refactor.
23904         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
23905         unnecessary includes.
23906         (ASSERT): Remove macro.
23907         (main): Make C90 compliant by avoiding variable declaration after
23908         statement.
23909         * modules/ino-map-tests (Files): Add tests/macros.h.
23910
23911 2011-02-08  Jim Meyering  <meyering@redhat.com>
23912
23913         di-set: add "const" to a cast
23914         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
23915         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
23916
23917 2011-02-06  Bruno Haible  <bruno@clisp.org>
23918
23919         Rename module 'wctype' to 'wctype-h'.
23920         * modules/wctype-h: Renamed from modules/wctype.
23921         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
23922         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
23923         (Files, Depends-on, Makefile.am): Update.
23924         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
23925         (Files, Makefile.am): Update.
23926         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
23927         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
23928         * doc/posix-headers/wctype.texi: Update.
23929         * doc/posix-functions/iswalnum.texi: Update.
23930         * doc/posix-functions/iswalpha.texi: Update.
23931         * doc/posix-functions/iswblank.texi: Update.
23932         * doc/posix-functions/iswcntrl.texi: Update.
23933         * doc/posix-functions/iswdigit.texi: Update.
23934         * doc/posix-functions/iswgraph.texi: Update.
23935         * doc/posix-functions/iswlower.texi: Update.
23936         * doc/posix-functions/iswprint.texi: Update.
23937         * doc/posix-functions/iswpunct.texi: Update.
23938         * doc/posix-functions/iswspace.texi: Update.
23939         * doc/posix-functions/iswupper.texi: Update.
23940         * doc/posix-functions/iswxdigit.texi: Update.
23941         * doc/posix-functions/towlower.texi: Update.
23942         * doc/posix-functions/towupper.texi: Update.
23943         * NEWS: Mention the change.
23944         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
23945         * modules/mbchar (Dependencies): Likewise.
23946         * modules/mbswidth (Dependencies): Likewise.
23947         * modules/quotearg (Dependencies): Likewise.
23948         * modules/regex (Dependencies): Likewise.
23949         * modules/wcscasecmp (Dependencies): Likewise.
23950         * modules/wcsncasecmp (Dependencies): Likewise.
23951         * modules/wcwidth (Dependencies): Likewise.
23952
23953 2011-02-06  Bruno Haible  <bruno@clisp.org>
23954
23955         New module 'wcswidth'.
23956         * modules/wcswidth: New file.
23957         * lib/wchar.in.h (wcswidth): New declaration.
23958         * lib/wcswidth.c: New file.
23959         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
23960         * m4/wcswidth.m4: New file.
23961         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
23962         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
23963         REPLACE_WCSWIDTH.
23964         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
23965         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
23966         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
23967         * doc/posix-functions/wcswidth.texi: Mention the new module.
23968
23969 2011-02-06  Bruno Haible  <bruno@clisp.org>
23970
23971         New module 'wcstok'.
23972         * modules/wcstok: New file.
23973         * lib/wchar.in.h (wcstok): New declaration.
23974         * lib/wcstok.c: New file.
23975         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
23976         * m4/wcstok.m4: New file.
23977         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
23978         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
23979         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
23980         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
23981         * doc/posix-functions/wcstok.texi: Mention the new module.
23982
23983 2011-02-06  Bruno Haible  <bruno@clisp.org>
23984
23985         New module 'wcsstr'.
23986         * modules/wcsstr: New file.
23987         * lib/wchar.in.h (wcsstr): New declaration.
23988         * lib/wcsstr.c: New file.
23989         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
23990         * m4/wcsstr.m4: New file.
23991         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
23992         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
23993         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
23994         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
23995         * doc/posix-functions/wcsstr.texi: Mention the new module.
23996
23997 2011-02-06  Bruno Haible  <bruno@clisp.org>
23998
23999         New module 'wcspbrk'.
24000         * modules/wcspbrk: New file.
24001         * lib/wchar.in.h (wcspbrk): New declaration.
24002         * lib/wcspbrk.c: New file.
24003         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24004         * m4/wcspbrk.m4: New file.
24005         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24006         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24007         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24008         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24009         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24010
24011 2011-02-06  Bruno Haible  <bruno@clisp.org>
24012
24013         New module 'wcsspn'.
24014         * modules/wcsspn: New file.
24015         * lib/wchar.in.h (wcsspn): New declaration.
24016         * lib/wcsspn.c: New file.
24017         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24018         * m4/wcsspn.m4: New file.
24019         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24020         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24021         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24022         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24023         * doc/posix-functions/wcsspn.texi: Mention the new module.
24024
24025 2011-02-06  Bruno Haible  <bruno@clisp.org>
24026
24027         New module 'wcscspn'.
24028         * modules/wcscspn: New file.
24029         * lib/wchar.in.h (wcscspn): New declaration.
24030         * lib/wcscspn.c: New file.
24031         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24032         * m4/wcscspn.m4: New file.
24033         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24034         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24035         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24036         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24037         * doc/posix-functions/wcscspn.texi: Mention the new module.
24038
24039 2011-02-06  Bruno Haible  <bruno@clisp.org>
24040
24041         New module 'wcsrchr'.
24042         * modules/wcsrchr: New file.
24043         * lib/wchar.in.h (wcsrchr): New declaration.
24044         * lib/wcsrchr.c: New file.
24045         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24046         * m4/wcsrchr.m4: New file.
24047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24049         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24050         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24051         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24052
24053 2011-02-06  Bruno Haible  <bruno@clisp.org>
24054
24055         New module 'wcschr'.
24056         * modules/wcschr: New file.
24057         * lib/wchar.in.h (wcschr): New declaration.
24058         * lib/wcschr.c: New file.
24059         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24060         * m4/wcschr.m4: New file.
24061         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24062         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24064         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24065         * doc/posix-functions/wcschr.texi: Mention the new module.
24066
24067 2011-02-06  Bruno Haible  <bruno@clisp.org>
24068
24069         New module 'wcsdup'.
24070         * modules/wcsdup: New file.
24071         * lib/wchar.in.h (wcsdup): New declaration.
24072         * lib/wcsdup.c: New file.
24073         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24074         * m4/wcsdup.m4: New file.
24075         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24076         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24077         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24078         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24079         * doc/posix-functions/wcsdup.texi: Mention the new module.
24080
24081 2011-02-06  Bruno Haible  <bruno@clisp.org>
24082
24083         New module 'wcsxfrm'.
24084         * modules/wcsxfrm: New file.
24085         * lib/wchar.in.h (wcsxfrm): New declaration.
24086         * lib/wcsxfrm.c: New file.
24087         * lib/wcsxfrm-impl.h: New file.
24088         * m4/wcsxfrm.m4: New file.
24089         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24090         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24091         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24092         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24093         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24094
24095 2011-02-06  Bruno Haible  <bruno@clisp.org>
24096
24097         New module 'wcscoll'.
24098         * modules/wcscoll: New file.
24099         * lib/wchar.in.h (wcscoll): New declaration.
24100         * lib/wcscoll.c: New file.
24101         * lib/wcscoll-impl.h: New file.
24102         * m4/wcscoll.m4: New file.
24103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24106         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24107         * doc/posix-functions/wcscoll.texi: Mention the new module.
24108
24109 2011-02-06  Bruno Haible  <bruno@clisp.org>
24110
24111         New module 'wcsncasecmp'.
24112         * modules/wcsncasecmp: New file.
24113         * lib/wchar.in.h (wcsncasecmp): New declaration.
24114         * lib/wcsncasecmp.c: New file.
24115         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24116         * m4/wcsncasecmp.m4: New file.
24117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24119         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24120         HAVE_WCSNCASECMP.
24121         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24122         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24123
24124 2011-02-06  Bruno Haible  <bruno@clisp.org>
24125
24126         New module 'wcscasecmp'.
24127         * modules/wcscasecmp: New file.
24128         * lib/wchar.in.h (wcscasecmp): New declaration.
24129         * lib/wcscasecmp.c: New file.
24130         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24131         * m4/wcscasecmp.m4: New file.
24132         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24133         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24134         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24135         HAVE_WCSCASECMP.
24136         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24137         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24138
24139 2011-02-05  Bruno Haible  <bruno@clisp.org>
24140
24141         New module 'wcsncmp'.
24142         * modules/wcsncmp: New file.
24143         * lib/wchar.in.h (wcsncmp): New declaration.
24144         * lib/wcsncmp.c: New file.
24145         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24146         * m4/wcsncmp.m4: New file.
24147         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24148         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24149         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24150         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24151         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24152
24153 2011-02-05  Bruno Haible  <bruno@clisp.org>
24154
24155         New module 'wcscmp'.
24156         * modules/wcscmp: New file.
24157         * lib/wchar.in.h (wcscmp): New declaration.
24158         * lib/wcscmp.c: New file.
24159         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24160         * m4/wcscmp.m4: New file.
24161         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24162         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24163         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24164         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24165         * doc/posix-functions/wcscmp.texi: Mention the new module.
24166
24167 2011-02-05  Bruno Haible  <bruno@clisp.org>
24168
24169         New module 'wcsncat'.
24170         * modules/wcsncat: New file.
24171         * lib/wchar.in.h (wcsncat): New declaration.
24172         * lib/wcsncat.c: New file.
24173         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24174         * m4/wcsncat.m4: New file.
24175         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24176         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24177         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24178         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24179         * doc/posix-functions/wcsncat.texi: Mention the new module.
24180
24181 2011-02-05  Bruno Haible  <bruno@clisp.org>
24182
24183         New module 'wcscat'.
24184         * modules/wcscat: New file.
24185         * lib/wchar.in.h (wcscat): New declaration.
24186         * lib/wcscat.c: New file.
24187         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24188         * m4/wcscat.m4: New file.
24189         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24190         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24191         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24192         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24193         * doc/posix-functions/wcscat.texi: Mention the new module.
24194
24195 2011-02-05  Bruno Haible  <bruno@clisp.org>
24196
24197         New module 'wcpncpy'.
24198         * modules/wcpncpy: New file.
24199         * lib/wchar.in.h (wcpncpy): New declaration.
24200         * lib/wcpncpy.c: New file.
24201         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24202         * m4/wcpncpy.m4: New file.
24203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24205         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24206         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24207         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24208
24209 2011-02-05  Bruno Haible  <bruno@clisp.org>
24210
24211         New module 'wcsncpy'.
24212         * modules/wcsncpy: New file.
24213         * lib/wchar.in.h (wcsncpy): New declaration.
24214         * lib/wcsncpy.c: New file.
24215         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24216         * m4/wcsncpy.m4: New file.
24217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24219         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24220         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24221         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24222
24223 2011-02-05  Bruno Haible  <bruno@clisp.org>
24224
24225         New module 'wcpcpy'.
24226         * modules/wcpcpy: New file.
24227         * lib/wchar.in.h (wcpcpy): New declaration.
24228         * lib/wcpcpy.c: New file.
24229         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24230         * m4/wcpcpy.m4: New file.
24231         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24232         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24233         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24234         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24235         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24236
24237 2011-02-05  Bruno Haible  <bruno@clisp.org>
24238
24239         New module 'wcscpy'.
24240         * modules/wcscpy: New file.
24241         * lib/wchar.in.h (wcscpy): New declaration.
24242         * lib/wcscpy.c: New file.
24243         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24244         * m4/wcscpy.m4: New file.
24245         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24246         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24247         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24248         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24249         * doc/posix-functions/wcscpy.texi: Mention the new module.
24250
24251 2011-02-05  Bruno Haible  <bruno@clisp.org>
24252
24253         New module 'wcsnlen'.
24254         * modules/wcsnlen: New file.
24255         * lib/wchar.in.h (wcsnlen): New declaration.
24256         * lib/wcsnlen.c: New file.
24257         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24258         * m4/wcsnlen.m4: New file.
24259         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24260         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24261         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24262         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24263         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24264
24265 2011-02-05  Bruno Haible  <bruno@clisp.org>
24266
24267         New module 'wcslen'.
24268         * modules/wcslen: New file.
24269         * lib/wchar.in.h (wcslen): New declaration.
24270         * lib/wcslen.c: New file.
24271         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24272         * m4/wcslen.m4: New file.
24273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24275         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24276         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24277         * doc/posix-functions/wcslen.texi: Mention the new module.
24278
24279 2011-02-05  Bruno Haible  <bruno@clisp.org>
24280
24281         New module 'wmemset'.
24282         * modules/wmemset: New file.
24283         * lib/wchar.in.h (wmemset): New declaration.
24284         * lib/wmemset.c: New file.
24285         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24286         * m4/wmemset.m4: New file.
24287         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24288         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24289         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24290         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24291         * doc/posix-functions/wmemset.texi: Mention the new module.
24292
24293 2011-02-05  Bruno Haible  <bruno@clisp.org>
24294
24295         New module 'wmemmove'.
24296         * modules/wmemmove: New file.
24297         * lib/wchar.in.h (wmemmove): New declaration.
24298         * lib/wmemmove.c: New file.
24299         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24300         * m4/wmemmove.m4: New file.
24301         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24302         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24303         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24304         HAVE_WMEMMOVE.
24305         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24306         * doc/posix-functions/wmemmove.texi: Mention the new module.
24307
24308 2011-02-05  Bruno Haible  <bruno@clisp.org>
24309
24310         New module 'wmemcpy'.
24311         * modules/wmemcpy: New file.
24312         * lib/wchar.in.h (wmemcpy): New declaration.
24313         * lib/wmemcpy.c: New file.
24314         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24315         * m4/wmemcpy.m4: New file.
24316         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24317         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24318         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24319         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24320         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24321
24322 2011-02-05  Bruno Haible  <bruno@clisp.org>
24323
24324         New module 'wmemcmp'.
24325         * modules/wmemcmp: New file.
24326         * lib/wchar.in.h (wmemcmp): New declaration.
24327         * lib/wmemcmp.c: New file.
24328         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24329         * m4/wmemcmp.m4: New file.
24330         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24331         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24332         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24333         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24334         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24335
24336 2011-02-07  Jim Meyering  <meyering@redhat.com>
24337
24338         di-set, ino-map: new modules, from coreutils
24339         * lib/di-set.c: New file.
24340         * lib/di-set.h: Likewise.
24341         * lib/ino-map.c: Likewise.
24342         * lib/ino-map.h: Likewise.
24343         * modules/di-set: Likewise.
24344         * modules/di-set-tests: Likewise.
24345         * modules/ino-map: Likewise.
24346         * modules/ino-map-tests: Likewise.
24347         * tests/test-di-set.c: Likewise.
24348         * tests/test-ino-map.c: Likewise.
24349
24350 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24351
24352         getloadavg: merge minor changes from Emacs
24353
24354         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24355         (getloadavg): Use memset, not bzero.
24356
24357         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24358         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24359         clash (bug#86).
24360
24361 2010-11-14  Bruno Haible  <bruno@clisp.org>
24362
24363         Allow multiple gnulib generated replacements to coexist.
24364         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24365         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24366         * lib/langinfo.in.h (nl_item): Likewise.
24367         * lib/math.in.h (_NaN, NAN): Likewise.
24368         * lib/netdb.in.h (struct addrinfo): Likewise.
24369         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24370         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24371         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24372         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24373         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24374         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24375         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24376         pthread_mutexattr_init, pthread_mutexattr_settype,
24377         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24378         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24379         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24380         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24381         * lib/sched.in.h (struct sched_param): Likewise.
24382         * lib/se-selinux.in.h (security_class_t, security_context_t,
24383         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24384         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24385         lsetfilecon, fsetfilecon, security_check_context,
24386         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24387         Likewise.
24388         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24389         Likewise.
24390         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24391         _gl_function_taking_int_returning_void_t, union sigval,
24392         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24393         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24394         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24395         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24396         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24397         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24398         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24399         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24400         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24401         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24402         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24403         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24404         socklen_t, rpl_fd_isset): Likewise.
24405         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24406         * lib/sys_time.in.h (struct timeval): Likewise.
24407         * lib/sys_times.in.h (struct tms): Likewise.
24408         * lib/sys_utsname.in.h (struct utsname):
24409         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24410         * lib/unistd.in.h (getpagesize): Likewise.
24411         * lib/wchar.in.h (mbstate_t): Likewise.
24412         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24413         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24414         towlower, towupper): Likewise.
24415         Reported by Sam Steingold <sds@gnu.org>.
24416
24417 2011-02-05  Eric Blake  <eblake@redhat.com>
24418
24419         unsetenv: work around Haiku issues
24420         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24421         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24422
24423 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24424
24425         libposix: avoid calling error() within libposix
24426         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24427         is defined.
24428
24429 2011-02-05  Eric Blake  <eblake@redhat.com>
24430
24431         strerror_r-posix: port to cygwin
24432         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24433         implementation.
24434         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24435         * tests/test-strerror_r.c (main): Fix test.
24436         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24437         issue.
24438
24439 2011-02-05  Bruno Haible  <bruno@clisp.org>
24440
24441         New module 'wmemchr'.
24442         * modules/wmemchr: New file.
24443         * lib/wchar.in.h (wmemchr): New declaration.
24444         * lib/wmemchr.c: New file.
24445         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24446         * m4/wmemchr.m4: New file.
24447         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24448         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24449         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24450         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24451         * doc/posix-functions/wmemchr.texi: Mention the new module.
24452
24453 2011-02-04  Eric Blake  <eblake@redhat.com>
24454
24455         fdopendir: detect FreeBSD bug
24456         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24457         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24458
24459 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24460
24461         stdbool: do not define HAVE_STDBOOL_H
24462         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24463         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24464         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24465         imported from the latest Autoconf git.  It was motivated by Emacs,
24466         which uses gnulib but does not need HAVE_STDBOOL_H.
24467
24468 2011-02-04  Bruno Haible  <bruno@clisp.org>
24469
24470         wcsnrtombs: Prepare for new module wwcsnrtombs.
24471         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24472         * lib/wcsnrtombs.c: Include it.
24473         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24474
24475         wcsrtombs: Prepare for new module wwcsrtombs.
24476         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24477         * lib/wcsrtombs.c: Include it.
24478         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24479
24480         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24481         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24482         * lib/mbsnrtowcs.c: Include it.
24483         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24484
24485         mbsrtowcs: Prepare for new module mbsrtowwcs.
24486         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24487         * lib/mbsrtowcs.c: Include it.
24488         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24489
24490 2011-02-04  Bruno Haible  <bruno@clisp.org>
24491
24492         vasnprintf: Reduce use of malloc for small format strings.
24493         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24494         (arguments): Add room for the first 7 arguments.
24495         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24496         (char_directives, u8_directives, u16_directives, u32_directives): Add
24497         room for the first 7 directives.
24498         * lib/printf-parse.c: Include <string.h>.
24499         (PRINTF_PARSE): Change memory handling code so that it uses the first
24500         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24501         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24502         Reported by Pádraig Brady <P@draigbrady.com>.
24503
24504 2011-01-31  Eric Blake  <eblake@redhat.com>
24505
24506         dup2: work around Haiku bug
24507         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24508         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24509         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24510         * tests/test-dup2.c (main): Enhance test.
24511
24512 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24513
24514         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24515         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24516         declared by eglibc 2.11.2.
24517         * lib/stdio.in.h: Likewise.
24518
24519 2011-01-31  Eric Blake  <eblake@redhat.com>
24520
24521         ignore-value: add missing test dependency
24522         * tests/test-ignore-value.c: Revert previous change; stdio.h
24523         provides off_t.
24524         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24525
24526 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24527
24528         mktime: clarify long_int width checking
24529         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24530         the top level, to make it clearer that the assumption about
24531         long_int width is being checked.  See
24532         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24533
24534 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24535
24536         ignore-value: Fix self-test.
24537         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24538
24539 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24540
24541         TYPE_MAXIMUM: avoid theoretically undefined behavior
24542         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24543         negative number, which the C Standard says has undefined behavior.
24544         In practice this is not a problem, but might as well do it by the book.
24545         Reported by Rich Felker and Eric Blake; see
24546         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24547         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24548         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24549         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24550         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24551         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24552         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24553
24554         mktime: #undef mktime before #defining it
24555         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24556
24557         mktime: systematically normalize tm_isdst comparisons
24558         * lib/mktime.c (isdst_differ): New function.
24559         (__mktime_internal): Use it systematically for all isdst comparisons.
24560         This completes the fix for libc BZ #6723, and removes the need for
24561         normalizing tm_isdst.  See
24562         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24563         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24564
24565         mktime: fix some integer overflow issues and sidestep the rest
24566
24567         This was prompted by a bug report by Benjamin Lindner for MinGW
24568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24569         His bug is due to signed integer overflow (0 - INT_MIN), and I
24570         I scanned through mktime.c looking for other integer overflow
24571         problems, fixing all the bugs I found.
24572
24573         Although the C Standard says the resulting code is still not safe
24574         in the presence of integer overflow, in practice it should be good
24575         enough for all real-world two's-complement implementations, except
24576         for debugging environments that deliberately trap on integer
24577         overflow (e.g., gcc -ftrapv).
24578
24579         * lib/mktime.c (WRAPV): New macro.
24580         (SHR): Also check that long_int and time_t shift right in the
24581         usual way, before using the fast-but-unportable method.
24582         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24583         used.  The code already assumed two's complement, so there's
24584         no need to test for alternatives.  All uses removed.
24585         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24586         the C standard.  Problem reported by Rich Felker in
24587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24588         (twos_complement_arithmetic): Also check long_int and time_t.
24589         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24590         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24591         (__mktime_internal): Avoid integer overflow with unary subtraction
24592         in two instances where -1 - X is an adequate replacement for -X,
24593         since the calculations are approximate.
24594
24595 2011-01-29  Eric Blake  <eblake@redhat.com>
24596
24597         mktime: avoid infinite loop
24598         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24599         type; behavior is still undefined but portable to all known targets.
24600         Reported by Rich Felker.
24601
24602 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24603
24604         rename, unlink, same-inode: Relicense.
24605         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24606         * modules/unlink (License): Likewise.
24607         * modules/same-inode (License): Likewise.
24608
24609 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24610
24611         mktime: avoid problems on NetBSD 5 / i386
24612         * lib/mktime.c (long_int): New type.  This works around a problem
24613         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24614         but time_t is 64 bits, and where I expect the existing code is
24615         wrong in some cases.
24616         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24617         (ydhms_diff): Bring back the compile-time check for wide-enough
24618         year and yday.
24619
24620         mktime: fix misspelling in comment
24621         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24622         This merges all recent glibc changes of importance.
24623
24624 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24625
24626         move-if-change: cope with concurrent mv of identical file.
24627         * build-aux/move-if-change (CMPPROG): Accept environment
24628         variable as an override for `cmp'.
24629         (usage): Document CMPPROG.
24630         Adjust comparison to drop stdout.  Cope with failure of mv if
24631         the target file exists and is identical to the source, for
24632         parallel builds.
24633         Report from H.J. Lu against binutils in PR binutils/12283.
24634
24635 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24636
24637         * users.txt: Mention sharutils.
24638
24639 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24640
24641         * users.txt: Mention OATH Toolkit.
24642
24643 2011-01-27  Bruno Haible  <bruno@clisp.org>
24644
24645         Prepare for supporting FreeBSD 10.
24646         * build-aux/config.libpath: Remove handling of freebsd1*.
24647
24648 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24649
24650         Prepare for supporting FreeBSD 10.
24651         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24652         match FreeBSD 10.0.
24653
24654 2011-01-27  Bruno Haible  <bruno@clisp.org>
24655
24656         vma-iter, get-rusage-as: Add OpenBSD support.
24657         * modules/vma-iter (configure.ac): Test for mquery.
24658         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24659         * lib/vma-iter.c: Include <sys/mman.h>.
24660         (vma_iterate): Add an implementation based on mquery().
24661         * lib/resource-ext.h (get_rusage_as): Update comments.
24662         * lib/get-rusage-as.c: Likewise.
24663         * lib/get-rusage-data.c: Likewise.
24664
24665 2011-01-26  Karl Berry  <karl@gnu.org>
24666
24667         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24668         variables to make it easier to override the makeinfo program used.
24669
24670 2011-01-26  Eric Blake  <eblake@redhat.com>
24671
24672         fcntl: work around Haiku F_DUPFD bugs
24673         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24674         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24675         cloexec bit on duplication.
24676         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24677
24678 2011-01-26  Bruno Haible  <bruno@clisp.org>
24679
24680         Enable memory leak tests on AIX.
24681         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24682         * tests/test-fprintf-posix3.c (main): Likewise.
24683
24684 2011-01-26  Bruno Haible  <bruno@clisp.org>
24685
24686         Tests for module 'get-rusage-data'.
24687         * modules/get-rusage-data-tests: New file.
24688         * tests/test-get-rusage-data.c: New file.
24689
24690         New module 'get-rusage-data'.
24691         * lib/resource-ext.h (get_rusage_data): New declaration.
24692         * lib/get-rusage-data.c: New file.
24693         * modules/get-rusage-data: New file.
24694
24695 2011-01-25  Bruno Haible  <bruno@clisp.org>
24696
24697         get-rusage-as: Allow for easier testing.
24698         * lib/resource-ext.h (get_rusage_as): Add comment.
24699         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24700         (main): New function for interactive testing.
24701
24702 2011-01-25  Bruno Haible  <bruno@clisp.org>
24703
24704         vma-iter: Treat Haiku like BeOS.
24705         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24706         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24707
24708 2011-01-25  Eric Blake  <eblake@redhat.com>
24709
24710         c-stack: fix regression on cygwin when libsigsegv is present
24711         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
24712
24713 2011-01-24  Bruno Haible  <bruno@clisp.org>
24714
24715         vma-iter: Avoid empty intervals.
24716         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
24717         on an empty interval.
24718
24719 2011-01-24  Jim Meyering  <meyering@redhat.com>
24720
24721         u64: remove unnecessary #include
24722         * lib/u64.h: Don't include <stddef.h>.  It was not used.
24723
24724 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24725
24726         Allow the user to avoid the HAVE_RAW_DECL_* macros.
24727         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
24728
24729 2011-01-23  Bruno Haible  <bruno@clisp.org>
24730
24731         New module 'vma-iter'.
24732         * lib/vma-iter.h: New file.
24733         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
24734         * modules/vma-iter: New file.
24735         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
24736         for get_rusage_as_via_iterator.
24737         (vma_iterate_callback): New function.
24738         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
24739         * modules/get-rusage-as (Depends-on): Add vma-iter.
24740
24741 2011-01-23  Bruno Haible  <bruno@clisp.org>
24742
24743         uninorm: Tweak includes.
24744         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
24745         Reported by Jim Meyering.
24746
24747 2011-01-23  Bruno Haible  <bruno@clisp.org>
24748
24749         get-rusage-as: Improve on NetBSD.
24750         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
24751         /proc, like on FreeBSD.
24752
24753 2011-01-23  Jim Meyering  <meyering@redhat.com>
24754
24755         xreadlink.h: remove unnecessary #include
24756         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
24757
24758         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
24759         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
24760
24761 2011-01-23  Bruno Haible  <bruno@clisp.org>
24762
24763         get-rusage-as: Fix bug.
24764         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
24765         original limit when aborting the first loop.
24766
24767 2011-01-23  Bruno Haible  <bruno@clisp.org>
24768
24769         wctype: Ensure valid C syntax.
24770         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
24771         unconditionally, instead of gl_NEXT_HEADERS conditionally.
24772
24773 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
24774
24775         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
24776         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
24777         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
24778         as they are needed only for configure's test case.
24779         This removes two unnecessary symbols from config.h.
24780
24781         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
24782         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
24783         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
24784         AC_CHECK_HEADERS_ONCE on a header that we also invoke
24785         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
24786         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
24787         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
24788         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
24789         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24790         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24791         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24792         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24793         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24794         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24795         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
24796         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24797         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24798         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24799
24800 2011-01-21  Eric Blake  <eblake@redhat.com>
24801
24802         maintainer-makefile: work with older git for submodule check
24803         * top/maint.mk (public-submodule-commit): Rewrite to avoid
24804         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
24805         Reported by Matthias Bolte.
24806
24807         bootstrap: minor portability fixes
24808         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
24809         (usage): Omit leading capital and trailing . on help phrases, per
24810         GNU Coding Standards.
24811         (check_versions, top level): Prefix messages with script name.
24812
24813 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
24814
24815         bootstrap: support --no-git option
24816         * build-aux/bootstrap: Add --no-git option, to be used when
24817         --gnulib-srcdir points to the exact desired checkout.
24818
24819 2011-01-21  Eric Blake  <eblake@redhat.com>
24820
24821         strerror_r-posix: work with glibc 2.13
24822         * lib/strerror_r.c (strerror_r): Fix return type.
24823
24824 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24825             Bruno Haible  <bruno@clisp.org>
24826
24827         uN_strstr: New unit tests.
24828         * modules/unistr/u8-strstr-tests: New file.
24829         * modules/unistr/u16-strstr-tests: New file.
24830         * modules/unistr/u32-strstr-tests: New file.
24831         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
24832         * tests/unistr/test-u8-strstr.c: New file.
24833         * tests/unistr/test-u16-strstr.c: New file.
24834         * tests/unistr/test-u32-strstr.c: New file.
24835
24836 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24837             Bruno Haible  <bruno@clisp.org>
24838
24839         Make uN_strstr functions O(n) worst-case.
24840         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
24841         16-bit and 32-bit unit cases, use the unibyte algorithm from
24842         lib/mbsstr.c.
24843         * lib/unistr/u8-strstr.c: Include <string.h>.
24844         (UNIT_IS_UINT8_T): New macro.
24845         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
24846         (U_STRLEN, U_STRNLEN): New macros.
24847         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
24848         (U_STRLEN, U_STRNLEN): New macros.
24849         * modules/unistr/u8-strstr (Depends-on): Add strstr.
24850         (configure.ac): Update required libunistring version.
24851         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
24852         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
24853         malloca.
24854         (configure.ac): Update required libunistring version.
24855         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
24856         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
24857         malloca.
24858         (configure.ac): Update required libunistring version.
24859
24860 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24861             Bruno Haible  <bruno@clisp.org>
24862
24863         Prepare for faster uN_strstr functions.
24864         * lib/str-kmp.h: Support definable UNITs.
24865         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
24866         needle_len argument.
24867         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
24868         * lib/mbscasestr.c (mbscasestr): Likewise.
24869
24870 2011-01-21  Pádraig Brady <P@draigBrady.com>
24871
24872         malloca-tests: make faster by unsetting MALLOC_PERTURB_
24873         * tests/test-malloca.c (main): Unset the environment variable
24874         to greatly speed up the test.
24875         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24876         * modules/malloca-tests: Depend on unsetenv.
24877
24878 2011-01-21  Pádraig Brady <P@draigBrady.com>
24879
24880         ignore-value: remove stdint dependency
24881         * lib/ignore-value.h: Remove <stdint.h>
24882         * modules/ignore-value: Remove stdint dependency.
24883
24884 2011-01-21  Jim Meyering  <meyering@redhat.com>
24885
24886         maint.mk: adjust variable name to be consistent with other gl_ vars
24887         * top/maint.mk (gl_public_submodule_commit): Rename the variable
24888         to be lower case.
24889
24890 2011-01-20  Jim Meyering  <meyering@redhat.com>
24891
24892         maint.mk: make "check" depend on public-submodule-commit by default
24893         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
24894
24895 2011-01-20  Bruno Haible  <bruno@clisp.org>
24896
24897         mbfile, mbiter: Complete change from 2008-12-21.
24898         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
24899         * m4/mbiter.m4 (gl_MBITER): Likewise.
24900
24901 2011-01-20  Jim Meyering  <meyering@redhat.com>
24902
24903         init.sh: insert space between each function name and "()"
24904         * tests/init.sh: Make it a little easier to see that a function's
24905         name is "warn_", and not "warn" when looking at the first part of
24906         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
24907
24908 2011-01-20  Jim Meyering  <meyering@redhat.com>
24909
24910         mountlist: clean up code formatting
24911         * lib/mountlist.c (read_file_system_list): Split a long line,
24912         correct bracing style, use NULL in place of "(struct statfs *)0",
24913         don't parenthesize return value, add spaces around "=" and after
24914         ";-in-for-stmt".
24915
24916 2011-01-14  Markus Duft <mduft@gentoo.org>
24917
24918         mountlist: add support for Interix
24919         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
24920         Apply statvfs to all entries of /dev/fs.
24921         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
24922         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
24923
24924 2011-01-20  Jim Meyering  <meyering@redhat.com>
24925
24926         maint.mk: improve the public-submodule-commit rule
24927         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
24928         to suppress printing of its commands... unless V=1.
24929         Add git submodule's --quiet option to suppress printing of e.g.,
24930         "Entering gnulib" output.
24931         "cd" into $(srcdir) before running git submodule.
24932
24933 2011-01-20  Bruno Haible  <bruno@clisp.org>
24934
24935         include_next: Fix bug introduced on 2011-01-18.
24936         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
24937         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
24938         ac_cv_header_... variable if the second argument is not 'check'.
24939         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
24940         gl_NEXT_HEADERS_INTERNAL.
24941
24942 2011-01-20  Bruno Haible  <bruno@clisp.org>
24943
24944         Allow the user to avoid the GNULIB_TEST_* macros.
24945         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
24946         Suggested by Paul Eggert.
24947
24948 2011-01-14  Jim Meyering  <meyering@redhat.com>
24949
24950         bootstrap: avoid failure when there is no .gitmodules file
24951         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
24952         has been assigned to, even when its value is the empty string.
24953         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
24954         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
24955         Reported by John W. Eaton <jwe@gnu.org>.
24956
24957 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
24958
24959         assume <ctype.h>, ..., <time.h> exist
24960         For years gnulib has been assuming the existence of the headers
24961         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
24962         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
24963         them, since they don't appear to be needed.
24964         * README (Portability guidelines): Document this.
24965         * lib/flock.c: Assume <fcntl.h> exists.
24966         * lib/regex_internal.h: Assume <locale.h> exists.
24967         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
24968         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
24969         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
24970         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
24971         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
24972         * m4/regex.m4 (gl_REGEX): Likewise.
24973         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
24974         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
24975         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
24976         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
24977         * tests/test-argp.c: Likewise.
24978         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
24979
24980         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
24981         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
24982         AA_APPLE_UNIVERSAL_BUILD.  See
24983         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
24984         * NEWS: Document this.
24985
24986 2011-01-19  Eric Blake  <eblake@redhat.com>
24987
24988         c-stack: assume stack overflow if SA_SIGINFO unsupported
24989         * lib/c-stack.c (SIGACTION_WORKS): Rename...
24990         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
24991         sigaction will work.
24992         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
24993         behavior match Linux.
24994         * tests/test-c-stack.c (main): Prefer NULL for pointers.
24995
24996         stdbool-tests: accommodate Haiku
24997         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
24998
24999         binary-io: fix O_TEXT on Haiku
25000         * modules/binary-io (Depends-on): Add fcntl-h.
25001         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25002         than blindly undefining O_TEXT.
25003         Reported by Scott McCreary.
25004
25005 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25006
25007         include_next: do not check for standard headers like stddef.h
25008
25009         I found this problem when modifying Emacs to use gnulib.
25010         I noticed that it added HAVE_STDDEF_H to config.h, even though
25011         gnulib always assumes <stddef.h> exists as per README and this
25012         symbol is unnecessary.
25013         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25014         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25015         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25016         faster for headers like stddef.h that are known to exist.
25017         (gl_CHECK_NEXT_HEADERS): Use it.
25018         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25019         rather than gl_CHECK_NEXT_HEADERS.
25020         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25021         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25022
25023 2011-01-18  Eric Blake  <eblake@redhat.com>
25024
25025         ansi-c++-opt: skip C++ dependency style if C++ is unused
25026         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25027         tests when we know C++ compilation is not desired.
25028         Reported by Scott McCreary.
25029
25030 2011-01-18  Bruno Haible  <bruno@clisp.org>
25031
25032         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25033         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25034         (main): Perform test also when getrlimit and setrlimit don't exist or
25035         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25036         limiting the address space size using setrlimit, compare the address
25037         space size before and after the the test.
25038         * tests/test-dprintf-posix2.c: Likewise.
25039         * tests/test-fprintf-posix3.sh: Update skip messages.
25040         * tests/test-dprintf-posix2.sh: Likewise.
25041         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25042         * modules/dprintf-posix-tests (Depends-on): Likewise.
25043         Reported by Bruce Korb <bkorb@gnu.org> and
25044         Gary V. Vaughan <gary@gnu.org>.
25045
25046 2011-01-18  Bruno Haible  <bruno@clisp.org>
25047
25048         get-rusage-as: Improvement for Cygwin.
25049         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25050         areas that are merely reserved.
25051
25052 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25053
25054         strftime: remove dependencies on multibyte modules
25055
25056         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25057         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25058         only if __osf__ is defined, and I suspect OSF doesn't need these
25059         other modules.  If my guess is wrong, we'll need to come up with a
25060         variant of strftime that doesn't need the multibyte modules.
25061
25062         I discovered this problem when attempting modify Emacs to use the
25063         strftime module.  With the previous gnulib, this caused Emacs to
25064         need 31 new files, ranging from lib/config.charset to
25065         m4/wint_t.m4.  This was overkill and I expect would be offputting
25066         to the Emacs maintainers.  After this change, only 6 new files are
25067         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25068         stdbool.m4, and tm_gmtoff.m4.
25069
25070         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25071         Suggested by Bruno Haible in
25072         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25073         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25074         and do not check for wchar.h.
25075         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25076         (Depends-on): Remove mbrlen, mbsinit, wchar.
25077
25078 2011-01-18  Bruno Haible  <bruno@clisp.org>
25079
25080         Tests for module 'get-rusage-as'.
25081         * modules/get-rusage-as-tests: New file.
25082         * tests/test-get-rusage-as.c: New file.
25083
25084         New module 'get-rusage-as'.
25085         * modules/get-rusage-as: New file.
25086         * lib/resource-ext.h: New file.
25087         * lib/get-rusage-as.c: New file.
25088
25089 2011-01-17  Eric Blake  <eblake@redhat.com>
25090
25091         sigaction: relax license from LGPLv3+ to LGPLv2+
25092         * modules/sigaction (License): Relax to LGPLv2+.
25093
25094 2011-01-14  Bruno Haible  <bruno@clisp.org>
25095
25096         filemode: Make function declarations usable in C++ mode.
25097         * lib/filemode.h: Enclose function declarations in extern "C" block.
25098         Reported by John W. Eaton <jwe@gnu.org>.
25099
25100 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25101
25102         save-cwd: no longer include "xgetcwd.h"
25103         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25104         This avoids a compilation failure in projects that use save-cwd
25105         without also using the xgetcwd module.
25106
25107 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25108
25109         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25110         This is so that a program like Emacs, which needs only dtoastr,
25111         does not have to bother with distributing and compiling ftoastr
25112         and ldtoastr.
25113         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25114         * modules/dtoastr, modules/ldtoastr: New files.
25115         * modules/ftoastr: Now works just for 'float'.
25116         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25117         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25118         dtoastr.c, ldtoastr.c.
25119
25120 2011-01-11  Jim Meyering  <meyering@redhat.com>
25121
25122         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25123         There is no need to work around the lack of the fchdir function,
25124         since gnulib can now provide a replacement when required.
25125         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25126         * modules/save-cwd (Depends-on): Add fchdir.
25127
25128 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25129
25130         openat, save-cwd: avoid xmalloc
25131
25132         This removes a direct (but undocumented) dependency of openat on
25133         xalloc, along with an indirect dependency via save-cwd.  It also
25134         removes a dependency of save-cwd on xgetcwd, and thereby
25135         indirectly on xalloc.  This change causes the openat substitute
25136         to fall back on save_cwd when memory is tight, and for save_cwd to
25137         fail instead of dying when memory is tight, but that's good enough.
25138         Problem and initial idea for fix reported by Bastien Roucaries in
25139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25140
25141         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25142         xalloc.h (for xmalloc).
25143         (openat_proc_name): Use malloc, not xmalloc.
25144         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25145         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25146
25147         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25148         This avoids heap allocation for file names whose lengths are in
25149         the range 512..1023, with the upper bound increasing to at most
25150         4031 depending on the platform's PATH_MAX.  (We do not want
25151         pathmax.h here as it might supply a non-constant PATH_MAX.)
25152         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25153         Perhaps they should be moved to malloca.h?
25154         (OPENAT_BUFFER_SIZE): Use them.
25155
25156 2011-01-10  Bruno Haible  <bruno@clisp.org>
25157
25158         doc: Update users.txt.
25159         * users.txt: Add recutils.
25160
25161 2011-01-09  Karl Berry  <karl@gnu.org>
25162
25163         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25164
25165         * doc/configmake.texi: New file.
25166         * doc/gnulib.texi: Include it.
25167         * modules/configmake: Move documentation from here.
25168
25169 2011-01-09  Bruno Haible  <bruno@clisp.org>
25170
25171         Update to Unicode 6.0.0.
25172         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25173         (get_lbp): Update for Unicode 6.0.0.
25174         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25175         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25176         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25177         U+11001, U+11038..U+11046. Remove U+06DE.
25178         (uc_width): Fix bounds of planes.
25179         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25180         lib/uniwidth/width.c.
25181         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25182         trailing whitespace removed.
25183         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25184         without comments, but with the original copyright notice.
25185         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25186         * lib/unicase/ignorable.h: Likewise.
25187         * lib/unicase/tocasefold.h: Likewise.
25188         * lib/unicase/tolower.h: Likewise.
25189         * lib/unicase/totitle.h: Likewise.
25190         * lib/unicase/toupper.h: Likewise.
25191         * lib/unictype/bidi_of.h: Likewise.
25192         * lib/unictype/blocks.h: Likewise.
25193         * lib/unictype/categ_C.h: Likewise.
25194         * lib/unictype/categ_Cn.h: Likewise.
25195         * lib/unictype/categ_L.h: Likewise.
25196         * lib/unictype/categ_Ll.h: Likewise.
25197         * lib/unictype/categ_Lm.h: Likewise.
25198         * lib/unictype/categ_Lo.h: Likewise.
25199         * lib/unictype/categ_Lu.h: Likewise.
25200         * lib/unictype/categ_M.h: Likewise.
25201         * lib/unictype/categ_Mc.h: Likewise.
25202         * lib/unictype/categ_Me.h: Likewise.
25203         * lib/unictype/categ_Mn.h: Likewise.
25204         * lib/unictype/categ_N.h: Likewise.
25205         * lib/unictype/categ_Nd.h: Likewise.
25206         * lib/unictype/categ_No.h: Likewise.
25207         * lib/unictype/categ_P.h: Likewise.
25208         * lib/unictype/categ_Po.h: Likewise.
25209         * lib/unictype/categ_S.h: Likewise.
25210         * lib/unictype/categ_Sc.h: Likewise.
25211         * lib/unictype/categ_Sk.h: Likewise.
25212         * lib/unictype/categ_Sm.h: Likewise.
25213         * lib/unictype/categ_So.h: Likewise.
25214         * lib/unictype/categ_of.h: Likewise.
25215         * lib/unictype/combining.h: Likewise.
25216         * lib/unictype/ctype_alnum.h: Likewise.
25217         * lib/unictype/ctype_alpha.h: Likewise.
25218         * lib/unictype/ctype_graph.h: Likewise.
25219         * lib/unictype/ctype_lower.h: Likewise.
25220         * lib/unictype/ctype_print.h: Likewise.
25221         * lib/unictype/ctype_punct.h: Likewise.
25222         * lib/unictype/ctype_upper.h: Likewise.
25223         * lib/unictype/decdigit.h: Likewise.
25224         * lib/unictype/digit.h: Likewise.
25225         * lib/unictype/numeric.h: Likewise.
25226         * lib/unictype/pr_alphabetic.h: Likewise.
25227         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25228         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25229         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25230         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25231         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25232         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25233         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25234         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25235         * lib/unictype/pr_case_ignorable.h: Likewise.
25236         * lib/unictype/pr_cased.h: Likewise.
25237         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25238         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25239         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25240         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25241         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25242         * lib/unictype/pr_combining.h: Likewise.
25243         * lib/unictype/pr_composite.h: Likewise.
25244         * lib/unictype/pr_currency_symbol.h: Likewise.
25245         * lib/unictype/pr_decimal_digit.h: Likewise.
25246         * lib/unictype/pr_deprecated.h: Likewise.
25247         * lib/unictype/pr_format_control.h: Likewise.
25248         * lib/unictype/pr_grapheme_base.h: Likewise.
25249         * lib/unictype/pr_grapheme_extend.h: Likewise.
25250         * lib/unictype/pr_grapheme_link.h: Likewise.
25251         * lib/unictype/pr_id_continue.h: Likewise.
25252         * lib/unictype/pr_id_start.h: Likewise.
25253         * lib/unictype/pr_ideographic.h: Likewise.
25254         * lib/unictype/pr_lowercase.h: Likewise.
25255         * lib/unictype/pr_math.h: Likewise.
25256         * lib/unictype/pr_numeric.h: Likewise.
25257         * lib/unictype/pr_other_alphabetic.h: Likewise.
25258         * lib/unictype/pr_other_id_continue.h: Likewise.
25259         * lib/unictype/pr_other_math.h: Likewise.
25260         * lib/unictype/pr_punctuation.h: Likewise.
25261         * lib/unictype/pr_sentence_terminal.h: Likewise.
25262         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25263         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25264         * lib/unictype/pr_unified_ideograph.h: Likewise.
25265         * lib/unictype/pr_uppercase.h: Likewise.
25266         * lib/unictype/pr_xid_continue.h: Likewise.
25267         * lib/unictype/pr_xid_start.h: Likewise.
25268         * lib/unictype/scripts.h: Likewise.
25269         * lib/unictype/scripts_byname.gperf: Likewise.
25270         * lib/unictype/sy_java_ident.h: Likewise.
25271         * lib/unigbrk/gbrkprop.h: Likewise.
25272         * lib/unilbrk/lbrkprop1.h: Likewise.
25273         * lib/unilbrk/lbrkprop2.h: Likewise.
25274         * lib/uninorm/decomposition-table2.h: Likewise.
25275         * lib/uniwbrk/wbrkprop.h: Likewise.
25276         * tests/unicase/test-cased.c: Likewise.
25277         * tests/unicase/test-ignorable.c: Likewise.
25278         * tests/unicase/test-uc_tolower.c: Likewise.
25279         * tests/unicase/test-uc_totitle.c: Likewise.
25280         * tests/unicase/test-uc_toupper.c: Likewise.
25281         * tests/unictype/test-categ_C.c: Likewise.
25282         * tests/unictype/test-categ_Cn.c: Likewise.
25283         * tests/unictype/test-categ_L.c: Likewise.
25284         * tests/unictype/test-categ_Ll.c: Likewise.
25285         * tests/unictype/test-categ_Lm.c: Likewise.
25286         * tests/unictype/test-categ_Lo.c: Likewise.
25287         * tests/unictype/test-categ_Lu.c: Likewise.
25288         * tests/unictype/test-categ_M.c: Likewise.
25289         * tests/unictype/test-categ_Mc.c: Likewise.
25290         * tests/unictype/test-categ_Me.c: Likewise.
25291         * tests/unictype/test-categ_Mn.c: Likewise.
25292         * tests/unictype/test-categ_N.c: Likewise.
25293         * tests/unictype/test-categ_Nd.c: Likewise.
25294         * tests/unictype/test-categ_No.c: Likewise.
25295         * tests/unictype/test-categ_P.c: Likewise.
25296         * tests/unictype/test-categ_Po.c: Likewise.
25297         * tests/unictype/test-categ_S.c: Likewise.
25298         * tests/unictype/test-categ_Sc.c: Likewise.
25299         * tests/unictype/test-categ_Sk.c: Likewise.
25300         * tests/unictype/test-categ_Sm.c: Likewise.
25301         * tests/unictype/test-categ_So.c: Likewise.
25302         * tests/unictype/test-ctype_alnum.c: Likewise.
25303         * tests/unictype/test-ctype_alpha.c: Likewise.
25304         * tests/unictype/test-ctype_graph.c: Likewise.
25305         * tests/unictype/test-ctype_lower.c: Likewise.
25306         * tests/unictype/test-ctype_print.c: Likewise.
25307         * tests/unictype/test-ctype_punct.c: Likewise.
25308         * tests/unictype/test-ctype_upper.c: Likewise.
25309         * tests/unictype/test-decdigit.h: Likewise.
25310         * tests/unictype/test-digit.h: Likewise.
25311         * tests/unictype/test-numeric.h: Likewise.
25312         * tests/unictype/test-pr_alphabetic.c: Likewise.
25313         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25314         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25315         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25316         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25317         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25318         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25319         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25320         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25321         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25322         * tests/unictype/test-pr_cased.c: Likewise.
25323         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25324         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25325         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25326         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25327         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25328         * tests/unictype/test-pr_combining.c: Likewise.
25329         * tests/unictype/test-pr_composite.c: Likewise.
25330         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25331         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25332         * tests/unictype/test-pr_deprecated.c: Likewise.
25333         * tests/unictype/test-pr_format_control.c: Likewise.
25334         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25335         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25336         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25337         * tests/unictype/test-pr_id_continue.c: Likewise.
25338         * tests/unictype/test-pr_id_start.c: Likewise.
25339         * tests/unictype/test-pr_ideographic.c: Likewise.
25340         * tests/unictype/test-pr_lowercase.c: Likewise.
25341         * tests/unictype/test-pr_math.c: Likewise.
25342         * tests/unictype/test-pr_numeric.c: Likewise.
25343         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25344         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25345         * tests/unictype/test-pr_other_math.c: Likewise.
25346         * tests/unictype/test-pr_punctuation.c: Likewise.
25347         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25348         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25349         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25350         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25351         * tests/unictype/test-pr_uppercase.c: Likewise.
25352         * tests/unictype/test-pr_xid_continue.c: Likewise.
25353         * tests/unictype/test-pr_xid_start.c: Likewise.
25354         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25355         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25356         changes.
25357         * lib/unictype/categ_Cc.h: Likewise.
25358         * lib/unictype/categ_Cf.h: Likewise.
25359         * lib/unictype/categ_Co.h: Likewise.
25360         * lib/unictype/categ_Cs.h: Likewise.
25361         * lib/unictype/categ_Lt.h: Likewise.
25362         * lib/unictype/categ_Nl.h: Likewise.
25363         * lib/unictype/categ_Pc.h: Likewise.
25364         * lib/unictype/categ_Pd.h: Likewise.
25365         * lib/unictype/categ_Pe.h: Likewise.
25366         * lib/unictype/categ_Pf.h: Likewise.
25367         * lib/unictype/categ_Pi.h: Likewise.
25368         * lib/unictype/categ_Ps.h: Likewise.
25369         * lib/unictype/categ_Z.h: Likewise.
25370         * lib/unictype/categ_Zl.h: Likewise.
25371         * lib/unictype/categ_Zp.h: Likewise.
25372         * lib/unictype/categ_Zs.h: Likewise.
25373         * lib/unictype/ctype_blank.h: Likewise.
25374         * lib/unictype/ctype_cntrl.h: Likewise.
25375         * lib/unictype/ctype_digit.h: Likewise.
25376         * lib/unictype/ctype_space.h: Likewise.
25377         * lib/unictype/ctype_xdigit.h: Likewise.
25378         * lib/unictype/mirror.h: Likewise.
25379         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25380         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25381         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25382         * lib/unictype/pr_bidi_control.h: Likewise.
25383         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25384         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25385         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25386         * lib/unictype/pr_bidi_pdf.h: Likewise.
25387         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25388         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25389         * lib/unictype/pr_dash.h: Likewise.
25390         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25391         * lib/unictype/pr_diacritic.h: Likewise.
25392         * lib/unictype/pr_extender.h: Likewise.
25393         * lib/unictype/pr_hex_digit.h: Likewise.
25394         * lib/unictype/pr_hyphen.h: Likewise.
25395         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25396         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25397         * lib/unictype/pr_ignorable_control.h: Likewise.
25398         * lib/unictype/pr_iso_control.h: Likewise.
25399         * lib/unictype/pr_join_control.h: Likewise.
25400         * lib/unictype/pr_left_of_pair.h: Likewise.
25401         * lib/unictype/pr_line_separator.h: Likewise.
25402         * lib/unictype/pr_logical_order_exception.h: Likewise.
25403         * lib/unictype/pr_non_break.h: Likewise.
25404         * lib/unictype/pr_not_a_character.h: Likewise.
25405         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25406         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25407         * lib/unictype/pr_other_id_start.h: Likewise.
25408         * lib/unictype/pr_other_lowercase.h: Likewise.
25409         * lib/unictype/pr_other_uppercase.h: Likewise.
25410         * lib/unictype/pr_paired_punctuation.h: Likewise.
25411         * lib/unictype/pr_paragraph_separator.h: Likewise.
25412         * lib/unictype/pr_pattern_syntax.h: Likewise.
25413         * lib/unictype/pr_pattern_white_space.h: Likewise.
25414         * lib/unictype/pr_private_use.h: Likewise.
25415         * lib/unictype/pr_quotation_mark.h: Likewise.
25416         * lib/unictype/pr_radical.h: Likewise.
25417         * lib/unictype/pr_soft_dotted.h: Likewise.
25418         * lib/unictype/pr_space.h: Likewise.
25419         * lib/unictype/pr_titlecase.h: Likewise.
25420         * lib/unictype/pr_variation_selector.h: Likewise.
25421         * lib/unictype/pr_white_space.h: Likewise.
25422         * lib/unictype/pr_zero_width.h: Likewise.
25423         * lib/unictype/sy_c_ident.h: Likewise.
25424         * lib/unictype/sy_c_whitespace.h: Likewise.
25425         * lib/unictype/sy_java_whitespace.h: Likewise.
25426         * lib/uninorm/composition-table.gperf: Likewise.
25427         * lib/uninorm/decomposition-table1.h: Likewise.
25428         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25429         LB8.
25430         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25431         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25432         * modules/unictype/*: Bump version number of expected libunistring
25433         version.
25434
25435 2011-01-09  Bruno Haible  <bruno@clisp.org>
25436
25437         Update to Unicode 5.2.0.
25438         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25439         trailing whitespace removed.
25440
25441 2011-01-09  Bruno Haible  <bruno@clisp.org>
25442
25443         New Unicode character properties, from Unicode 5.2.0.
25444         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25445         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25446         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25447         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25448         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25449         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25450         uc_is_property_cased, uc_is_property_case_ignorable,
25451         uc_is_property_changes_when_lowercased,
25452         uc_is_property_changes_when_uppercased,
25453         uc_is_property_changes_when_titlecased,
25454         uc_is_property_changes_when_casefolded,
25455         uc_is_property_changes_when_casemapped): New declarations.
25456         * lib/unictype/pr_byname.gperf: Add the new properties.
25457         * modules/unictype/property-byname (Depends-on): Depend on the new
25458         properties modules.
25459         * modules/unictype/property-all (Depends-on): Likewise.
25460         * MODULES.html.sh (Unicode string functions): Add
25461         unictype/property-case-ignorable, unictype/property-cased,
25462         unictype/property-changes-when-casefolded,
25463         unictype/property-changes-when-casemapped,
25464         unictype/property-changes-when-lowercased,
25465         unictype/property-changes-when-titlecased,
25466         unictype/property-changes-when-uppercased.
25467
25468         New module 'unictype/property-changes-when-casemapped'.
25469         * modules/unictype/property-changes-when-casemapped: New file.
25470         * lib/unictype/pr_changes_when_casemapped.c: New file.
25471         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25472         generated by gen-uni-tables.
25473         * modules/unictype/property-changes-when-casemapped-tests: New file.
25474         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25475         automatically generated by gen-uni-tables.
25476
25477         New module 'unictype/property-changes-when-casefolded'.
25478         * modules/unictype/property-changes-when-casefolded: New file.
25479         * lib/unictype/pr_changes_when_casefolded.c: New file.
25480         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25481         generated by gen-uni-tables.
25482         * modules/unictype/property-changes-when-casefolded-tests: New file.
25483         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25484         automatically generated by gen-uni-tables.
25485
25486         New module 'unictype/property-changes-when-titlecased'.
25487         * modules/unictype/property-changes-when-titlecased: New file.
25488         * lib/unictype/pr_changes_when_titlecased.c: New file.
25489         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25490         generated by gen-uni-tables.
25491         * modules/unictype/property-changes-when-titlecased-tests: New file.
25492         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25493         automatically generated by gen-uni-tables.
25494
25495         New module 'unictype/property-changes-when-uppercased'.
25496         * modules/unictype/property-changes-when-uppercased: New file.
25497         * lib/unictype/pr_changes_when_uppercased.c: New file.
25498         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25499         generated by gen-uni-tables.
25500         * modules/unictype/property-changes-when-uppercased-tests: New file.
25501         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25502         automatically generated by gen-uni-tables.
25503
25504         New module 'unictype/property-changes-when-lowercased'.
25505         * modules/unictype/property-changes-when-lowercased: New file.
25506         * lib/unictype/pr_changes_when_lowercased.c: New file.
25507         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25508         generated by gen-uni-tables.
25509         * modules/unictype/property-changes-when-lowercased-tests: New file.
25510         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25511         automatically generated by gen-uni-tables.
25512
25513         New module 'unictype/property-case-ignorable'.
25514         * modules/unictype/property-case-ignorable: New file.
25515         * lib/unictype/pr_case_ignorable.c: New file.
25516         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25517         by gen-uni-tables.
25518         * modules/unictype/property-case-ignorable-tests: New file.
25519         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25520         generated by gen-uni-tables.
25521
25522         New module 'unictype/property-cased'.
25523         * modules/unictype/property-cased: New file.
25524         * lib/unictype/pr_cased.c: New file.
25525         * lib/unictype/pr_cased.h: New file, automatically generated by
25526         gen-uni-tables.
25527         * modules/unictype/property-cased-tests: New file.
25528         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25529         gen-uni-tables.
25530
25531 2011-01-09  Bruno Haible  <bruno@clisp.org>
25532
25533         Update to Unicode 5.2.0.
25534         * lib/gen-uni-tables.c (output_predicate, output_category,
25535         output_combclass, output_bidi_category, output_decimal_digit_test,
25536         output_decimal_digit, output_digit_test, output_digit,
25537         output_numeric_test, output_numeric, output_mirror, output_scripts,
25538         output_scripts_byname, output_blocks, output_ident_category): Fix
25539         comment header.
25540         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25541         get_wbp.
25542         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25543         items.
25544         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25545         Changes_When_Lowercased, Changes_When_Uppercased,
25546         Changes_When_Titlecased, Changes_When_Casefolded,
25547         Changes_When_Casemapped.
25548         (is_property_alphabetic, is_property_default_ignorable_code_point):
25549         Update for Unicode 5.2.0.
25550         (is_property_cased, is_property_case_ignorable,
25551         is_property_changes_when_lowercased,
25552         is_property_changes_when_uppercased,
25553         is_property_changes_when_titlecased,
25554         is_property_changes_when_casefolded,
25555         is_property_changes_when_casemapped): New functions.
25556         (output_properties): Output also the properties cased, case_ignorable,
25557         changes_when_lowercased, changes_when_uppercased,
25558         changes_when_titlecased, changes_when_casefolded,
25559         changes_when_casemapped.
25560         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25561         Unicode TR#11 revision 17 -> 19.
25562         (LBP_CP): New enumeration value.
25563         (LBP_*): Adjust values accordingly.
25564         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25565         TR#14 revision 22 -> 24.
25566         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25567         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25568         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25569         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25570         is_WBP_MIDLETTER.
25571         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25572         the code1 and code2 of each composition rule.
25573         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25574         * lib/unicase/ignorable.h: Likewise.
25575         * lib/unicase/tocasefold.h: Likewise.
25576         * lib/unicase/tolower.h: Likewise.
25577         * lib/unicase/totitle.h: Likewise.
25578         * lib/unicase/toupper.h: Likewise.
25579         * lib/unictype/bidi_of.h: Likewise.
25580         * lib/unictype/blocks.h: Likewise.
25581         * lib/unictype/categ_C.h: Likewise.
25582         * lib/unictype/categ_Cf.h: Likewise.
25583         * lib/unictype/categ_Cn.h: Likewise.
25584         * lib/unictype/categ_L.h: Likewise.
25585         * lib/unictype/categ_Ll.h: Likewise.
25586         * lib/unictype/categ_Lm.h: Likewise.
25587         * lib/unictype/categ_Lo.h: Likewise.
25588         * lib/unictype/categ_Lu.h: Likewise.
25589         * lib/unictype/categ_M.h: Likewise.
25590         * lib/unictype/categ_Mc.h: Likewise.
25591         * lib/unictype/categ_Mn.h: Likewise.
25592         * lib/unictype/categ_N.h: Likewise.
25593         * lib/unictype/categ_Nd.h: Likewise.
25594         * lib/unictype/categ_Nl.h: Likewise.
25595         * lib/unictype/categ_No.h: Likewise.
25596         * lib/unictype/categ_P.h: Likewise.
25597         * lib/unictype/categ_Pd.h: Likewise.
25598         * lib/unictype/categ_Po.h: Likewise.
25599         * lib/unictype/categ_S.h: Likewise.
25600         * lib/unictype/categ_Sc.h: Likewise.
25601         * lib/unictype/categ_So.h: Likewise.
25602         * lib/unictype/categ_of.h: Likewise.
25603         * lib/unictype/combining.h: Likewise.
25604         * lib/unictype/ctype_alnum.h: Likewise.
25605         * lib/unictype/ctype_alpha.h: Likewise.
25606         * lib/unictype/ctype_graph.h: Likewise.
25607         * lib/unictype/ctype_lower.h: Likewise.
25608         * lib/unictype/ctype_print.h: Likewise.
25609         * lib/unictype/ctype_punct.h: Likewise.
25610         * lib/unictype/ctype_upper.h: Likewise.
25611         * lib/unictype/decdigit.h: Likewise.
25612         * lib/unictype/digit.h: Likewise.
25613         * lib/unictype/numeric.h: Likewise.
25614         * lib/unictype/pr_alphabetic.h: Likewise.
25615         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25616         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25617         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25618         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25619         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25620         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25621         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25622         * lib/unictype/pr_combining.h: Likewise.
25623         * lib/unictype/pr_composite.h: Likewise.
25624         * lib/unictype/pr_currency_symbol.h: Likewise.
25625         * lib/unictype/pr_dash.h: Likewise.
25626         * lib/unictype/pr_decimal_digit.h: Likewise.
25627         * lib/unictype/pr_deprecated.h: Likewise.
25628         * lib/unictype/pr_diacritic.h: Likewise.
25629         * lib/unictype/pr_extender.h: Likewise.
25630         * lib/unictype/pr_grapheme_base.h: Likewise.
25631         * lib/unictype/pr_grapheme_extend.h: Likewise.
25632         * lib/unictype/pr_grapheme_link.h: Likewise.
25633         * lib/unictype/pr_id_continue.h: Likewise.
25634         * lib/unictype/pr_id_start.h: Likewise.
25635         * lib/unictype/pr_ideographic.h: Likewise.
25636         * lib/unictype/pr_ignorable_control.h: Likewise.
25637         * lib/unictype/pr_logical_order_exception.h: Likewise.
25638         * lib/unictype/pr_lowercase.h: Likewise.
25639         * lib/unictype/pr_numeric.h: Likewise.
25640         * lib/unictype/pr_other_alphabetic.h: Likewise.
25641         * lib/unictype/pr_punctuation.h: Likewise.
25642         * lib/unictype/pr_sentence_terminal.h: Likewise.
25643         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25644         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25645         * lib/unictype/pr_unified_ideograph.h: Likewise.
25646         * lib/unictype/pr_uppercase.h: Likewise.
25647         * lib/unictype/pr_xid_continue.h: Likewise.
25648         * lib/unictype/pr_xid_start.h: Likewise.
25649         * lib/unictype/pr_zero_width.h: Likewise.
25650         * lib/unictype/scripts.h: Likewise.
25651         * lib/unictype/scripts_byname.gperf: Likewise.
25652         * lib/unictype/sy_java_ident.h: Likewise.
25653         * lib/unigbrk/gbrkprop.h: Likewise.
25654         * lib/unilbrk/lbrkprop1.h: Likewise.
25655         * lib/unilbrk/lbrkprop2.h: Likewise.
25656         * lib/unilbrk/lbrktables.h: Likewise.
25657         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25658         LBP_CP. Implement rule LB30.
25659         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25660         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25661         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25662         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25663         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25664         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25665         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25666         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25667         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25668         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25669         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25670         bits instead of 16 bits in the code1 and code2 of each composition
25671         rule.
25672         (uc_composition): Update for Unicode 5.2.0.
25673         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25674         * lib/uninorm/decomposition-table2.h: Likewise.
25675         * lib/uniwbrk/wbrkprop.h: Likewise.
25676         * tests/unicase/test-cased.c: Likewise.
25677         * tests/unicase/test-ignorable.c: Likewise.
25678         * tests/unicase/test-uc_tolower.c: Likewise.
25679         * tests/unicase/test-uc_totitle.c: Likewise.
25680         * tests/unicase/test-uc_toupper.c: Likewise.
25681         * tests/unictype/test-categ_C.c: Likewise.
25682         * tests/unictype/test-categ_Cf.c: Likewise.
25683         * tests/unictype/test-categ_Cn.c: Likewise.
25684         * tests/unictype/test-categ_L.c: Likewise.
25685         * tests/unictype/test-categ_Ll.c: Likewise.
25686         * tests/unictype/test-categ_Lm.c: Likewise.
25687         * tests/unictype/test-categ_Lo.c: Likewise.
25688         * tests/unictype/test-categ_Lu.c: Likewise.
25689         * tests/unictype/test-categ_M.c: Likewise.
25690         * tests/unictype/test-categ_Mc.c: Likewise.
25691         * tests/unictype/test-categ_Mn.c: Likewise.
25692         * tests/unictype/test-categ_N.c: Likewise.
25693         * tests/unictype/test-categ_Nd.c: Likewise.
25694         * tests/unictype/test-categ_Nl.c: Likewise.
25695         * tests/unictype/test-categ_No.c: Likewise.
25696         * tests/unictype/test-categ_P.c: Likewise.
25697         * tests/unictype/test-categ_Pd.c: Likewise.
25698         * tests/unictype/test-categ_Po.c: Likewise.
25699         * tests/unictype/test-categ_S.c: Likewise.
25700         * tests/unictype/test-categ_Sc.c: Likewise.
25701         * tests/unictype/test-categ_So.c: Likewise.
25702         * tests/unictype/test-ctype_alnum.c: Likewise.
25703         * tests/unictype/test-ctype_alpha.c: Likewise.
25704         * tests/unictype/test-ctype_graph.c: Likewise.
25705         * tests/unictype/test-ctype_lower.c: Likewise.
25706         * tests/unictype/test-ctype_print.c: Likewise.
25707         * tests/unictype/test-ctype_punct.c: Likewise.
25708         * tests/unictype/test-ctype_upper.c: Likewise.
25709         * tests/unictype/test-decdigit.h: Likewise.
25710         * tests/unictype/test-digit.h: Likewise.
25711         * tests/unictype/test-numeric.h: Likewise.
25712         * tests/unictype/test-pr_alphabetic.c: Likewise.
25713         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25714         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25715         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25716         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25717         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25718         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25719         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25720         * tests/unictype/test-pr_combining.c: Likewise.
25721         * tests/unictype/test-pr_composite.c: Likewise.
25722         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25723         * tests/unictype/test-pr_dash.c: Likewise.
25724         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25725         * tests/unictype/test-pr_deprecated.c: Likewise.
25726         * tests/unictype/test-pr_diacritic.c: Likewise.
25727         * tests/unictype/test-pr_extender.c: Likewise.
25728         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25729         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25730         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25731         * tests/unictype/test-pr_id_continue.c: Likewise.
25732         * tests/unictype/test-pr_id_start.c: Likewise.
25733         * tests/unictype/test-pr_ideographic.c: Likewise.
25734         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25735         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25736         * tests/unictype/test-pr_lowercase.c: Likewise.
25737         * tests/unictype/test-pr_numeric.c: Likewise.
25738         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25739         * tests/unictype/test-pr_punctuation.c: Likewise.
25740         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25741         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25742         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25743         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25744         * tests/unictype/test-pr_uppercase.c: Likewise.
25745         * tests/unictype/test-pr_xid_continue.c: Likewise.
25746         * tests/unictype/test-pr_xid_start.c: Likewise.
25747         * tests/unictype/test-pr_zero_width.c: Likewise.
25748         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25749         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
25750         changed behaviour: line breaking is now disallowed between a letter
25751         or '=' and '('.
25752         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25753         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25754         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25755         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
25756         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25757         lib/uniwidth/width.c.
25758         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
25759         without comments, but with the original copyright notice.
25760         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25761         changes.
25762         * lib/unictype/categ_Cc.h: Likewise.
25763         * lib/unictype/categ_Co.h: Likewise.
25764         * lib/unictype/categ_Cs.h: Likewise.
25765         * lib/unictype/categ_Lt.h: Likewise.
25766         * lib/unictype/categ_Me.h: Likewise.
25767         * lib/unictype/categ_Pc.h: Likewise.
25768         * lib/unictype/categ_Pe.h: Likewise.
25769         * lib/unictype/categ_Pf.h: Likewise.
25770         * lib/unictype/categ_Pi.h: Likewise.
25771         * lib/unictype/categ_Ps.h: Likewise.
25772         * lib/unictype/categ_Sk.h: Likewise.
25773         * lib/unictype/categ_Sm.h: Likewise.
25774         * lib/unictype/categ_Z.h: Likewise.
25775         * lib/unictype/categ_Zl.h: Likewise.
25776         * lib/unictype/categ_Zp.h: Likewise.
25777         * lib/unictype/categ_Zs.h: Likewise.
25778         * lib/unictype/ctype_blank.h: Likewise.
25779         * lib/unictype/ctype_cntrl.h: Likewise.
25780         * lib/unictype/ctype_digit.h: Likewise.
25781         * lib/unictype/ctype_space.h: Likewise.
25782         * lib/unictype/ctype_xdigit.h: Likewise.
25783         * lib/unictype/mirror.h: Likewise.
25784         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25785         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25786         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25787         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25788         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25789         * lib/unictype/pr_bidi_control.h: Likewise.
25790         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25791         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25792         * lib/unictype/pr_bidi_pdf.h: Likewise.
25793         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25794         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25795         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25796         * lib/unictype/pr_format_control.h: Likewise.
25797         * lib/unictype/pr_hex_digit.h: Likewise.
25798         * lib/unictype/pr_hyphen.h: Likewise.
25799         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25800         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25801         * lib/unictype/pr_iso_control.h: Likewise.
25802         * lib/unictype/pr_join_control.h: Likewise.
25803         * lib/unictype/pr_left_of_pair.h: Likewise.
25804         * lib/unictype/pr_line_separator.h: Likewise.
25805         * lib/unictype/pr_math.h: Likewise.
25806         * lib/unictype/pr_non_break.h: Likewise.
25807         * lib/unictype/pr_not_a_character.h: Likewise.
25808         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25809         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25810         * lib/unictype/pr_other_id_continue.h: Likewise.
25811         * lib/unictype/pr_other_id_start.h: Likewise.
25812         * lib/unictype/pr_other_lowercase.h: Likewise.
25813         * lib/unictype/pr_other_math.h: Likewise.
25814         * lib/unictype/pr_other_uppercase.h: Likewise.
25815         * lib/unictype/pr_paired_punctuation.h: Likewise.
25816         * lib/unictype/pr_paragraph_separator.h: Likewise.
25817         * lib/unictype/pr_pattern_syntax.h: Likewise.
25818         * lib/unictype/pr_pattern_white_space.h: Likewise.
25819         * lib/unictype/pr_private_use.h: Likewise.
25820         * lib/unictype/pr_quotation_mark.h: Likewise.
25821         * lib/unictype/pr_radical.h: Likewise.
25822         * lib/unictype/pr_soft_dotted.h: Likewise.
25823         * lib/unictype/pr_space.h: Likewise.
25824         * lib/unictype/pr_titlecase.h: Likewise.
25825         * lib/unictype/pr_variation_selector.h: Likewise.
25826         * lib/unictype/pr_white_space.h: Likewise.
25827         * lib/unictype/sy_c_ident.h: Likewise.
25828         * lib/unictype/sy_c_whitespace.h: Likewise.
25829         * lib/unictype/sy_java_whitespace.h: Likewise.
25830         * modules/uni*/*: Bump version number of expected libunistring version.
25831         Reported by Simon Josefsson.
25832
25833 2011-01-09  Karl Heuer  <kwzh@gnu.org>
25834
25835         useless-if-before-free: fix typo in --help and make the internal,
25836         automatic version date update process work once again.
25837         --help output contained a NUL character instead of the
25838         backslash-zero that was intended.  Also, the "must lie within
25839         the first 8 lines" line is on line 9, and hence not getting
25840         automatically updated.
25841         * build-aux/useless-if-before-free: Fix the former by adding a
25842         backslash, and the latter by condensing the three lines of what-it-does
25843         to a single line, leaving one line of slack for the future.
25844
25845 2011-01-09  Bruno Haible  <bruno@clisp.org>
25846
25847         uniwidth/width: Fix width of U+1D173..U+1D17A.
25848         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
25849         symbolic_width, output_width_property_test): New functions.
25850         (main): Invoke output_nonspacing_property, output_width_property_test.
25851         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
25852         U+1D173..U+1D17A.
25853         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
25854         1.
25855         * modules/uniwidth/*: Bump version number of expected libunistring
25856         version.
25857         * modules/unilbrk/*: Likewise.
25858
25859 2011-01-08  Bruno Haible  <bruno@clisp.org>
25860
25861         uninorm tests: Preserve copyright of Unicode data file.
25862         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
25863         Mention modifications.
25864
25865 2011-01-08  Bruno Haible  <bruno@clisp.org>
25866
25867         gen-uni-tables: Prepare for Unicode 5.2.0.
25868         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
25869         (debug_output_lbp, output_lbp): Update.
25870
25871 2011-01-08  Bruno Haible  <bruno@clisp.org>
25872
25873         unilbrk: Clarify gen-uni-tables.c code.
25874         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25875         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25876         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25877
25878 2011-01-07  Bruno Haible  <bruno@clisp.org>
25879
25880         strtod: Restore errno when successfully parsing Infinity or NaN.
25881         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25882         restore the original errno.
25883
25884 2011-01-07  Bruno Haible  <bruno@clisp.org>
25885
25886         remove test: Avoid failure on HP-UX 11.
25887         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
25888
25889 2011-01-07  Bruno Haible  <bruno@clisp.org>
25890
25891         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
25892         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
25893         error code.
25894
25895 2011-01-07  Pádraig Brady <P@draigBrady.com>
25896
25897         ignore-value: fixup comments, and add Eric Blake
25898         as an author since he rewrote the macros.
25899         * lib/ignore-value.h (ignore_value):  State that
25900         we now support aggregates.  Also specify exactly
25901         when the GCC warn_unused_result feature was added.
25902
25903 2011-01-06  Eric Blake  <eblake@redhat.com>
25904
25905         ignore-value: support aggregate types
25906         * lib/ignore-value.h (ignore_value): Provide separate gcc
25907         definition.
25908         * modules/ignore-value-tests: New test module.
25909         * tests/test-ignore-value.c: New test.
25910
25911         maint.mk: improve sc_prohibit_strcmp regex
25912         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25913         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
25914         definition of STRNEQ.
25915
25916         signal: work around Haiku issue with SIGBUS
25917         * lib/siglist.h: Add comment.
25918         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
25919         strsignal's favoring of SIGSEGV.
25920         * tests/test-signal.c (main): Avoid test failure.
25921         * doc/posix-headers/signal.texi (signal.h): Document the issue.
25922         Reported by Scott McCreary.
25923
25924         maint.mk: add pre-release check to ensure submodule commits are public
25925         * top/maint.mk (public-submodule-commit): New rule.
25926         (submodule-checks): New variable.
25927         (alpha beta stable): Depend on the variable.
25928
25929 2011-01-05  Pádraig Brady <P@draigBrady.com>
25930         and Jim Meyering  <meyering@redhat.com>
25931
25932         ignore-value: make ignore_value more generic; deprecate ignore_ptr
25933         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
25934         (ATTRIBUTE_DEPRECATED): Define.
25935         (_ignore_case): New function.
25936         (ignore_value): New macro, to replace the old function.
25937         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
25938         * modules/ignore-value (Depends-on): Add stdint.
25939
25940 2011-01-04  Eric Blake  <eblake@redhat.com>
25941
25942         doc: regenerate INSTALL
25943         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
25944         @firstparagraphindent support, now that autoconf dropped it.
25945         (INSTALL_PRELUDE): Reinstate old macro.
25946         * doc/install.texi: Resync from autoconf.
25947         * doc/INSTALL: Reflect recent autoconf update.
25948         * doc/INSTALL.ISO: Likewise.
25949         * doc/INSTALL.UTF-8: Likewise.
25950         Reported by Karl Berry.
25951
25952 2011-01-04  Bruce Korb  <address@hidden>
25953
25954         git-version-gen: avoid a sub-shell
25955         * build-aux/git-version-gen: Redirect stderr in `...` via
25956         "exec 2>...", rather than via an added sub-shell.
25957
25958 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
25959
25960         git-version-gen: use (...) rather than sh -c '...'
25961         * build-aux/git-version-gen: Rather than hard-coding a shell's name
25962         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
25963
25964 2011-01-03  Jim Meyering  <meyering@redhat.com>
25965
25966         git-version-gen: convert leading TABs to spaces
25967         * build-aux/git-version-gen: Expand leading TABs.
25968
25969         git-version-gen: handle failed "git rev-list"
25970         * build-aux/git-version-gen: Rather than leaking a "fatal" error
25971         from git and proceeding as if it had succeeded but printed no SHA1
25972         checksums, suppress the diagnostic and handle the failure.
25973         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
25974
25975         git-version-gen: include command name in one more diagnostic
25976         * build-aux/git-version-gen: When the required .tarball-version file
25977         was missing or unreadable, you might see the diagnostic from "cat",
25978         but no trace of the name of the invoking script.  Now, you still see
25979         the diagnostic from cat, but also get one from "git-version-gen: ".
25980         Inspired by a patch from Bruce Korb.
25981
25982         update-copyright: adjust test to match changed code
25983         * tests/test-update-copyright.sh: Change test's expected output
25984         to match new actual output.
25985
25986 2011-01-02  Bruno Haible  <bruno@clisp.org>
25987
25988         getlogin_r: Avoid test failure on HP-UX 11.
25989         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
25990         ERANGE when the second argument is zero.
25991         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
25992         portability problem.
25993
25994 2011-01-02  Bruce Korb  <bkorb@gnu.org>
25995
25996         * build-aux/update-copyright: doc Simon's changes
25997
25998 2011-01-02  Simon Josefsson  <simon@josefsson.org>
25999
26000         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26001         environment variable.
26002
26003 2011-01-02  Bruno Haible  <bruno@clisp.org>
26004
26005         unigbrk: Avoid gcc warnings.
26006         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26007         unused variable.
26008         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26009         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26010         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26011         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26012         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26013         Change type of first argument to 'const char *'.
26014         (main): Remove unused variable.
26015         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26016         type of first argument to 'const char *'.
26017         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26018         Likewise.
26019         (main): Change type of variable 's'.
26020         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26021         to 'int'.
26022
26023 2011-01-02  Bruno Haible  <bruno@clisp.org>
26024
26025         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26026         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26027         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26028         bug.
26029         * lib/pwrite.c: Undo 2010-12-31 patch.
26030         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26031
26032 2011-01-02  Bruno Haible  <bruno@clisp.org>
26033
26034         pread: Fix test whether it works.
26035         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26036
26037 2011-01-02  Bruno Haible  <bruno@clisp.org>
26038
26039         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26040         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26041         ends in "6". Don't require a specific month name. Try also the locale
26042         names found on HP-UX 11 and Solaris 7.
26043
26044 2011-01-02  Bruno Haible  <bruno@clisp.org>
26045
26046         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26047         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26048         C linkage.
26049         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26050
26051 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26052
26053         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26054         for consistency, since the "cluster" term is not used elsewhere.
26055         * lib/unigbrk.in.h: Update name.
26056         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26057         * lib/unigbrk/u16-grapheme-next.c: Update name.
26058         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26059         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26060         * lib/unigbrk/u32-grapheme-next.c: Update name.
26061         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26062         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26063         * lib/unigbrk/u8-grapheme-next.c: Update name.
26064         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26065         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26066         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26067         Suggested by Bruno Haible.
26068
26069 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26070
26071         Remove module 'u8-grapheme-len' as too redundant with
26072         'u8-grapheme-next'.
26073         * modules/unigbrk/u8-grapheme-len: Delete file.
26074         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26075         * lib/unigbrk.in.h: Remove prototype for deleted function.
26076         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26077         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26078
26079         Remove module 'u16-grapheme-len' as too redundant with
26080         'u16-grapheme-next'.
26081         * modules/unigbrk/u16-grapheme-len: Delete file.
26082         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26083         * lib/unigbrk.in.h: Remove prototype for deleted function.
26084         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26085         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26086
26087         Remove module 'u32-grapheme-len' as too redundant with
26088         'u32-grapheme-next'.
26089         * modules/unigbrk/u32-grapheme-len: Delete file.
26090         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26091         * lib/unigbrk.in.h: Remove prototype for deleted function.
26092         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26093         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26094
26095         Suggested by Bruno Haible.
26096
26097 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26098
26099         * unigbrk.in.h: Fix typo: "ben" => "been".
26100         Reported by Bruno Haible.
26101
26102 2011-01-01  Jim Meyering  <meyering@redhat.com>
26103
26104         maint: update almost all copyright ranges to include 2011
26105         Run the new "make update-copyright" rule.
26106
26107 2011-01-01  Jim Meyering  <meyering@redhat.com>
26108
26109         maint: update-copyright: exempt doc/INSTALL*
26110         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26111         since they are generated.  Suggested by Bruno Haible.
26112
26113 2011-01-01  Jim Meyering  <meyering@redhat.com>
26114
26115         maint: refine the update-copyright rule
26116         * Makefile (update-copyright): Also exclude any file that includes
26117         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26118         code that merely generates the comment.
26119
26120 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26121
26122         New module 'u8-grapheme-len'.
26123         * modules/unigbrk/u8-grapheme-len: New file.
26124         * modules/unigbrk/u8-grapheme-len-tests: New file.
26125         * lib/unigbrk.in.h: Add prototype for new function.
26126         * lib/unigbrk/u8-grapheme-len.c: New file.
26127         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26128
26129         New module 'u16-grapheme-len'.
26130         * modules/unigbrk/u16-grapheme-len: New file.
26131         * modules/unigbrk/u16-grapheme-len-tests: New file.
26132         * lib/unigbrk.in.h: Add prototype for new function.
26133         * lib/unigbrk/u16-grapheme-len.c: New file.
26134         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26135
26136         New module 'u32-grapheme-len'.
26137         * modules/unigbrk/u32-grapheme-len: New file.
26138         * modules/unigbrk/u32-grapheme-len-tests: New file.
26139         * lib/unigbrk.in.h: Add prototype for new function.
26140         * lib/unigbrk/u32-grapheme-len.c: New file.
26141         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26142
26143         New module 'u8-grapheme-next'.
26144         * modules/unigbrk/u8-grapheme-next: New file.
26145         * modules/unigbrk/u8-grapheme-next-tests: New file.
26146         * lib/unigbrk.in.h: Add prototype for new function.
26147         * lib/unigbrk/u8-grapheme-next.c: New file.
26148         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26149
26150         New module 'u16-grapheme-next'.
26151         * modules/unigbrk/u16-grapheme-next: New file.
26152         * modules/unigbrk/u16-grapheme-next-tests: New file.
26153         * lib/unigbrk.in.h: Add prototype for new function.
26154         * lib/unigbrk/u16-grapheme-next.c: New file.
26155         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26156
26157         New module 'u32-grapheme-next'.
26158         * modules/unigbrk/u32-grapheme-next: New file.
26159         * modules/unigbrk/u32-grapheme-next-tests: New file.
26160         * lib/unigbrk.in.h: Add prototype for new function.
26161         * lib/unigbrk/u32-grapheme-next.c: New file.
26162         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26163
26164         New module 'u8-grapheme-prev'.
26165         * modules/unigbrk/u8-grapheme-prev: New file.
26166         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26167         * lib/unigbrk.in.h: Add prototype for new function.
26168         * lib/unigbrk/u8-grapheme-prev.c: New file.
26169         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26170
26171         New module 'u16-grapheme-prev'.
26172         * modules/unigbrk/u16-grapheme-prev: New file.
26173         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26174         * lib/unigbrk.in.h: Add prototype for new function.
26175         * lib/unigbrk/u16-grapheme-prev.c: New file.
26176         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26177
26178         New module 'u32-grapheme-prev'.
26179         * modules/unigbrk/u32-grapheme-prev: New file.
26180         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26181         * lib/unigbrk.in.h: Add prototype for new function.
26182         * lib/unigbrk/u32-grapheme-prev.c: New file.
26183         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26184
26185         New module 'u8-grapheme-breaks'.
26186         * modules/unigbrk/u8-grapheme-breaks: New file.
26187         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26188         * lib/unigbrk.in.h: Add prototype for new function.
26189         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26190         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26191
26192         New module 'u16-grapheme-breaks'.
26193         * modules/unigbrk/u16-grapheme-breaks: New file.
26194         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26195         * lib/unigbrk.in.h: Add prototype for new function.
26196         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26197         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26198
26199         New module 'u32-grapheme-breaks'.
26200         * modules/unigbrk/u32-grapheme-breaks: New file.
26201         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26202         * lib/unigbrk.in.h: Add prototype for new function.
26203         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26204         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26205
26206         New module 'ulc-grapheme-breaks'.
26207         * modules/unigbrk/ulc-grapheme-breaks: New file.
26208         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26209         * m4/locale-ar.m4: New file.
26210         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26211         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26212         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26213
26214 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26215
26216         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26217         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26218         modified how this file was generated before I initially submitted
26219         the module, but failed to regenerate it.  This meant that several
26220         of the level2 entries were wrong.
26221         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26222         Remove the division-by-2 that is folded into the table now that
26223         gbrkprop.h has been regenerated properly.  Now -1 entries are
26224         handled correctly.
26225
26226         New module 'unigbrk/uc-gbrk-prop-tests'.
26227         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26228         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26229         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26230         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26231
26232 2011-01-01  Bruno Haible  <bruno@clisp.org>
26233
26234         Avoid use of hexadecimal escapes.
26235         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26236         instead of hexadecimal escapes.
26237
26238 2011-01-01  Jim Meyering  <meyering@redhat.com>
26239
26240         maint: new rule to update copyright year ranges
26241         * Makefile (update-copyright): New rule.
26242
26243         maint: indent with TABs in Makefile
26244         * Makefile: Expand leading sequences of spaces to TABs
26245
26246         version-etc: update the copyright year it reports
26247         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26248
26249 2010-12-31  Bruno Haible  <bruno@clisp.org>
26250
26251         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26252         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26253         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26254         zero.
26255
26256 2010-12-31  Bruno Haible  <bruno@clisp.org>
26257
26258         pwrite: Work around HP-UX 11.11 bug.
26259         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26260         works and set REPLACE_PWRITE if not.
26261         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26262         function.
26263         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26264
26265 2010-12-31  Bruno Haible  <bruno@clisp.org>
26266
26267         pread: Work around HP-UX 11 bugs.
26268         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26269         and set REPLACE_PREAD if not.
26270         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26271
26272 2010-12-31  Eric Blake  <eblake@redhat.com>
26273
26274         nl_langinfo: fix YESEXPR on Irix 6.5
26275         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26276         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26277         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26278         it.
26279
26280 2010-12-31  Bruno Haible  <bruno@clisp.org>
26281
26282         iconv: Document HP-UX 11 bug.
26283         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26284
26285 2010-12-31  Bruno Haible  <bruno@clisp.org>
26286
26287         ldexpl: Fix link error on HP-UX 11.
26288         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26289         LDEXPL_LIBM, using $ISNANL_LIBM.
26290
26291 2010-12-31  Eric Blake  <eblake@redhat.com>
26292
26293         ftello: avoid compilation failure with SunStudio c89
26294         * lib/ftello.c (ftello): Use lseek, not llseek.
26295
26296         tests: avoid failing coreutils tests on cygwin
26297         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26298         (create_exe_shims_): Return 0 when skipping.
26299
26300 2010-12-31  Bruno Haible  <bruno@clisp.org>
26301
26302         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26303         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26304
26305 2010-12-31  Bruno Haible  <bruno@clisp.org>
26306
26307         waitpid: Fix link error in C++ mode.
26308         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26309
26310 2010-12-31  Bruno Haible  <bruno@clisp.org>
26311
26312         isnan: Use GCC built-ins when possible.
26313         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26314         __builtin_isnan.
26315         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26316         (isnan): Define using GCC built-ins for GCC >= 4.0.
26317
26318 2010-12-31  Bruno Haible  <bruno@clisp.org>
26319
26320         isnand: Fix mistake.
26321         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26322         __builtin_isnand.
26323
26324 2010-12-31  Bruno Haible  <bruno@clisp.org>
26325
26326         open: Avoid C++ error on HP-UX 11.
26327         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26328
26329 2010-12-31  Bruno Haible  <bruno@clisp.org>
26330
26331         time_r: Add missing declarations on HP-UX 11.
26332         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26333         instead of HAVE_LOCALTIME_R.
26334         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26335         HAVE_LOCALTIME_R always.
26336         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26337         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26338         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26339         HAVE_LOCALTIME_R.
26340         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26341         * doc/posix-functions/localtime_r.texi: Likewise.
26342
26343 2010-12-29  Eric Blake  <eblake@redhat.com>
26344
26345         mountlist: tweak previous commit
26346         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26347         Reported by Paul Eggert.
26348
26349         mountlist: fix local drive detection on cygwin
26350         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26351         that works for cygwin.
26352
26353 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26354
26355         ftoastr, snprintf: ftoastr + snprintf module
26356         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26357         since the snprintf module now should be good enough here.
26358         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26359         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26360         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26361         GNULIB_SNPRINTF only for the test directory, and the latter
26362         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26363         seems to suffice by itself.
26364
26365 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26366
26367         alloca: one step towards thread-safety
26368         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26369         need for a static variable.  All callers changed.  This does not
26370         make the alloca replacement thread-safe, but it's one step.
26371
26372         tests: minor indenting change
26373         * tests/init.sh: Sync from coreutils housekeeping patch
26374         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26375         to keep lines within 80 columns.
26376
26377 2010-12-28  Jim Meyering  <meyering@redhat.com>
26378
26379         regex: don't infloop on persistent failing calloc
26380         * lib/regexec.c (build_trtable): Return failure indication upon
26381         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26382         In glibc, this was fixed for version 2.13:
26383         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26384
26385 2010-12-28  Bruno Haible  <bruno@clisp.org>
26386             Paul Eggert <eggert@cs.ucla.edu>
26387
26388         linkat: Make implementation robust against system behaviour variations.
26389         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26390         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26391         way, and to -2 if it needs a generic runtime test.
26392         * lib/linkat.c (solaris_optimized_link_immediate,
26393         solaris_optimized_link_follow): New functions.
26394         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26395         (check_same_link): Use it.
26396
26397 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26398
26399         New module 'unigbrk/base'.
26400         * modules/unigbrk/base: New file.
26401         * lib/unigbrk.in.h: New file.
26402
26403         New module 'unigbrk/uc-gbrk-prop'.
26404         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26405         * modules/unigbrk/uc-gbrk-prop: New file.
26406         * lib/unigbrk/gbrkprop.h: New file.
26407         * lib/unigbrk/uc-gbrk-prop.c: New file.
26408
26409         New module 'unigbrk/uc-is-grapheme-break'.
26410         * modules/unigbrk/uc-is-grapheme-break: New file.
26411         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26412         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26413         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26414         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26415         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26416
26417         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26418
26419 2010-12-27  Bruno Haible  <bruno@clisp.org>
26420
26421         linkat test: Avoid failure on Solaris 11 2010-11.
26422         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26423
26424 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26425
26426         utimens: work around glibc rounding bug on more platforms
26427         * lib/utimens.c (fdutimens): Work around rounding bug even if
26428         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26429         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26430
26431 2010-12-27  Bruno Haible  <bruno@clisp.org>
26432
26433         select tests: Improve comments.
26434         * tests/test-select.c (do_select): Add comments.
26435
26436 2010-12-27  Bruno Haible  <bruno@clisp.org>
26437
26438         select tests: Safer way of handling timeout.
26439         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26440         at every invocation.
26441
26442 2010-12-27  Bruno Haible  <bruno@clisp.org>
26443
26444         select tests: Use 'bool' where appropriate.
26445         * tests/test-select.c (connect_to_socket): Change argument type to
26446         'bool'.
26447
26448 2010-12-27  Bruno Haible  <bruno@clisp.org>
26449
26450         select tests: Use existing modules.
26451         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26452         (configure.ac): Don't test for unistd.h.
26453         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26454         declared in <unistd.h>.
26455
26456 2010-12-27  Bruno Haible  <bruno@clisp.org>
26457
26458         mbrtowc: Work around a Solaris 7 bug.
26459         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26460         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26461         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26462         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26463         MBRTOWC_NULL_ARG1_BUG.
26464         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26465         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26466         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26467         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26468
26469 2010-12-27  Jim Meyering  <meyering@redhat.com>
26470
26471         read-file.c: tweak syntax
26472         * lib/read-file.c (fread_file): Remove space after "*" in function
26473         definitions.
26474
26475 2010-12-27  Bruno Haible  <bruno@clisp.org>
26476
26477         times test: Avoid gcc warnings on OSF/1.
26478         * tests/test-times.c (main): Cast printf arguments from clock_t to
26479         'long int'.
26480
26481 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26482
26483         utimens: work around glibc rounding bug on older Linux kernels
26484         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26485         on Linux with a glibc whose utimes might not work, then work
26486         around a longstanding glibc bug involving rounding rather than
26487         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26488         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26489
26490 2010-12-26  Bruno Haible  <bruno@clisp.org>
26491
26492         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26493         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26494         _GL_CXXALIAS_SYS.
26495         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26496
26497 2010-12-26  Bruno Haible  <bruno@clisp.org>
26498
26499         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26500         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26501         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26502         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26503         looking for the declaration.
26504         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26505         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26506         problem.
26507         * doc/posix-functions/inet_pton.texi: Likewise.
26508
26509 2010-12-26  Bruno Haible  <bruno@clisp.org>
26510
26511         arpa_inet: Use the common idioms with C++ support.
26512         * lib/arpa_inet.in.h: Include c++defs.h.
26513         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26514         support.
26515         * modules/arpa_inet (Depends-on): Add c++defs.
26516         (Makefile.am): Substitute the contents of c++defs.h.
26517         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26518         * modules/arpa_inet-c++-tests: New file.
26519         * tests/test-arpa_inet-c++.cc: New file.
26520
26521 2010-12-25  Bruno Haible  <bruno@clisp.org>
26522
26523         Fix more C++ link errors on Solaris 8.
26524         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26525         $(LIB_EACCESS).
26526         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26527         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26528         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26529         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26530         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26531
26532 2010-12-25  Bruno Haible  <bruno@clisp.org>
26533
26534         printf-posix: Fix link error when a non-GCC compiler is used.
26535         * lib/stdio.in.h (printf): When not using GCC, override printf
26536         correctly.
26537         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26538
26539 2010-12-25  Bruno Haible  <bruno@clisp.org>
26540
26541         strerror_r-posix: Update doc.
26542         * doc/posix-functions/strerror_r.texi: Update doc about the return
26543         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26544
26545 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26546
26547         utimens: simplify the logic of the previous change
26548         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26549         This should not affect whether the test succeeds or fails.
26550
26551         utimens: configure better on hosts with NFS clock skew
26552         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26553         uses the clock of the local host.  It might use the clock of the
26554         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26555         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26556
26557 2010-12-25  Bruno Haible  <bruno@clisp.org>
26558
26559         ptsname test: Avoid failure on Solaris.
26560         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26561         open a pseudo-terminal; don't use BSD-style ptys.
26562         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26563
26564 2010-12-25  Bruno Haible  <bruno@clisp.org>
26565
26566         ptsname: Avoid ERANGE failure on some systems.
26567         * lib/ptsname.c (buffer): Increase size.
26568
26569 2010-12-25  Bruno Haible  <bruno@clisp.org>
26570
26571         rename, renameat: Avoid test failures at NFS mounted locations.
26572         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26573         so that subsequent mkdir calls succeed.
26574
26575 2010-12-25  Bruno Haible  <bruno@clisp.org>
26576
26577         iswblank: Fix C++ link error on Solaris 8.
26578         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26579         _GL_FUNCDECL_SYS.
26580
26581 2010-12-25  Bruno Haible  <bruno@clisp.org>
26582
26583         unistd: Fix C++ link error on Solaris 8.
26584         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26585
26586 2010-12-25  Bruno Haible  <bruno@clisp.org>
26587
26588         readlink doc: Mention an old glibc bug.
26589         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26590
26591 2010-12-25  Bruno Haible  <bruno@clisp.org>
26592
26593         fcntl-h: Fix for use of C++ on glibc systems.
26594         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26595         also on glibc systems in C++ mode.
26596         Reported by Gary V. Vaughan <gary@gnu.org>.
26597
26598 2010-12-25  Bruno Haible  <bruno@clisp.org>
26599
26600         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26601         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26602
26603 2010-12-25  Bruno Haible  <bruno@clisp.org>
26604
26605         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26606         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26607         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26608         test whether truncl works according to ISO C 99 with IEC 60559.
26609         * m4/truncl-ieee.m4: New file.
26610         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26611         m4/signbit.m4.
26612         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26613
26614 2010-12-25  Bruno Haible  <bruno@clisp.org>
26615
26616         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26617         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26618         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26619         test whether ceill works according to ISO C 99 with IEC 60559.
26620         * m4/ceill-ieee.m4: New file.
26621         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26622         m4/signbit.m4.
26623         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26624
26625 2010-12-25  Bruno Haible  <bruno@clisp.org>
26626
26627         Ensure all prerequisites of <wchar.h> are included.
26628         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26629         before <wchar.h>.
26630         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26631         gl_MBRLEN_NUL_RETVAL): Likewise.
26632         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26633         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26634         AC_FUNC_MBRTOWC): Likewise.
26635         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26636         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26637         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26638         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26639         Likewise.
26640         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26641         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26642         (gl_WCHAR_H): Improve comments.
26643         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26644
26645 2010-12-25  Bruno Haible  <bruno@clisp.org>
26646
26647         strtok_r: Fix C syntax error in autoconf macro.
26648         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26649         characters in test program.
26650
26651 2010-12-24  Bruno Haible  <bruno@clisp.org>
26652
26653         ceil, trunc, round: Fix gcc warnings.
26654         * lib/ceil.c (MIN): Undefine before redefining.
26655         * lib/trunc.c (MIN): Likewise.
26656         * lib/round.c (MIN): Likewise.
26657         Include <math.h> first.
26658
26659 2010-12-24  Bruno Haible  <bruno@clisp.org>
26660
26661         select tests: Avoid failures on OSF/1 5.1.
26662         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26663         failure of closing the last socket; it may fail with ECONNRESET.
26664
26665 2010-12-24  Eric Blake  <eblake@redhat.com>
26666
26667         stdint: avoid HP-UX 10.20 preprocessor bug
26668         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26669         than #if.
26670         * tests/test-floor2.c (main): Likewise.
26671         Reported by Peter O'Gorman.
26672
26673         pipe: make obsoletion transition easier
26674         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26675         * modules/pipe (Files): Include revived file.
26676         (Include): Drop reference, to mirror getdate's behavior.
26677
26678 2010-12-24  Bruno Haible  <bruno@clisp.org>
26679
26680         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26681         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26682         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26683         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26684
26685 2010-12-24  Bruno Haible  <bruno@clisp.org>
26686
26687         gethostname: Ensure declaration on NonStop Kernel.
26688         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26689         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26690
26691 2010-12-24  Bruno Haible  <bruno@clisp.org>
26692
26693         sys_select: Ensure all necessary types on NonStop Kernel.
26694         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26695         include <sys/time.h>.
26696         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26697         NonStop Kernel.
26698         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26699
26700 2010-12-24  Bruno Haible  <bruno@clisp.org>
26701
26702         sys_select: Remove unneeded include.
26703         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26704         have <sys/select.h>.
26705
26706 2010-12-24  Bruno Haible  <bruno@clisp.org>
26707
26708         gethostname: Provide a fallback for HOST_NAME_MAX.
26709         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
26710         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
26711         instead.
26712         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26713
26714 2010-12-24  Bruno Haible  <bruno@clisp.org>
26715
26716         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
26717         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
26718         (SA_RESTART): Likewise.
26719         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26720
26721 2010-12-24  Bruno Haible  <bruno@clisp.org>
26722
26723         signal: Define NSIG.
26724         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
26725         * tests/test-signal.c (nsig): New variable.
26726         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26727
26728 2010-12-24  Bruno Haible  <bruno@clisp.org>
26729
26730         rename, renameat: Avoid test failures on OSF/1 5.1.
26731         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
26732         alternative error codes.
26733         * tests/test-renameat.c (main): Likewise.
26734
26735 2010-12-24  Bruno Haible  <bruno@clisp.org>
26736
26737         *printf: Detect large precisions bug on Solaris 10/SPARC.
26738         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
26739         by Paul Eggert.
26740         * tests/test-snprintf-posix.h (test_function): Add this test code here
26741         too.
26742         * tests/test-sprintf-posix.h (test_function): Likewise.
26743         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26744         * tests/test-vasprintf-posix.c (test_function): Likewise.
26745         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
26746         around by gnulib.
26747         * doc/posix-functions/printf.texi: Likewise.
26748         * doc/posix-functions/snprintf.texi: Likewise.
26749         * doc/posix-functions/sprintf.texi: Likewise.
26750         * doc/posix-functions/vfprintf.texi: Likewise.
26751         * doc/posix-functions/vprintf.texi: Likewise.
26752         * doc/posix-functions/vsnprintf.texi: Likewise.
26753         * doc/posix-functions/vsprintf.texi: Likewise.
26754         * doc/posix-functions/dprintf.texi: Undo last commit.
26755         * doc/posix-functions/vdprintf.texi: Likewise.
26756
26757 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26758
26759         tests: port test-fdutimensat.c to Solaris 8
26760         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
26761         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
26762         On Solaris 8, it fails with errno == ENOSYS, because there is no
26763         futimens (so it can't use the fd), and there is no lutimens (so it
26764         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
26765
26766         vsnprintf: make more consistent with snprintf; doc fixes
26767
26768         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
26769         the byte count return problem was promoted from the snprintf-posix
26770         to the snprintf module.
26771         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26772         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
26773         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
26774         * tests/test-snprintf.c (main): Check the byte count returned.
26775         * tests/test-vsnprintf.c (main): Likewise.
26776
26777 2010-12-23  Eric Blake  <eblake@redhat.com>
26778
26779         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
26780         * modules/sigpipe (License): Relax license.
26781
26782 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26783
26784         doc: document Solaris printf bug with large float precisions
26785         * doc/posix-functions/dprintf.texi (dprintf):
26786         * doc/posix-functions/fprintf.texi (fprintf):
26787         * doc/posix-functions/printf.texi (printf):
26788         * doc/posix-functions/snprintf.texi (snprintf):
26789         * doc/posix-functions/sprintf.texi (sprintf):
26790         * doc/posix-functions/vdprintf.texi (vdprintf):
26791         * doc/posix-functions/vfprintf.texi (vfprintf):
26792         * doc/posix-functions/vprintf.texi (vprintf):
26793         * doc/posix-functions/vsnprintf.texi (vsnprintf):
26794         * doc/posix-functions/vsprintf.texi (vsprintf):
26795         Mention that these functions mishandle large floating point
26796         precisions on Solaris 10.  The same bug is also present in Solaris
26797         8, and I assume earlier.  This causes "cd gnulib-tests; make
26798         check" to fail on Solaris 8 (and I assume, later) when building
26799         the latest coreutils, in test-vasprintf-posix's call to
26800         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
26801         the wide flavors (e.g., wprintf) so this patch just updates the
26802         documentation for the narrow ones.
26803
26804         test-posixtm.c: add two tests
26805         * tests/test-posixtm.c: Add two tests, to highlight the
26806         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
26807         around this bug; this is merely to document it.
26808
26809 2010-12-22  Bruno Haible  <bruno@clisp.org>
26810
26811         getlogin_r: Work around portability problem on OSF/1.
26812         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
26813         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
26814         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
26815         test for a truncated result.
26816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
26817         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
26818         * modules/getlogin_r (Depends-on): Add memchr.
26819         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
26820
26821 2010-12-22  Bruno Haible  <bruno@clisp.org>
26822
26823         ptsname: Avoid test failure on OSF/1 5.1.
26824         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
26825         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
26826         (same_slave): New function.
26827         (main): Use it to compare ptsname's result with the expected file name.
26828
26829 2010-12-22  Bruno Haible  <bruno@clisp.org>
26830
26831         Port extended stdio modules to HP NonStop Kernel.
26832         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
26833         macros.
26834         * lib/fbufmode.c: Update comments.
26835         * lib/fflush.c: Likewise.
26836         * lib/fpurge.c: Likewise.
26837         * lib/freadable.c: Likewise.
26838         * lib/freadahead.c: Likewise.
26839         * lib/freading.c: Likewise.
26840         * lib/freadptr.c: Likewise.
26841         * lib/freadseek.c: Likewise.
26842         * lib/fseeko.c: Likewise.
26843         * lib/fseterr.c: Likewise.
26844         * lib/fwritable.c: Likewise.
26845         * lib/fwriting.c: Likewise.
26846         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26847
26848 2010-12-22  Bruno Haible  <bruno@clisp.org>
26849
26850         ttyname_r: Work around bug on OSF/1 5.1.
26851         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
26852         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
26853         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
26854         present.
26855         * lib/ttyname_r.c (ttyname_r): Update comments.
26856
26857 2010-12-22  Bruno Haible  <bruno@clisp.org>
26858
26859         round: Implement result sign according to IEEE 754.
26860         * lib/round.c (MIN, MINUS_ZERO): New macros.
26861         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
26862         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
26863         * tests/test-round-ieee.c (main): Likewise.
26864         * tests/test-roundl-ieee.c (main): Likewise.
26865
26866         trunc: Implement result sign according to IEEE 754.
26867         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
26868         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
26869         * tests/test-trunc2.c: Include minus-zero.h.
26870         (MINUS_ZERO): New macro.
26871         (trunc_reference): Keep in sync with lib/trunc.c.
26872         * tests/test-truncf2.c: Include minus-zero.h.
26873         (MINUS_ZERO): New macro.
26874         (truncf_reference): Keep in sync with lib/trunc.c.
26875         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26876         * tests/test-trunc-ieee.c (main): Likewise.
26877         * tests/test-truncl-ieee.c (main): Likewise.
26878
26879         ceil: Implement result sign according to IEEE 754.
26880         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26881         (FUNC): Return -0.0 for -1 < x < 0.
26882         * tests/test-ceil2.c: Include minus-zero.h.
26883         (MINUS_ZERO): New macro.
26884         (ceil_reference): Keep in sync with lib/ceil.c.
26885         * tests/test-ceilf2.c: Include minus-zero.h.
26886         (MINUS_ZERO): New macro.
26887         (ceilf_reference): Keep in sync with lib/ceil.c.
26888         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
26889         * tests/test-ceil-ieee.c (main): Likewise.
26890         * tests/test-ceill-ieee.c (main): Likewise.
26891
26892         floor: Implement result sign according to IEEE 754.
26893         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
26894         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
26895         * tests/test-floorf2.c (floorf_reference): Likewise.
26896         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
26897         * tests/test-floor-ieee.c (main): Likewise.
26898         * tests/test-floorl-ieee.c (main): Likewise.
26899
26900 2010-12-22  Bruno Haible  <bruno@clisp.org>
26901
26902         getaddrinfo: Update doc.
26903         * doc/posix-functions/gai_strerror.texi: Return type is also different
26904         on AIX and HP-UX.
26905
26906 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26907
26908         getaddrinfo, inet_ntop: Update doc for Solaris.
26909         * doc/posix-functions/gai_strerror.texi: Return type is also an
26910         issue on Solaris 9 and earlier.
26911         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
26912         on Solaris 10 and earlier.
26913
26914 2010-12-21  Bruno Haible  <bruno@clisp.org>
26915
26916         New module 'roundl-ieee'.
26917         * modules/roundl-ieee: New file.
26918         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
26919         test whether roundl works according to ISO C 99 with IEC 60559.
26920         * m4/roundl-ieee.m4: New file.
26921         * modules/roundl-ieee-tests: New file.
26922         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
26923         * tests/test-roundl.c (main): Remove signbit tests.
26924         * modules/roundl-tests (Depends-on): Remove signbit.
26925         * doc/posix-functions/roundl.texi: Mention the new module.
26926
26927 2010-12-21  Bruno Haible  <bruno@clisp.org>
26928
26929         New module 'truncl-ieee'.
26930         * modules/truncl-ieee: New file.
26931         * modules/truncl-ieee-tests: New file.
26932         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
26933         * tests/test-truncl.c (main): Remove signbit tests.
26934         * modules/truncl-tests (Depends-on): Remove signbit.
26935         * doc/posix-functions/truncl.texi: Mention the new module.
26936
26937 2010-12-21  Bruno Haible  <bruno@clisp.org>
26938
26939         New module 'ceill-ieee'.
26940         * modules/ceill-ieee: New file.
26941         * modules/ceill-ieee-tests: New file.
26942         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
26943         * tests/test-ceill.c (main): Remove signbit tests.
26944         * modules/ceill-tests (Depends-on): Remove signbit.
26945         * doc/posix-functions/ceill.texi: Mention the new module.
26946
26947 2010-12-21  Bruno Haible  <bruno@clisp.org>
26948
26949         New module 'floorl-ieee'.
26950         * modules/floorl-ieee: New file.
26951         * modules/floorl-ieee-tests: New file.
26952         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
26953         * tests/test-floorl.c (main): Remove signbit tests.
26954         * modules/floorl-tests (Depends-on): Remove signbit.
26955         * doc/posix-functions/floorl.texi: Mention the new module.
26956
26957 2010-12-21  Bruno Haible  <bruno@clisp.org>
26958
26959         New module 'round-ieee'.
26960         * modules/round-ieee: New file.
26961         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
26962         whether round works according to ISO C 99 with IEC 60559.
26963         * m4/round-ieee.m4: New file.
26964         * modules/round-ieee-tests: New file.
26965         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
26966         * tests/test-round1.c (main): Remove signbit tests.
26967         * modules/round-tests (Depends-on): Remove 'signbit'.
26968         * doc/posix-functions/round.texi: Mention the new module.
26969
26970 2010-12-21  Bruno Haible  <bruno@clisp.org>
26971
26972         New module 'trunc-ieee'.
26973         * modules/trunc-ieee: New file.
26974         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
26975         whether trunc works according to ISO C 99 with IEC 60559.
26976         * m4/trunc-ieee.m4: New file.
26977         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
26978         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
26979         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
26980         * modules/trunc-ieee-tests: New file.
26981         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
26982         * tests/test-trunc1.c (main): Remove signbit tests.
26983         * modules/trunc-tests (Depends-on): Remove 'signbit'.
26984         * doc/posix-functions/trunc.texi: Mention the new module.
26985
26986 2010-12-21  Bruno Haible  <bruno@clisp.org>
26987
26988         New module 'ceil-ieee'.
26989         * modules/ceil-ieee: New file.
26990         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
26991         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
26992         ISO C 99 with IEC 60559.
26993         * m4/ceil-ieee.m4: New file.
26994         * modules/ceil (Files): Add lib/ceil.c.
26995         (Depends-on): Add 'float'.
26996         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26997         * lib/math.in.h (ceil): New declaration.
26998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
26999         REPLACE_CEIL.
27000         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27001         * modules/ceil-ieee-tests: New file.
27002         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27003         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27004         * doc/posix-functions/ceil.texi: Mention the new module.
27005
27006 2010-12-21  Bruno Haible  <bruno@clisp.org>
27007
27008         New module 'floor-ieee'.
27009         * modules/floor-ieee: New file.
27010         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27011         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27012         ISO C 99 with IEC 60559.
27013         * m4/floor-ieee.m4: New file.
27014         * modules/floor (Files): Add lib/floor.c.
27015         (Depends-on): Add 'float'.
27016         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27017         * lib/math.in.h (floor): New declaration.
27018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27019         REPLACE_FLOOR.
27020         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27021         * modules/floor-ieee-tests: New file.
27022         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27023         * tests/test-math-c++.cc: Check the signature of 'floor'.
27024         * doc/posix-functions/floor.texi: Mention the new module.
27025
27026 2010-12-21  Bruno Haible  <bruno@clisp.org>
27027
27028         New module 'roundf-ieee'.
27029         * modules/roundf-ieee: New file.
27030         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27031         test whether roundf works according to ISO C 99 with IEC 60559.
27032         * m4/roundf-ieee.m4: New file.
27033         * modules/roundf-ieee-tests: New file.
27034         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27035         * tests/test-roundf1.c (main): Remove signbit tests.
27036         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27037         * doc/posix-functions/roundf.texi: Mention the new module.
27038
27039 2010-12-21  Bruno Haible  <bruno@clisp.org>
27040
27041         New module 'truncf-ieee'.
27042         * modules/truncf-ieee: New file.
27043         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27044         test whether truncf works according to ISO C 99 with IEC 60559.
27045         * m4/truncf-ieee.m4: New file.
27046         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27047         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27048         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27049         * modules/truncf-ieee-tests: New file.
27050         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27051         * tests/test-truncf1.c (main): Remove signbit tests.
27052         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27053         * doc/posix-functions/truncf.texi: Mention the new module.
27054
27055 2010-12-21  Bruno Haible  <bruno@clisp.org>
27056
27057         New module 'ceilf-ieee'.
27058         * modules/ceilf-ieee: New file.
27059         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27060         test whether ceilf works according to ISO C 99 with IEC 60559.
27061         * m4/ceilf-ieee.m4: New file.
27062         * modules/ceilf-ieee-tests: New file.
27063         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27064         * tests/test-ceilf1.c (main): Remove signbit tests.
27065         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27066         * doc/posix-functions/ceilf.texi: Mention the new module.
27067
27068 2010-12-21  Bruno Haible  <bruno@clisp.org>
27069
27070         New module 'floorf-ieee'.
27071         * modules/floorf-ieee: New file.
27072         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27073         test whether floorf works according to ISO C 99 with IEC 60559.
27074         * m4/floorf-ieee.m4: New file.
27075         * modules/floorf-ieee-tests: New file.
27076         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27077         * tests/test-floorf1.c (main): Remove signbit tests.
27078         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27079         * doc/posix-functions/floorf.texi: Mention the new module.
27080
27081 2010-12-21  Bruno Haible  <bruno@clisp.org>
27082
27083         Support for minus zero in autoconf macros.
27084         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27085         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27086         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27087         * tests/minus-zero.h: Update comments.
27088
27089 2010-12-21  Bruno Haible  <bruno@clisp.org>
27090
27091         Tests for module 'ceil'.
27092         * modules/ceil-tests: New file.
27093         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27094         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27095
27096 2010-12-21  Bruno Haible  <bruno@clisp.org>
27097
27098         Tests for module 'floor'.
27099         * modules/floor-tests: New file.
27100         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27101         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27102
27103 2010-12-21  Bruno Haible  <bruno@clisp.org>
27104
27105         math: Fix indentation.
27106         * lib/math.in.h (floorf): Fix indentation.
27107
27108 2010-12-21  Bruno Haible  <bruno@clisp.org>
27109
27110         Fix cross-compilation guesses on Solaris.
27111         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27112         not match "solaris2.10".
27113         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27114         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27115         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27116
27117 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27118
27119         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27120         This fixes a problem observed with the latest coreutils snapshot
27121         that caused a test to fail on Solaris 8.  src/csplit.c's call
27122         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27123         earlier, instead of returning the number of bytes that would have
27124         been generated; this causes csplit to incorrectly report memory
27125         exhaustion.
27126         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27127         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27128         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27129         comments to match.
27130         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27131         Fix typo in matching older versions of Solaris: "solaris2.10"
27132         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27133         only for guessing while cross-compiling.
27134         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27135
27136 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27137
27138         ftoastr: fix comment again
27139         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27140         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27141         Also, simplify example a bit by using flags = 0.
27142
27143 2010-12-20  Bruno Haible  <bruno@clisp.org>
27144
27145         round*, trunc*: Update documentation regarding glibc.
27146         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27147         * doc/posix-functions/round.texi: Likewise.
27148         * doc/posix-functions/roundl.texi: Likewise.
27149         * doc/posix-functions/truncf.texi: Likewise.
27150         * doc/posix-functions/trunc.texi: Likewise.
27151         * doc/posix-functions/truncl.texi: Likewise.
27152
27153 2010-12-20  Bruno Haible  <bruno@clisp.org>
27154
27155         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27156         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27157         * doc/posix-functions/round.texi: Likewise.
27158         * doc/posix-functions/roundl.texi: Likewise.
27159
27160 2010-12-20  Bruno Haible  <bruno@clisp.org>
27161
27162         ttyname_r: Add missing declaration on HP-UX 11.
27163         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27164         HAVE_TTYNAME_R.
27165         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27166         declared. Set HAVE_TTYNAME_R always.
27167         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27168         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27169         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27170         HAVE_TTYNAME_R.
27171         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27172
27173 2010-12-20  Bruno Haible  <bruno@clisp.org>
27174
27175         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27176         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27177         * doc/posix-functions/getlogin_r.texi: Likewise.
27178         * tests/test-getlogin.c: Include <errno.h>.
27179         (main): Avoid test failure on HP-UX 11.11.
27180         * tests/test-getlogin_r.c (main): Likewise.
27181
27182 2010-12-20  Bruno Haible  <bruno@clisp.org>
27183
27184         getlogin_r: Add missing declaration on HP-UX 11.
27185         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27186         declared also when it exists as a function.
27187         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27188
27189 2010-12-20  Bruno Haible  <bruno@clisp.org>
27190
27191         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27192         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27193         through wcrtomb.
27194
27195 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27196
27197         ftoastr: fix comment
27198         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27199         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27200
27201 2010-12-19  Bruno Haible  <bruno@clisp.org>
27202
27203         isnan: Ensure it is a macro.
27204         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27205         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27206         Solaris.
27207
27208 2010-12-19  Bruno Haible  <bruno@clisp.org>
27209
27210         ldexpl test: Fix link error on OSF/1 5.1.
27211         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27212
27213 2010-12-19  Bruno Haible  <bruno@clisp.org>
27214
27215         wctype: Make it work in C++ mode on OSF/1 5.1.
27216         * lib/wctype.in.h (iswblank): Declare but not define here.
27217         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27218         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27219         * modules/wctype (Files): Add lib/iswblank.c.
27220
27221 2010-12-19  Bruno Haible  <bruno@clisp.org>
27222
27223         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27224         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27225         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27226
27227 2010-12-19  Bruno Haible  <bruno@clisp.org>
27228
27229         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27230         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27231         _POSIX_PII_SOCKET.
27232         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27233         * doc/posix-functions/recvfrom.texi: Likewise.
27234         * doc/posix-functions/send.texi: Likewise.
27235         * doc/posix-functions/sendto.texi: Likewise.
27236
27237 2010-12-19  Bruno Haible  <bruno@clisp.org>
27238
27239         tcgetsid: Add missing declaration on OSF/1 5.1.
27240         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27241         HAVE_TCGETSID.
27242         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27243         Don't set HAVE_TCGETSID.
27244         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27245         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27246         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27247         HAVE_TCGETSID.
27248         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27249
27250 2010-12-19  Bruno Haible  <bruno@clisp.org>
27251
27252         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27253         * lib/stdio.in.h: During the include_next statement, let recursive
27254         includes of this file include only the system header file.
27255
27256 2010-12-19  Bruno Haible  <bruno@clisp.org>
27257
27258         iconv_open: Fix regression from 2010-12-04.
27259         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27260         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27261
27262 2010-12-19  Bruno Haible  <bruno@clisp.org>
27263
27264         stdbool test: Avoid a gcc warning.
27265         * tests/test-stdbool.c (main): Fail if e1 is false.
27266         Reported by Jim Meyering.
27267
27268 2010-12-19  Jim Meyering  <meyering@redhat.com>
27269
27270         setenv: restore to working order
27271         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27272         mistakenly removed.
27273         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27274         HAVE_SETENV.
27275         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27276         HAVE_SETENV.
27277
27278 2010-12-19  Bruno Haible  <bruno@clisp.org>
27279
27280         Document some different function declarations on OSF/1 5.1.
27281         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27282         * doc/posix-functions/inet_ntop.texi: Likewise.
27283         * doc/posix-functions/gethostname.texi: Likewise.
27284         * lib/unistd.in.h (gethostname): Update comment.
27285
27286 2010-12-19  Bruno Haible  <bruno@clisp.org>
27287
27288         doc: Mention vasprintf-posix module.
27289         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27290         the 'vasprintf-posix' module.
27291         * doc/glibc-functions/vasprintf.texi: Likewise.
27292
27293 2010-12-19  Bruno Haible  <bruno@clisp.org>
27294
27295         unsetenv: Add missing declaration on OSF/1 5.1.
27296         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27297         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27298         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27300         not HAVE_UNSETENV.
27301         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27302         HAVE_UNSETENV.
27303         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27304
27305 2010-12-19  Bruno Haible  <bruno@clisp.org>
27306
27307         setenv: Add missing declaration on OSF/1 5.1.
27308         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27309         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27310         declared. Don't set HAVE_SETENV.
27311         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27312         not HAVE_SETENV.
27313         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27314         HAVE_SETENV.
27315         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27316
27317 2010-12-19  Bruno Haible  <bruno@clisp.org>
27318
27319         nl_langinfo tests: Avoid gcc warning.
27320         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27321
27322 2010-12-19  Bruno Haible  <bruno@clisp.org>
27323
27324         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27325         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27326         _GL_CXXALIAS_SYS.
27327
27328 2010-12-19  Bruno Haible  <bruno@clisp.org>
27329
27330         stdbool: Relax test.
27331         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27332         address to 'bool' work in static initializer, for compilers other than
27333         GCC.
27334
27335 2010-12-19  Bruno Haible  <bruno@clisp.org>
27336
27337         ftello: Add missing declaration on OSF/1 5.1.
27338         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27339         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27341         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27342         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27343
27344 2010-12-19  Bruno Haible  <bruno@clisp.org>
27345
27346         fseeko: Add missing declaration on OSF/1 5.1.
27347         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27348         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27350         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27351         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27352
27353 2010-12-19  Bruno Haible  <bruno@clisp.org>
27354
27355         fchdir: Add missing declaration on OSF/1 5.1.
27356         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27357         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27359         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27360         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27361
27362 2010-12-19  Bruno Haible  <bruno@clisp.org>
27363
27364         relocatable-prog-wrapper: Separate from relocatable-prog.
27365         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27366         uninstall-relocwrapper rule here.
27367         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27368         Reported by Ian Beckwith <ianb@erislabs.net>.
27369
27370 2010-12-19  Bruno Haible  <bruno@clisp.org>
27371
27372         unistr/u8-mbsnlen: Add missing dependency.
27373         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27374         Reported by Ian Beckwith <ianb@erislabs.net>.
27375
27376 2010-12-19  Bruno Haible  <bruno@clisp.org>
27377
27378         iconv: Make it possible again to use this module without 'iconv-h'.
27379         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27380         if it is not defined.
27381         Reported by Ian Beckwith <ianb@erislabs.net>.
27382
27383 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27384
27385         acl: port to Solaris 8 when copying from tmpfs to ufs
27386         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27387         error number.  Problem observed on Solaris 8 with latest
27388         coreutils, with "mv A B", where A is on a tmpfs file system and B
27389         is on a ufs file system.  This caused coreutils' mv/part-symlink
27390         test to fail.
27391
27392         tests: set fail=0 at start
27393         * tests/init.sh (setup_): Move fail=0 initialization here ...
27394         (mktempd_): ... from here, so that tests can rely on fail being
27395         set to 0 initially.  This fixes a problem in coreutils; see:
27396         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27397
27398 2010-12-18  Bruno Haible  <bruno@clisp.org>
27399
27400         memmem-simple: Stylistic changes.
27401         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27402         Fix preprocessor directive indentation.
27403
27404 2010-12-15  Pádraig Brady <P@draigBrady.com>
27405
27406         memmem, memmem-simple: reorganize and expand empty needle check
27407         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27408         functional checks to memmem-simple so that one has a fully functional
27409         memmem by using just this module.
27410         Restrict the performance only check to the memmem module.
27411         Also expand the empty needle check to ensure the correct
27412         pointer is returned, not just a non NULL pointer.
27413         * doc/glibc-functions/memmem.texi: Rearrange the portability
27414         documentation to correlate with the rearranged checks.
27415         Clarify exactly how the memmem and memmem-simple modules
27416         relate to each other.
27417
27418 2010-12-15  Pádraig Brady <P@draigBrady.com>
27419             Bruno Haible  <bruno@clisp.org>
27420
27421         Improve cross-compilation guesses for uClibc.
27422         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27423         that uClibc does not have the glibc bug.
27424         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27425         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27426
27427 2010-12-14  Eric Blake  <eblake@redhat.com>
27428
27429         configmake: provide fallbacks for oldest supported autotools
27430         * m4/configmake.m4: New file.
27431         * modules/configmake (Files): Ship it.
27432         (configure.ac): Use it to guarantee fallbacks.
27433
27434 2010-12-13  Pádraig Brady <P@draigBrady.com>
27435
27436         read-file: Improve handling of large files
27437         * lib/read-file.c (fread_file): Minimize realloc()s
27438         for regular files, and better manage sizes around SIZE_MAX.
27439
27440 2010-12-13  Eric Blake  <eblake@redhat.com>
27441
27442         cloexec, fcntl: relax license
27443         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27444         consent from all contributors.
27445         * modules/fcntl (License): Likewise.
27446
27447 2010-12-10  Bruno Haible  <bruno@clisp.org>
27448
27449         Tests for module 'pipe-posix'.
27450         * modules/pipe-posix-tests: New file.
27451         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27452
27453 2010-12-10  Bruno Haible  <bruno@clisp.org>
27454
27455         pipe-posix: Make it work in C++ mode.
27456         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27457         (pipe): Use common idiom, not a macro definition.
27458         * lib/pipe.c: New file.
27459         * m4/pipe.m4: New file.
27460         * modules/pipe-posix (Description): Enhance.
27461         (Files): Add lib/pipe.c, m4/pipe.m4.
27462         (configure.ac): Invoke gl_FUNC_PIPE.
27463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27464         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27465         * tests/test-unistd-c++.cc: Check the signature of pipe.
27466
27467 2010-12-10  Bruno Haible  <bruno@clisp.org>
27468
27469         Rename module 'pipe' to 'spawn-pipe'.
27470         * modules/spawn-pipe: New file, renamed from modules/pipe.
27471         (Files, configure.ac, Makefile.am): Update.
27472         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27473         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27474         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27475         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27476         "spawn-pipe.h" instead of "pipe.h".
27477         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27478         to gl_SPAWN_PIPE.
27479         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27480         (Files, Makefile.am): Update.
27481         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27482         Update.
27483         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27484         Include "spawn-pipe.h" instead of "pipe.h".
27485         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27486         * lib/javacomp.c: Likewise.
27487         * lib/javaversion.c: Likewise.
27488         * lib/pipe-filter-gi.c: Likewise.
27489         * lib/pipe-filter-ii.c: Likewise.
27490         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27491         * modules/javacomp (Depends-on): Likewise.
27492         * modules/javaversion (Depends-on): Likewise.
27493         * modules/pipe-filter-gi (Depends-on): Likewise.
27494         * modules/pipe-filter-ii (Depends-on): Likewise.
27495         * MODULES.html.sh (Executing programs): Update.
27496         * NEWS: Mention the change.
27497
27498 2010-12-10  Eric Blake  <eblake@redhat.com>
27499
27500         pipe-posix: new module
27501         * modules/pipe-posix: New file.
27502         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27503         (gl_UNISTD_H): Check for declaration.
27504         * modules/unistd (Makefile.am): Substitute it.
27505         * lib/unistd.in.h (pipe): Provide it for mingw.
27506         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27507         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27508
27509 2010-12-07  Bruno Haible  <bruno@clisp.org>
27510
27511         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27512         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27513         u8_strcmp_gnu.
27514         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27515
27516 2010-12-06  Bruno Haible  <bruno@clisp.org>
27517
27518         Update internal documentation.
27519         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27520
27521 2010-12-04  Bruno Haible  <bruno@clisp.org>
27522
27523         Put more information about failed tests into the test return codes.
27524         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27525         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27527         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27528         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27529         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27530         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27531         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27532         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27534         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27535         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27536         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27537         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27538         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27539         returns a bit mask.
27540         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27541         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27542         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27543         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27544         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27545         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27546         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27547         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27548         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27549         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27550         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27551         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27552         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27553         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27554         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27555         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27556         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27557         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27558         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27559         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27560         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27561         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27562         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27563         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27564         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27565         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27566         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27567         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27568         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27569         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27570         gl_PRINTF_PRECISION): Likewise.
27571         * m4/regex.m4 (gl_REGEX): Likewise.
27572         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27573         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27574         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27575         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27576         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27577         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27578         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27579         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27580         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27581         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27582         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27583         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27584         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27585         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27586         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27587         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27588         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27589         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27590         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27591         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27592         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27593         enumerated value.
27594         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27595
27596 2010-12-04  Bruno Haible  <bruno@clisp.org>
27597
27598         Update for Solaris 11 2010-11.
27599         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27600         Express, released in November 2010.
27601
27602 2010-12-04  Bruno Haible  <bruno@clisp.org>
27603
27604         nproc: Relax license.
27605         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27606         and Paul Eggert.
27607         Requested by Ludovic Courtès <ludo@gnu.org>.
27608
27609 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27610
27611         utimecmp: fine-grained src to nearby coarse-grained dest
27612
27613         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27614         and the source is on a file system with higher-resolution time
27615         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27616         not work, and the time stamps are close together, the algorithm to
27617         determine the exact resolution from the read-back mtime was buggy:
27618         it had a "!=" where it should have had an "==".  This bug has been
27619         in the code ever since it was introduced to gnulib.
27620         Problem reported by Dan Jacobson in
27621         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27622
27623 2010-11-30  Bruno Haible  <bruno@clisp.org>
27624
27625         strerror_r-posix: Fix autoconf test.
27626         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27627
27628 2010-11-28  Bruno Haible  <bruno@clisp.org>
27629             Paul Eggert  <eggert@cs.ucla.edu>
27630
27631         Tests for module 'getdomainname'.
27632         * modules/getdomainname-tests: New file.
27633         * tests/test-getdomainname.c: New file, based on
27634         tests/test-gethostname.c.
27635
27636 2010-11-28  Bruno Haible  <bruno@clisp.org>
27637             Paul Eggert  <eggert@cs.ucla.edu>
27638
27639         getdomainname: Use the system function when possible.
27640         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27641         (getdomainname): Replace if needed. Provide the declaration if it is
27642         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27643         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27644         (getdomainname): When the system has getdomainname, call the system
27645         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27646         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27647         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27648         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27649         the function if its second argument is of type 'int' or if it is found
27650         in libnsl.
27651         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27652         <sys/systeminfo.h> and sysinfo().
27653         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27655         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27656         HAVE_GETDOMAINNAME.
27657         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27658         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27659         * doc/glibc-functions/getdomainname.texi: Document the problems with
27660         the getdomainname declaration.
27661
27662 2010-11-28  Bruno Haible  <bruno@clisp.org>
27663
27664         sys_socket: Ensure ss_family field on AIX.
27665         * lib/sys_socket.in.h (ss_family): New macro definition.
27666         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27667         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27668         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27669         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27670         * modules/sys_socket (Makefile.am): Substitute
27671         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27672         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27673
27674 2010-11-27  Bruno Haible  <bruno@clisp.org>
27675
27676         readline: Improve configure output.
27677         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27678         "checking for readline..." result understandable.
27679
27680 2010-11-27  Bruno Haible  <bruno@clisp.org>
27681
27682         *printf-posix: Detect a bug on Solaris 10/x86.
27683         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27684         for floating-point output.
27685         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27686         directive.
27687         * tests/test-snprintf-posix.h (test_function): Likewise.
27688         * tests/test-sprintf-posix.h (test_function): Likewise.
27689         * tests/test-vasprintf-posix.c (test_function): Likewise.
27690         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27691         * doc/posix-functions/printf.texi: Likewise.
27692         * doc/posix-functions/snprintf.texi: Likewise.
27693         * doc/posix-functions/sprintf.texi: Likewise.
27694         * doc/posix-functions/vfprintf.texi: Likewise.
27695         * doc/posix-functions/vprintf.texi: Likewise.
27696         * doc/posix-functions/vsnprintf.texi: Likewise.
27697         * doc/posix-functions/vsprintf.texi: Likewise.
27698         * doc/glibc-functions/obstack_printf.texi: Likewise.
27699         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27700
27701 2010-11-27  Bruno Haible  <bruno@clisp.org>
27702
27703         Fix link error when module libunistring-optional is in use.
27704         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27705         * modules/striconveha-tests (Makefile.am): Likewise.
27706
27707 2010-11-27  Bruno Haible  <bruno@clisp.org>
27708
27709         regex: Mention link dependencies.
27710         * modules/regex (Link): New section.
27711         * modules/rpmatch (Link): Likewise.
27712         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
27713
27714 2010-11-27  Bruno Haible  <bruno@clisp.org>
27715
27716         ftoastr: Fix compilation error on Solaris.
27717         * lib/ftoastr.c: Include <config.h>.
27718
27719 2010-11-27  Bruno Haible  <bruno@clisp.org>
27720
27721         getloadavg: Update documentation.
27722         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
27723
27724 2010-11-27  Bruno Haible  <bruno@clisp.org>
27725
27726         sys_socket: Fix test whether the functions are declared.
27727         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
27728         not <sys/select.h>.
27729
27730 2010-11-27  Bruno Haible  <bruno@clisp.org>
27731
27732         getpass: Make sure to get system declaration on some platforms.
27733         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
27734         gl_USE_SYSTEM_EXTENSIONS.
27735         * modules/getpass (Depends-on): Add extensions.
27736
27737 2010-11-26  Bruno Haible  <bruno@clisp.org>
27738
27739         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
27740         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
27741         'iconv' module is present.
27742         (ICONV_CONST): New macro.
27743         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
27744         ICONV_CONST.
27745         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
27746         set ICONV_CONST.
27747         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
27748         here.
27749         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
27750         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
27751         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
27752         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
27753         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
27754         present.
27755
27756 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27757
27758         ftoastr: comment fix
27759         * lib/ftoastr.c: "little" -> "little or no" in comment
27760
27761 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
27762
27763         stdint: port to GCC 4.3 + OSX + Octave
27764         On this platform, stdint.h is buggy and defines int64_t to long
27765         long int.  The replacement defined it to long int, causing
27766         problems with C++ style name mangling.  Instead, trust the system
27767         definition if INT64_MAX is defined, and likewise for the unsigned
27768         variant.   Problem reported by Jarno Rajahalme in
27769         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
27770         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
27771         and don't mess with int64_t and INT64_MAX in this case.
27772         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
27773
27774 2010-11-24  Bruno Haible  <bruno@clisp.org>
27775
27776         doc: Corrections regarding MacOS X 10.4 and 10.5.
27777         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
27778         MacOS X.
27779         Reported by Simon Josefsson.
27780
27781 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
27782
27783         Uninstall ".bin" files installed by relocwrapper.
27784         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
27785         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
27786         unless it is already there.
27787
27788 2010-11-21  Bruno Haible  <bruno@clisp.org>
27789
27790         Update for NetBSD 5.0.
27791         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27792         NetBSD; the test fails on NetBSD 5.0.
27793         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27794         about NetBSD.
27795
27796 2010-11-21  Bruno Haible  <bruno@clisp.org>
27797
27798         Update for HP-UX 11.23 and HP-UX 11.31.
27799         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
27800         HP-UX.
27801
27802 2010-11-21  Bruno Haible  <bruno@clisp.org>
27803
27804         Update for MacOS X 10.5.
27805         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27806         MacOS X; the test fails on MacOS X 10.5.8.
27807         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27808         about MacOS X.
27809
27810 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
27811
27812         bootstrap: add bootstrap_sync option.
27813         See discussion at
27814         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
27815         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
27816         * build-aux/bootstrap: Accept --bootstrap-sync to update
27817         bootstrap if it is not identical to the local gnulib's
27818         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
27819         enable this by default.  Accept --no-bootstrap-sync to disable
27820         it.
27821
27822 2010-11-20  Bruno Haible  <bruno@clisp.org>
27823
27824         Ensure that <features.h> is included before __GLIBC__ is tested.
27825         * lib/printf-parse.h: Include <features.h>.
27826         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
27827         Reported by Mike Frysinger <vapier@gentoo.org>.
27828
27829         Ensure that <features.h> is included before __GLIBC__ is tested.
27830         * lib/wchar.in.h: Include <features.h>.
27831         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
27832         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
27833         Reported by Mike Frysinger <vapier@gentoo.org>.
27834
27835         Ensure that <features.h> is included before __GLIBC__ is tested.
27836         * lib/arpa_inet.in.h: Include <features.h>.
27837         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
27838         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
27839         Reported by Mike Frysinger <vapier@gentoo.org>.
27840
27841         Ensure that <features.h> is included before __GLIBC__ is tested.
27842         * build-aux/link-warning.h: Include <features.h>.
27843         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
27844         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
27845         Reported by Mike Frysinger <vapier@gentoo.org>.
27846
27847         Ensure that <features.h> is included before __GLIBC__ is tested.
27848         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
27849         Reported by Mike Frysinger <vapier@gentoo.org>.
27850
27851 2010-11-20  Bruno Haible  <bruno@clisp.org>
27852
27853         memmem: Fix autoconf test.
27854         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
27855
27856 2010-11-20  Bruno Haible  <bruno@clisp.org>
27857
27858         Port to uClibc.
27859         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
27860         * lib/fcntl.in.h: Likewise.
27861         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
27862         * lib/mbrtowc.c (mbrtowc): Likewise.
27863         * lib/relocatable.c (find_shared_library_fullname): Likewise.
27864         * lib/strerror_r.c: Likewise.
27865         * lib/unistr/u8-strnlen.c: Likewise.
27866         * lib/vasnprintf.c (decimal_point_char): Likewise.
27867         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27868         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27869         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27870         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27871         * tests/test-sigaction.c (handler, main): Likewise.
27872         * lib/freading.h: Treat uClibc like a non-glibc platform.
27873         * lib/freading.c: Likewise.
27874         * lib/gettext.h: Likewise.
27875         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27876         Likewise.
27877         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27878         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27879         * lib/propername.c (proper_name_utf8): Likewise.
27880         * lib/spawn.in.h: Likewise.
27881         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27882         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27883         mem_cd_iconveh_internal): Likewise.
27884         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
27885         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27886         strstr, strcasestr): Likewise.
27887         * lib/unicodeio.c (unicode_to_mb): Likewise.
27888         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
27889         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
27890         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
27891         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
27892         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
27893         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
27894         * lib/unistr/u8-stpncpy.c: Likewise.
27895         * lib/vasnprintf.c (VASNPRINTF): Likewise.
27896         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
27897         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27898         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27899         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27900         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
27901         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
27902         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
27903         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
27904         Likewise.
27905         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27906         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27907         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27908         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27909         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27910         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27911         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27912         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
27913         * tests/test-getopt.h (OPTIND_MIN): Likewise.
27914         * tests/test-striconveha.c (main): Likewise.
27915         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27916         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
27917         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
27918         * doc/posix-functions/getline.texi: Likewise.
27919         Reported by Mike Frysinger <vapier@gentoo.org>.
27920
27921 2010-11-20  Bruno Haible  <bruno@clisp.org>
27922
27923         nproc: Fix condition.
27924         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
27925         HAVE_PTHREAD_AFFINITY_NP.
27926
27927 2010-11-20  Bruno Haible  <bruno@clisp.org>
27928
27929         Fix a comment.
27930         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
27931
27932 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
27933
27934         ftoastr: don't assume snprintf
27935         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
27936         Implement a subset of snprintf here, by using sprintf safely.
27937         * modules/ftoastr (Depends-on): Remove snprintf.
27938
27939 2010-11-19  Jim Meyering  <meyering@redhat.com>
27940
27941         test-rename.h: fix compilation failure
27942         * tests/test-rename.h (test_rename): Add omitted "}".
27943
27944 2010-11-17  Jim Meyering  <meyering@redhat.com>
27945
27946         maint.mk: add a URL discussing the no-@acronym policy
27947         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
27948
27949 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27950
27951         ftoastr: depend on snprintf, improve comments
27952         * lib/ftoastr.c: Also mention Loitsch's draft.
27953         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
27954         needed in the current implementation, but it might simplify
27955         speeding up the code later.
27956         * modules/ftoastr: Depend on snprintf; this improves portability.
27957         Suggested by Bruno Haible in the same email.
27958
27959         ftoastr: port to hosts lacking strtof and strtold
27960         Problem reported by Bruno Haible in
27961         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
27962         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
27963         environment and strtold (and presumably strtof) are not available.
27964         * modules/ftoastr (Files): Add m4/c-strtod.m4.
27965         (configure.ac): Require gl_C99_STRTOLD.
27966
27967 2010-11-18  Bruno Haible  <bruno@clisp.org>
27968
27969         c-strtold: Avoid link error on AIX 7.
27970         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
27971         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
27972         (gl_C_STRTOLD): Test whether strtold_l exists.
27973         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27974
27975 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27976
27977         intprops: new macro INT_BITS_STRLEN_BOUND
27978         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
27979         ftoastr.h.  This exposes an internal of intprops.h that was formerly
27980         not exposed.  Also, it uses a slightly tighter bound than before;
27981         though this makes no practical difference, we might as well be as
27982         tight as we easily can.
27983
27984         ftoastr: new module, for lossless conversion of floats to short strings
27985         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
27986         * modules/ftoastr: New files.
27987
27988 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
27989
27990         bootstrap: port to Solaris sed
27991         * build-aux/bootstrap (get_version): Port to Solaris sed.
27992         See Ralf Wildenhues's note in
27993         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
27994
27995 2010-11-14  Jim Meyering  <meyering@redhat.com>
27996
27997         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
27998         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
27999         and move definition closer to sole use.
28000
28001 2010-11-13  Jim Meyering  <meyering@redhat.com>
28002
28003         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28004         Now we require at least autoconf-2.59, which means the work-around
28005         is no longer needed.
28006         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28007         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28008         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28009         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28010         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28011
28012 2010-11-13  Bruno Haible  <bruno@clisp.org>
28013
28014         rename, renameat: Avoid test failures at NFS mounted locations.
28015         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28016         functions.
28017         (test_rename): Use assert_nonexistent.
28018         * tests/test-rename.c: Include <dirent.h>.
28019         * tests/test-renameat.c: Likewise.
28020         Reported by Gary V. Vaughan <gary@gnu.org>.
28021
28022         rename, renameat: Document Linux bug with NFS
28023         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28024         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28025         * doc/posix-functions/renameat.texi: Likewise.
28026         Suggested by Eric Blake.
28027
28028 2010-11-13  Bruno Haible  <bruno@clisp.org>
28029
28030         rename test: Add comments.
28031         * tests/test-rename.h (test_rename): Add structure and comments.
28032
28033 2010-11-13  Eric Blake  <eblake@redhat.com>
28034
28035         maintainer-makefile: cover a few more files
28036         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28037         scripts generated within C files, for libvirt.
28038
28039 2010-11-13  Bruno Haible  <bruno@clisp.org>
28040
28041         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28042         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28043         character, return the number of bytes that belong together, not always
28044         1.
28045         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28046         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28047         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28048         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28049         number of bytes of an invalid character.
28050         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28051         (main): Invoke it.
28052         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28053         results.
28054         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28055         malformed byte sequences.
28056         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28057         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28058         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28059         Reported by Ben Pfaff and Paolo Bonzini.
28060
28061 2010-11-13  Bruno Haible  <bruno@clisp.org>
28062
28063         openat: Work around glibc bug with fchownat() and empty file names.
28064         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28065         (gl_FUNC_FCHOWNAT): Invoke it.
28066         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28067         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28068         Reported by Gary V. Vaughan <gary@gnu.org>.
28069
28070 2010-11-13  Bruno Haible  <bruno@clisp.org>
28071
28072         openat: Ensure autoconf macro ordering.
28073         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28074         gl_USE_SYSTEM_EXTENSIONS.
28075         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28076
28077 2010-11-13  Bruno Haible  <bruno@clisp.org>
28078
28079         Update comments.
28080         * lib/unistr/u8-check.c: Update file name in comments.
28081         * lib/unistr/u8-mblen.c: Likewise.
28082         * lib/unistr/u8-prev.c: Likewise.
28083         * lib/unistr/u8-strmblen.c: Likewise.
28084         * lib/unistr/u8-strmbtouc.c: Likewise.
28085
28086 2010-11-13  Jim Meyering  <meyering@redhat.com>
28087
28088         tests: avoid test failure on Solaris 10 due to lack of PATH export
28089         * tests/test-update-copyright.sh: Don't forget to export PATH.
28090
28091         init.sh: ensure that IFS is defined, just in case...
28092         * tests/init.sh (setup_): Ensure that IFS is defined,
28093         so that saving and restoring it works as expected.  This
28094         appears to be useful at least for an old version of dash
28095         from a long time ago (RH 6).  See here for details:
28096         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28097
28098         maint.mk: tighten "test a == b" check
28099         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28100         test to files that contain something like #!/bin/sh.
28101         Without this, coreutils would get two false positives in
28102         the comments of C source files.
28103
28104 2010-11-12  Eric Blake  <eblake@redhat.com>
28105
28106         bootstrap: fix typo in previous attempt
28107         * build-aux/bootstrap (buildreq): Correct the grouping.
28108         Reported by Paul Eggert.
28109
28110         maintainer-makefile: prohibit test x == x
28111         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28112         Based on a report by Matthias Bolte.
28113
28114         bootstrap: allow FreeBSD gzip
28115         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28116         which has no '.' and goes to stderr.
28117         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28118         Reported by Matthias Bolte.
28119
28120         maintainer-makefile: check for i18n setup
28121         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28122         will likely work.
28123
28124 2010-11-12  Bruno Haible  <bruno@clisp.org>
28125
28126         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28127         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28128         * lib/nanosleep.c (nanosleep): Likewise.
28129
28130 2010-11-11  Bruno Haible  <bruno@clisp.org>
28131
28132         fcntl-h: Fix for use of C++ on glibc systems.
28133         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28134         also on glibc systems in C++ mode.
28135         Reported by Gary V. Vaughan <gary@gnu.org>.
28136
28137 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28138
28139         mknod: avoid false failure with dash
28140         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28141
28142 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28143
28144         unlink: Fix "is it should" typo in diagnostic.
28145         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28146         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28147
28148 2010-11-11  Bruno Haible  <bruno@clisp.org>
28149
28150         Tests for module 'strerror_r-posix'.
28151         * modules/strerror_r-posix-tests: New file.
28152         * tests/test-strerror_r.c: New file.
28153         * tests/test-string-c++.cc: Check the signature of strerror_r.
28154
28155         New module 'strerror_r-posix'.
28156         * lib/string.in.h (strerror_r): New declaration.
28157         * lib/strerror_r.c: New file.
28158         * m4/strerror_r.m4: New file.
28159         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28160         of strerror_r.
28161         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28162         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28163         * modules/strerror_r-posix: New file.
28164         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28165         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28166         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28167         portability problems.
28168
28169 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28170
28171         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28172         line is also considered for output. Quoted function name in shell
28173         command, so temporary files for functions like MyClass::operator()
28174         are removed correctly without errors.
28175
28176 2010-11-09  Bruno Haible  <bruno@clisp.org>
28177
28178         * doc/posix-functions/strerror.texi: List more failing platforms.
28179
28180         * doc/posix-functions/strerror.texi: Add a comment.
28181
28182 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28183
28184         fdopendir: fix bug on MacOS X when low on file descriptors
28185
28186         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28187         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28188         All callers changed.
28189         (fdopendir): Invoke save_cwd at the top level, not after using
28190         multiple dup() calls to use up file descriptors.  Then retry
28191         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28192         less than the maximum number of open file descriptors, because
28193         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28194         on Mac OS X 10.6.4 for tar 1.24
28195         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28196         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28197         and for tar 1.25
28198         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28199
28200 2010-11-07  Bruno Haible  <bruno@clisp.org>
28201
28202         vasnprintf: Support I flag on glibc systems.
28203         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28204         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28205         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28206         snprintf function.
28207         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28208         glibc systems.
28209         * tests/test-vasnprintf-posix3.c: New file.
28210         * modules/vasnprintf-posix-tests (Files): Add it.
28211         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28212
28213 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28214
28215         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28216         * MODULES.html.sh: For compiler warnings, use name
28217         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28218
28219 2010-11-05  Eric Blake  <eblake@redhat.com>
28220
28221         ceil, floor: avoid spurious failure with icc
28222         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28223         [denormals-as-zero] when optimizing without -mieee-fp option.
28224         * tests/test-floorf2.c (floorf_reference): Likewise.
28225         * tests/test-ceilf1.c (dummy): New function.
28226         (main): Use it to outsmart icc's optimization.
28227         * tests/test-floorf1.c (dummy, main): Likewise.
28228
28229         tests: require working signbit
28230         * modules/ceilf-tests (Depends-on): Add signbit.
28231         * modules/ceill-tests (Depends-on): Likewise.
28232         * modules/floorf-tests (Depends-on): Likewise.
28233         * modules/floorl-tests (Depends-on): Likewise.
28234         * modules/round-tests (Depends-on): Likewise.
28235         * modules/roundf-tests (Depends-on): Likewise.
28236         * modules/roundl-tests (Depends-on): Likewise.
28237         * modules/trunc-tests (Depends-on): Likewise.
28238         * modules/truncf-tests (Depends-on): Likewise.
28239         * modules/truncl-tests (Depends-on): Likewise.
28240
28241         strtod: work around icc bug
28242         * lib/strtod.c (minus_zero): Define to working value.
28243         (strtod): Use it to avoid icc bug.
28244
28245         copysign: enhance tests
28246         * modules/copysign-tests (Files): Add minus-zero.h.
28247         * tests/test-copysign.c (main): Also test zeros.
28248
28249 2010-11-04  Eric Blake  <eblake@redhat.com>
28250
28251         ceil, floor, round, trunc: enhance tests of -0
28252         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28253         * tests/test-ceill.c (main): Likewise.
28254         * tests/test-floorf1.c (main): Likewise.
28255         * tests/test-floorl.c (main): Likewise.
28256         * tests/test-round1.c (main): Likewise.
28257         * tests/test-roundf1.c (main): Likewise.
28258         * tests/test-roundl.c (main): Likewise.
28259         * tests/test-trunc1.c (main): Likewise.
28260         * tests/test-truncf1.c (main): Likewise.
28261         * tests/test-truncl.c (main): Likewise.
28262
28263 2010-11-04  Eric Blake  <eblake@redhat.com>
28264
28265         frexp, tests: work around ICC bug with -zero
28266         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28267         works with more compilers.
28268         * tests/minus-zero.h: New file.
28269         * modules/ceilf-tests (Files): Include it.
28270         * modules/ceill-tests (Files): Likewise.
28271         * modules/floorf-tests (Files): Likewise.
28272         * modules/floorl-tests (Files): Likewise.
28273         * modules/frexp-nolibm-tests (Files): Likewise.
28274         * modules/frexp-tests (Files): Likewise.
28275         * modules/frexpl-nolibm-tests (Files): Likewise.
28276         * modules/frexpl-tests (Files): Likewise.
28277         * modules/isnan-tests (Files): Likewise.
28278         * modules/isnand-nolibm-tests (Files): Likewise.
28279         * modules/isnand-tests (Files): Likewise.
28280         * modules/isnanf-nolibm-tests (Files): Likewise.
28281         * modules/isnanf-tests (Files): Likewise.
28282         * modules/isnanl-nolibm-tests (Files): Likewise.
28283         * modules/isnanl-tests (Files): Likewise.
28284         * modules/round-tests (Files): Likewise.
28285         * modules/roundf-tests (Files): Likewise.
28286         * modules/roundl-tests (Files): Likewise.
28287         * modules/ldexpl-tests (Files): Likewise.
28288         * modules/signbit-tests (Files): Likewise.
28289         * modules/snprintf-posix-tests (Files): Likewise.
28290         * modules/sprintf-posix-tests (Files): Likewise.
28291         * modules/strtod-tests (Files): Likewise.
28292         * modules/trunc-tests (Files): Likewise.
28293         * modules/truncf-tests (Files): Likewise.
28294         * modules/truncl-tests (Files): Likewise.
28295         * modules/vsnprintf-posix-tests (Files): Likewise.
28296         * modules/vsprintf-posix-tests (Files): Likewise.
28297         * modules/vasnprintf-posix-tests (Files): Likewise.
28298         * modules/vasprintf-posix-tests (Files): Likewise.
28299         * tests/test-ceilf1.c (main): Use it.
28300         * tests/test-ceill.c (main): Likewise.
28301         * tests/test-floorf1.c (main): Likewise.
28302         * tests/test-floorl.c (main): Likewise.
28303         * tests/test-frexp.c (main): Likewise.
28304         * tests/test-frexpl.c (main): Likewise.
28305         * tests/test-isnan.c (main): Likewise.
28306         * tests/test-isnand.h (main): Likewise.
28307         * tests/test-isnanf.h (main): Likewise.
28308         * tests/test-isnanl.h (main): Likewise.
28309         * tests/test-ldexpl.c (main): Likewise.
28310         * tests/test-round.c (main): Likewise.
28311         * tests/test-roundf.c (main): Likewise.
28312         * tests/test-roundl.c (main): Likewise.
28313         * tests/test-signbit.c (test_signbitf, test_signbitd)
28314         (test_signbitl): Likewise.
28315         * tests/test-snprintf-posix.h (test_function): Likewise.
28316         * tests/test-sprintf-posix.h (test_function): Likewise.
28317         * tests/test-strtod.c (main): Likewise.
28318         * tests/test-trunc1.c (main): Likewise.
28319         * tests/test-truncf1.c (main): Likewise.
28320         * tests/test-truncl.c (main): Likewise.
28321
28322         isnanl: work around icc bug
28323         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28324
28325 2010-11-03  Eric Blake  <eblake@redhat.com>
28326
28327         tests: fix compiler warnings
28328         * tests/test-getopt.h (test_getopt): Fix condition.
28329         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28330         * tests/test-pipe2.c (main): Likewise.
28331         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28332
28333         utimens: fix broken m4 test
28334         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28335
28336 2010-10-28  Bruno Haible  <bruno@clisp.org>
28337
28338         posix_spawn*, getdtablesize: Relax license.
28339         * modules/posix_spawn (License): Change to LGPLv2+.
28340         * modules/posix_spawnp (License): Likewise.
28341         * modules/posix_spawn-internal (License): Likewise.
28342         * modules/posix_spawnattr_init (License): Likewise.
28343         * modules/posix_spawnattr_getflags (License): Likewise.
28344         * modules/posix_spawnattr_setflags (License): Likewise.
28345         * modules/posix_spawnattr_getpgroup (License): Likewise.
28346         * modules/posix_spawnattr_setpgroup (License): Likewise.
28347         * modules/posix_spawnattr_getschedparam (License): Likewise.
28348         * modules/posix_spawnattr_setschedparam (License): Likewise.
28349         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28350         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28351         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28352         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28353         * modules/posix_spawnattr_getsigmask (License): Likewise.
28354         * modules/posix_spawnattr_setsigmask (License): Likewise.
28355         * modules/posix_spawnattr_destroy (License): Likewise.
28356         * modules/posix_spawn_file_actions_init (License): Likewise.
28357         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28358         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28359         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28360         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28361         * modules/getdtablesize (License): Likewise.
28362         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28363
28364 2010-10-26  Bruno Haible  <bruno@clisp.org>
28365
28366         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28367         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28368         Cygwin and mingw.
28369         Suggested by Eric Blake.
28370
28371 2010-10-26  Bruno Haible  <bruno@clisp.org>
28372
28373         stdio: Work around compilation error due to renameat() on Solaris 10.
28374         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28375         * lib/renameat.c: Don't include <unistd.h> here.
28376         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28377         Reported by Paul Eggert and Eric Blake.
28378
28379 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28380
28381         renameat: port to Solaris 10, which declares renameat in unistd.h
28382
28383         * lib/renameat.c: Include unistd.h before stdio.h, because
28384         Solaris 10 declares renameat in unistd.h.  Problem encountered
28385         when building GNU tar 1.24 on Solaris 10.
28386
28387 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28388
28389         fdopendir: fix C89 compilation
28390         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28391         compilers.
28392
28393 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28394
28395         inttostr: simplify by removing unnecessary redundancy
28396         * lib/anytostr.c: Don't include verify.h.
28397         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28398         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28399         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28400         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28401         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28402         Likewise.
28403         * modules/inttostr (Depends-on): Remove 'verify'.
28404
28405 2010-10-23  Bruno Haible  <bruno@clisp.org>
28406
28407         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28408         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28409         Reported by Eric Blake.
28410
28411 2010-10-23  Bruno Haible  <bruno@clisp.org>
28412
28413         Tests: Fix LOCALE_JA on MirBSD 10.
28414         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28415         to an UTF-8 locale.
28416         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28417         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28418         Reported by Eric Blake.
28419
28420 2010-10-21  Bruno Haible  <bruno@clisp.org>
28421
28422         nl_langinfo test: Avoid test failure on NetBSD 5.
28423         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28424         Reported by Eric Blake.
28425
28426 2010-10-21  Eric Blake  <eblake@redhat.com>
28427
28428         c-stack: work around libsigsegv 2.8 bug
28429         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28430         overflow on at least PowerPC64.
28431
28432 2010-10-17  Bruno Haible  <bruno@clisp.org>
28433
28434         userspec: Drop redundant file.
28435         * modules/userspec (Files): Remove lib/inttostr.h.
28436
28437 2010-10-17  Bruno Haible  <bruno@clisp.org>
28438
28439         nl_langinfo tests: Silence some warnings.
28440         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28441         Reported by Jim Meyering.
28442
28443 2010-10-17  Bruno Haible  <bruno@clisp.org>
28444
28445         Make use of GCC's attribute __alloc_size__.
28446         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28447         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28448         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28449         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28450         __alloc_size__.
28451         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28452         Suggested by Jim Meyering.
28453
28454 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28455
28456         bootstrap: anchor .gitignore entries.
28457         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28458         with...
28459         (insert_vc_ignore): ... this new function, which prepends `/' to
28460         all .gitignore entries before passing them to
28461         insert_sorted_if_absent.
28462
28463 2010-10-16  Bruno Haible  <bruno@clisp.org>
28464
28465         nextafter: Fix configure check.
28466         * modules/nextafter (configure.ac): Correct expected prototype.
28467
28468 2010-10-16  Bruno Haible  <bruno@clisp.org>
28469
28470         termios: Update documentation.
28471         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28472
28473 2010-10-16  Bruno Haible  <bruno@clisp.org>
28474
28475         tests: Make them compile with TinyCC.
28476         * tests/test-strstr.c (main): Remove parentheses around array
28477         initializer.
28478
28479 2010-10-15  Eric Blake  <eblake@redhat.com>
28480
28481         ignore-value: make header idempotent
28482         * lib/ignore-value.h: Add double-inclusion guards.
28483         Reported by Stefan Berger.
28484
28485 2010-10-15  Jim Meyering  <meyering@redhat.com>
28486
28487         GNUmakefile: handle "stable" target, not "major"
28488         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28489         lists in maint.mk and announce-gen.  Without this, "make stable"
28490         would fail to ensure that $(VERSION) is up to date.
28491
28492 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28493
28494         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28495         & co.
28496
28497 2010-10-14  Bruno Haible  <bruno@clisp.org>
28498
28499         vasnprintf: Don't set errno to 0.
28500         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28501         block that sets it to 0.
28502         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28503
28504 2010-10-14  Bruno Haible  <bruno@clisp.org>
28505
28506         socketlib: Fix.
28507         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28508         gl_PREREQ_SYS_H_WINSOCK2.
28509         Reported by Ian Beckwith <ianb@erislabs.net>.
28510
28511 2010-10-13  Jim Meyering  <meyering@redhat.com>
28512
28513         test-select-stdin.c: avoid warn_unused_result warnings
28514         * tests/test-select-stdin.c: Include "macros.h".
28515         ASSERT that read and fflush succeed.
28516
28517 2010-10-13  Jim Meyering  <meyering@redhat.com>
28518
28519         git-version-gen: do require git-VC'd files in cwd
28520         * build-aux/git-version-gen: Reject a git version string
28521         if there are no commits associated with the current directory.
28522         This avoids an unlikely false-positive (unrelated dir whose parent
28523         repository also contains a tag matching v*), as pointed out
28524         by Giuseppe Scrivano in
28525         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28526
28527 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28528
28529         argv-iter: omit nonconforming declaration
28530         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28531         enum arg_iter_err declaration, which doesn't conform to C99.
28532         Solaris 10 cc warns about this.
28533
28534 2010-10-13  Eric Blake  <eblake@redhat.com>
28535
28536         termios: fix compilation on mingw
28537         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28538         (gl_TERMIOS_H): Adjust it on mingw.
28539         * modules/termios (Makefile.am): Substitute new key.
28540         * lib/termios.in.h (includes): Make include_next conditional.
28541         * doc/posix-headers/termios.texi (termios.h): Update
28542         documentation.
28543         Reported by Daniel P. Berrange.
28544
28545 2010-10-13  Jim Meyering  <meyering@redhat.com>
28546
28547         git-version-gen: don't require that .git/ be in the current dir
28548         * build-aux/git-version-gen: Adjust this script so that it works
28549         when run from any working directory beneath the top-level .git/-
28550         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28551         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28552
28553         test-select: avoid warn_unused_result warnings
28554         * tests/test-select.c: Include "macros.h".
28555         ASSERT that each call to read, write, and pipe succeeds.
28556         While not technically required, also check each "close".
28557         * modules/select-tests (Files): Add tests/macros.h.
28558
28559         test-symlinkat: remove declaration of unused local
28560         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28561
28562         test-inttostr: avoid shadowing warnings
28563         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28564         and use malloc rather than the stack for the same reason as
28565         mentioned in the comment justifying the other allocation.
28566
28567 2010-10-11  Bruno Haible  <bruno@clisp.org>
28568
28569         stdlib: Allow multiple gnulib generated replacements to coexist.
28570         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28571         Reported by Sam Steingold <sds@gnu.org>.
28572
28573 2010-10-11  Jim Meyering  <meyering@redhat.com>
28574
28575         fix a documentation typo
28576         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28577
28578 2010-10-11  Eric Blake  <eblake@redhat.com>
28579
28580         futimens: work around Solaris 11 bug
28581         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28582         * tests/test-futimens.h (test_futimens): Enhance, rather than
28583         weaken test.
28584         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28585
28586 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28587
28588         Indentation.
28589         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28590         higher-level operators more to the left.
28591
28592 2010-10-11  Jim Meyering  <meyering@redhat.com>
28593
28594         test-futimens: avoid unwarranted test failure on Solaris 5.11
28595         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28596         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28597         because it tries to dereference the NULL name argument.
28598
28599 2010-10-11  Bruno Haible  <bruno@clisp.org>
28600
28601         Indentation.
28602         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28603         indentation.
28604
28605 2010-10-11  Jim Meyering  <meyering@redhat.com>
28606
28607         spawn.in.h: make indentation consistent with parentheses
28608         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28609         Make indentation consistent with parentheses.
28610
28611 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28612
28613         Fix mismatched parens in previous commit
28614         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28615         parens.
28616
28617 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28618
28619         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28620
28621         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28622         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28623         * lib/malloca.c: Include "verify.h".
28624         (verify1): Remove, replacing with a verify call.
28625         * lib/relocwrapper.c (verify1): Likewise.
28626         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28627         Likewise.
28628         * modules/malloca (Depends-on): Add 'verify'.
28629         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28630         * modules/vasnprintf (Depends-on): Add 'verify'.
28631         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28632         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28633         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28634         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28635         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28636         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28637         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28638
28639         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28640
28641         Formerly the style was sometimes 2*X - 1, because the C standard
28642         was wrongly thought to disallow ?: in integral constant expressions.
28643         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28644         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28645         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28646         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28647         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28648         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28649         verify that time_t cannot be floating.
28650
28651 2010-10-08  Eric Blake  <eblake@redhat.com>
28652
28653         time: enforce recent POSIX ruling that time_t is integral
28654         * lib/time.in.h (__time_t_must_be_integral): Detect any
28655         problematic systems, allowing the rest of gnulib to assume POSIX.
28656
28657 2010-10-08  Jim Meyering  <meyering@redhat.com>
28658
28659         fdopendir: fix a bug on systems lacking openat and /proc support
28660         OpenBSD 4.7 is one such system.  The most noticeable effect was
28661         failure of any application making nontrivial use of fts: rm, du,
28662         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28663           ./rm: traversal failed: `a': Bad file descriptor
28664         Debugging that, you see that even though FD 6 was closed just
28665         prior to the opendir call in fd_clone_opendir, its resulting
28666         dir->dd_fd was 8, rather than the expected value of 6:
28667
28668         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28669         93                close (fd);
28670         (gdb) n
28671         94                dir = fd_clone_opendir (dupfd);
28672         (gdb) n
28673         95                saved_errno = errno;
28674         (gdb) p dir->dd_fd
28675         $11 = 8
28676
28677         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28678         The problem is that on OpenBSD, fd_clone_opendir has to resort
28679         to using the old-style save/restore CWD mechanism, due to its
28680         lack of openat/proc support, and *that* would steal the FD (6)
28681         that opendir was supposed to use.
28682
28683         The fix is to squirrel away the desired FD so that save_cwd uses a
28684         different one, and then free the dest FD right before calling opendir.
28685         That guarantees opendir will use the required file descriptor.
28686
28687         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28688
28689 2010-10-08  Bruno Haible  <bruno@clisp.org>
28690
28691         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28692         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28693
28694 2010-10-08  Bruno Haible  <bruno@clisp.org>
28695
28696         nanosleep: Make replacement POSIX compliant.
28697         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28698         is out of range.
28699         Reported by Jim Meyering.
28700
28701 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28702
28703         bootstrap: add hook for altering gnulib.mk, for Bison
28704         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28705         the Bison bootstrapping process can rewrite file names and variables
28706         in this file before later parts of 'bootstrap' use the file.
28707         Bison wants to include lib/gnulib.mk from the top-level makefile,
28708         so it needs the file names in this file to be relative to the top
28709         level, not relative to lib; plus it needs variable names to be
28710         rewritten.
28711         (slurp): Use the new function.
28712
28713         bootstrap: reformat for readability
28714         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
28715
28716 2010-10-08  Eric Blake  <eblake@redhat.com>
28717
28718         docs: update cygwin progress
28719         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
28720         1.7.7.
28721         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
28722         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
28723         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
28724         * doc/posix-functions/carg.texi (carg): Likewise.
28725         * doc/posix-functions/cargf.texi (cargf): Likewise.
28726         * doc/posix-functions/casin.texi (casin): Likewise.
28727         * doc/posix-functions/casinf.texi (casinf): Likewise.
28728         * doc/posix-functions/casinh.texi (casinh): Likewise.
28729         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
28730         * doc/posix-functions/catan.texi (catan): Likewise.
28731         * doc/posix-functions/catanf.texi (catanf): Likewise.
28732         * doc/posix-functions/catanh.texi (catanh): Likewise.
28733         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
28734         * doc/posix-functions/ccos.texi (ccos): Likewise.
28735         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
28736         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
28737         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
28738         * doc/posix-functions/cexp.texi (cexp): Likewise.
28739         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
28740         * doc/posix-functions/cimag.texi (cimag): Likewise.
28741         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
28742         * doc/posix-functions/clog.texi (clog): Likewise.
28743         * doc/posix-functions/clogf.texi (clogf): Likewise.
28744         * doc/posix-functions/conj.texi (conj): Likewise.
28745         * doc/posix-functions/conjf.texi (conjf): Likewise.
28746         * doc/posix-functions/cpow.texi (cpow): Likewise.
28747         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
28748         * doc/posix-functions/cproj.texi (cproj): Likewise.
28749         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
28750         * doc/posix-functions/creal.texi (creal): Likewise.
28751         * doc/posix-functions/crealf.texi (crealf): Likewise.
28752         * doc/posix-functions/csin.texi (csin): Likewise.
28753         * doc/posix-functions/csinf.texi (csinf): Likewise.
28754         * doc/posix-functions/csinh.texi (csinh): Likewise.
28755         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
28756         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
28757         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
28758         * doc/posix-functions/ctan.texi (ctan): Likewise.
28759         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
28760         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
28761         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
28762         * doc/posix-headers/complex.texi (complex.h): Likewise.
28763
28764 2010-10-07  Jim Meyering  <meyering@redhat.com>
28765
28766         parse-datetime: avoid compilation failure on OpenBSD 4.7
28767         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
28768         This works around a compilation failure on OpenBSD 4.7:
28769         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
28770
28771 2010-10-07  Eric Blake  <eblake@redhat.com>
28772
28773         docs: update cygwin progress
28774         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
28775         1.7.6.
28776         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28777         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
28778         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
28779         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
28780         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
28781         Likewise.
28782         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
28783         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
28784         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
28785         Likewise.
28786         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
28787         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
28788         Likewise.
28789         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
28790         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
28791         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
28792         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
28793         Likewise.
28794         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
28795         Likewise.
28796         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
28797
28798         docs: update parse-datetime history
28799         * doc/parse-datetime.texi (Authors of parse_datetime): Better
28800         documentation of this function's history and alternatives.
28801
28802         cygwin: use more robust version check
28803         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
28804         exclude an eventual cygwin 1.9.1.
28805         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28806         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28807         (gl_FUNC_STRCASESTR): Likewise.
28808         Reported by Bruno Haible.
28809
28810 2010-10-06  Bruno Haible  <bruno@clisp.org>
28811
28812         string, sys_select: Avoid #including large headers unless necessary.
28813         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
28814         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
28815         OSF/1, BeOS, Haiku.
28816         Reported by Jim Meyering.
28817
28818 2010-10-05  Eric Blake  <eblake@redhat.com>
28819
28820         memmem, strstr, strcasestr: fix bug with long periodic needle
28821         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
28822         periodic needle having false positive.
28823         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
28824         and cygwin 1.7.7.
28825         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
28826         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28827         (gl_FUNC_STRCASESTR): Likewise.
28828         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28829         * tests/test-memmem.c (main): Expose the bug.
28830         * tests/test-strcasestr.c (main): Likewise.
28831         * tests/test-strstr.c (main): Likewise.
28832         * tests/test-c-strcasestr.c (main): Likewise.
28833         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
28834         * doc/posix-functions/strstr.texi (strstr): Likewise.
28835         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28836         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
28837
28838 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28839
28840         parse-datetime: do some more renaming
28841         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
28842         parse_datetime, not get_date.  Mention the renaming.
28843         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
28844         in comments.
28845         * m4/bison.m4: Likewise.
28846
28847 2010-10-05  Eric Blake  <eblake@redhat.com>
28848
28849         parse-datetime: better name than get_date
28850         * NEWS: Reword the deprecation notice.
28851         * modules/get_date: Rename to modules/parse-datetime.
28852         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
28853         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
28854         * lib/get_date.y: Rename to lib/parse-datetime.y.
28855         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
28856         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
28857         * doc/getdate.texi: Provide fallback wrapper.
28858         * lib/getdate.h: Move guts, and wrap...
28859         * lib/parse-datetime.h: ...new file.
28860         * lib/parse-datetime.y (get_date): Rename...
28861         (parse_datetime): ...to this.
28862         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
28863         (gl_PARSE_DATETIME): ...to this.
28864         * doc/posix-functions/getdate.texi (get_date): Provide fallback
28865         documentation.
28866         * modules/getdate (Files): Provide fallback docs and header.
28867         (Notice, Depends-on): Update references.
28868         * tests/test-parse-datetime.c: Likewise.
28869         * DEPENDENCIES: Likewise.
28870         * MODULES.html.sh (Date and time <time.h>): Likewise.
28871         * doc/parse-datetime.texi (Date input formats)
28872         (Authors of parse_datetime): Likewise.
28873         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28874         (Include): Likewise.
28875         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28876         * gnulib-tool: Likewise.
28877         * m4/bison.m4 (gl_BISON): Likewise.
28878         Suggested by Bruno Haible.
28879
28880 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28881
28882         more ports to Solaris tr, which needs [] around ranges
28883         * gnulib-tool: Solaris tr needs [] around ranges.
28884         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28885         * tests/test-pipe-filter-gi1.c (main): Likewise.
28886         * tests/test-pipe-filter-ii1.c (main): Likewise.
28887
28888 2010-10-05  Eric Blake  <eblake@redhat.com>
28889
28890         bootstrap: fix Solaris regression
28891         * build-aux/bootstrap (check_versions): Solaris tr still needs []
28892         around ranges.
28893         Reported by Pádraig Brady.
28894
28895         bootstrap: work with pkg-config
28896         * build-aux/bootstrap (check_versions): Also transliterate - in
28897         prerequisite name.
28898         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
28899         prerequisites that were already found, to avoid confusion.
28900         Reported by Justin Clift.
28901
28902         faccessat: remove unused wrappers
28903         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
28904         presence of these wrappers dragged in -lgen on Solaris.
28905         Reported by Clemens Brogi; fix suggested by Paul Eggert.
28906
28907 2010-10-05  Jim Meyering  <meyering@redhat.com>
28908
28909         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
28910         * Makefile (sc_pragma_columns): New syntax-check rule.
28911
28912 2010-10-04  Bruno Haible  <bruno@clisp.org>
28913
28914         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
28915         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
28916         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
28917         Reported by Bruce Korb and Eric Blake.
28918
28919 2010-10-04  Bruno Haible  <bruno@clisp.org>
28920
28921         threadlib: Make option --with-libpth-prefix work.
28922         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
28923         use $LIBPTH, not just -lpth.
28924
28925 2010-10-04  Bruno Haible  <bruno@clisp.org>
28926
28927         Avoid line length limitation from HP NonStop system header files.
28928         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
28929         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
28930         * lib/ctype.in.h: Likewise.
28931         * lib/dirent.in.h: Likewise.
28932         * lib/errno.in.h: Likewise.
28933         * lib/fcntl.in.h: Likewise.
28934         * lib/float.in.h: Likewise.
28935         * lib/getopt.in.h: Likewise.
28936         * lib/iconv.in.h: Likewise.
28937         * lib/inttypes.in.h: Likewise.
28938         * lib/langinfo.in.h: Likewise.
28939         * lib/locale.in.h: Likewise.
28940         * lib/math.in.h: Likewise.
28941         * lib/netdb.in.h: Likewise.
28942         * lib/netinet_in.in.h: Likewise.
28943         * lib/poll.in.h: Likewise.
28944         * lib/pthread.in.h: Likewise.
28945         * lib/pty.in.h: Likewise.
28946         * lib/sched.in.h: Likewise.
28947         * lib/se-selinux.in.h: Likewise.
28948         * lib/search.in.h: Likewise.
28949         * lib/signal.in.h: Likewise.
28950         * lib/spawn.in.h: Likewise.
28951         * lib/stdarg.in.h: Likewise.
28952         * lib/stddef.in.h: Likewise.
28953         * lib/stdint.in.h: Likewise.
28954         * lib/stdio.in.h: Likewise.
28955         * lib/stdlib.in.h: Likewise.
28956         * lib/string.in.h: Likewise.
28957         * lib/strings.in.h: Likewise.
28958         * lib/sys_file.in.h: Likewise.
28959         * lib/sys_ioctl.in.h: Likewise.
28960         * lib/sys_select.in.h: Likewise.
28961         * lib/sys_socket.in.h: Likewise.
28962         * lib/sys_stat.in.h: Likewise.
28963         * lib/sys_time.in.h: Likewise.
28964         * lib/sys_times.in.h: Likewise.
28965         * lib/sys_utsname.in.h: Likewise.
28966         * lib/sys_wait.in.h: Likewise.
28967         * lib/sysexits.in.h: Likewise.
28968         * lib/termios.in.h: Likewise.
28969         * lib/time.in.h: Likewise.
28970         * lib/unistd.in.h: Likewise.
28971         * lib/wchar.in.h: Likewise.
28972         * lib/wctype.in.h: Likewise.
28973         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
28974         * modules/ctype (Makefile.am): Likewise.
28975         * modules/dirent (Makefile.am): Likewise.
28976         * modules/errno (Makefile.am): Likewise.
28977         * modules/fcntl-h (Makefile.am): Likewise.
28978         * modules/float (Makefile.am): Likewise.
28979         * modules/getopt-posix (Makefile.am): Likewise.
28980         * modules/iconv-h (Makefile.am): Likewise.
28981         * modules/inttypes (Makefile.am): Likewise.
28982         * modules/langinfo (Makefile.am): Likewise.
28983         * modules/locale (Makefile.am): Likewise.
28984         * modules/math (Makefile.am): Likewise.
28985         * modules/netdb (Makefile.am): Likewise.
28986         * modules/netinet_in (Makefile.am): Likewise.
28987         * modules/poll-h (Makefile.am): Likewise.
28988         * modules/pthread (Makefile.am): Likewise.
28989         * modules/pty (Makefile.am): Likewise.
28990         * modules/sched (Makefile.am): Likewise.
28991         * modules/search (Makefile.am): Likewise.
28992         * modules/selinux-h (Makefile.am): Likewise.
28993         * modules/signal (Makefile.am): Likewise.
28994         * modules/spawn (Makefile.am): Likewise.
28995         * modules/stdarg (Makefile.am): Likewise.
28996         * modules/stddef (Makefile.am): Likewise.
28997         * modules/stdint (Makefile.am): Likewise.
28998         * modules/stdio (Makefile.am): Likewise.
28999         * modules/stdlib (Makefile.am): Likewise.
29000         * modules/string (Makefile.am): Likewise.
29001         * modules/strings (Makefile.am): Likewise.
29002         * modules/sys_file (Makefile.am): Likewise.
29003         * modules/sys_ioctl (Makefile.am): Likewise.
29004         * modules/sys_select (Makefile.am): Likewise.
29005         * modules/sys_socket (Makefile.am): Likewise.
29006         * modules/sys_stat (Makefile.am): Likewise.
29007         * modules/sys_time (Makefile.am): Likewise.
29008         * modules/sys_times (Makefile.am): Likewise.
29009         * modules/sys_utsname (Makefile.am): Likewise.
29010         * modules/sys_wait (Makefile.am): Likewise.
29011         * modules/sysexits (Makefile.am): Likewise.
29012         * modules/termios (Makefile.am): Likewise.
29013         * modules/time (Makefile.am): Likewise.
29014         * modules/unistd (Makefile.am): Likewise.
29015         * modules/wchar (Makefile.am): Likewise.
29016         * modules/wctype (Makefile.am): Likewise.
29017
29018 2010-10-04  Bruno Haible  <bruno@clisp.org>
29019
29020         read-file tests: Avoid a test failure on NonStop Kernel.
29021         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29022         a regular file.
29023         Reported by Joachim Schmitz <schmitz@hp.com>.
29024
29025 2010-10-03  Bruno Haible  <bruno@clisp.org>
29026
29027         gnulib-tool: Fixes for --create-testdir with --libtool.
29028         * gnulib-tool (func_get_automake_snippet): Don't augment
29029         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29030         an executable.
29031         (func_create_testdir): Handle module 'alloca' like func_import.
29032         Reported by Bruce Korb <bruce.korb@gmail.com>.
29033
29034 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29035
29036         Avoid some lines longer than 80 characters.
29037         * lib/stdint.in.h: Break long comment lines.
29038         * lib/math.in.h: Likewise.
29039         (_GL_NUM_UINT_WORDS): New macro, for readability.
29040         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29041         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29042         * lib/stdlib.in.h: Likewise.
29043         * lib/spawn.in.h: Likewise.
29044         * lib/sys_socket.in.h: Update an URL.
29045         * lib/sys_stat.in.h: Break long line.
29046
29047 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29048
29049         Improve pmccabe2html.
29050         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29051         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29052         when the sources change. Remove the line in the HTML about "Used
29053         ranges" (which implied that there might be other unused ranges),
29054         rename "Resume" to "Summary" (easier to understand for more users).
29055         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29056         styles, and some unnecessary blank lines.
29057
29058 2010-10-03  Bruno Haible  <bruno@clisp.org>
29059             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29060
29061         acl: Add support for ACLs on NonStop Kernel.
29062         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29063         Check whether the function aclsort() exists.
29064         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29065         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29066         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29067         (acl_nontrivial [HAVE_ACLSORT]: New function.
29068         (file_has_acl): Implement for NonStop Kernel.
29069         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29070         (qset_acl): Implement for NonStop Kernel.
29071         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29072         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29073         (main): Implement for NonStop Kernel.
29074         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29075         Kernel. Handle this flavor.
29076         * tests/test-set-mode-acl.sh: Likewise.
29077         * tests/test-copy-acl.sh: Likewise.
29078         * tests/test-copy-file.sh: Likewise.
29079
29080 2010-10-03  Bruno Haible  <bruno@clisp.org>
29081
29082         Info about ACLs on NonStop Kernel.
29083         * doc/acl-resources.txt: Add info about NonStop Kernel.
29084         References by Joachim Schmitz <schmitz@hp.com>.
29085
29086 2010-10-02  Bruno Haible  <bruno@clisp.org>
29087
29088         Define missing EDQUOT on NonStop Kernel.
29089         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29090         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29091         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29092         missing.
29093         * doc/posix-headers/errno.texi: Mention the NSK bug.
29094         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29095         Reported by Joachim Schmitz <schmitz@hp.com>.
29096
29097 2010-10-02  Bruno Haible  <bruno@clisp.org>
29098
29099         Update doc for POSIX:2008.
29100         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29101         Update URL of POSIX specification.
29102
29103 2010-10-02  Bruno Haible  <bruno@clisp.org>
29104
29105         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29106         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29107         from gnulib, not from Automake.
29108
29109 2010-10-02  Bruno Haible  <bruno@clisp.org>
29110
29111         New module 'system-posix'.
29112         * modules/system-posix: New file.
29113         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29114         module is present.
29115         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29116         GNULIB_SYSTEM_POSIX.
29117         * modules/stdlib (Depends-on): Remove sys_wait.
29118         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29119         * doc/posix-functions/system.texi: Mention the new module.
29120         * doc/posix-headers/stdlib.texi: Likewise.
29121         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29122         define test_sys_wait_macros to a no-op.
29123         Reported by Sam Steingold <sds@gnu.org>.
29124
29125 2010-09-30  Bruno Haible  <bruno@clisp.org>
29126
29127         More renaming from 'getdate' to 'get_date'.
29128         * doc/get_date.texi: Renamed from doc/getdate.texi.
29129         * modules/get_date (Files): Update.
29130         * MODULES.html.sh (Date and time <time.h>): Update.
29131         * DEPENDENCIES: Update.
29132         * gnulib-tool: Update comment.
29133         * m4/bison.m4 (gl_BISON): Likewise.
29134         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29135
29136 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29137
29138         bootstrap: support ACLOCAL_FLAGS during aclocal
29139         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29140         can add additional -I dir for third-party .m4 files.
29141
29142 2010-09-30  Eric Blake  <eblake@redhat.com>
29143
29144         bootstrap: use glibtoolize on MacOS
29145         * build-aux/bootstrap (check_versions): Convert libtool into
29146         libtoolize.
29147         (tool search): Move libtool check earlier, and look for
29148         glibtoolize for MacOS.
29149         (gnulib_tool_options): Auto-add --libtool when appropriate.
29150         Reported by Justin Clift.
29151
29152         poll: fix typo that broke test on MacOS
29153         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29154         Reported by Justin Clift.
29155
29156         getdate: rename to get_date
29157         Note: getdate.h is not renamed, to minimize client impact.
29158         * modules/getdate: Mark obsolete.  Move old contents...
29159         * modules/get_date: ...to new module name.
29160         * modules/getdate-tests: Move...
29161         * modules/get_date-tests: ...here.
29162         * m4/getdate.m4: Move...
29163         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29164         * lib/getdate.y: Move...
29165         * lib/get_date.y: ...here.
29166         * tests/test-getdate.c: Move...
29167         * tests/test-get_date.c: ...here.
29168         * doc/posix-functions/getdate.texi (getdate): Update name.
29169         * NEWS: Mention the change.
29170
29171 2010-09-29  Bruno Haible  <bruno@clisp.org>
29172
29173         Separate the module 'waitpid' from the module 'sys_wait'.
29174         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29175         present.
29176         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29177         gl_MODULE_INDICATOR_FOR_TESTS.
29178         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29179         * modules/sys_wait (Depends-on): Remove waitpid.
29180         (Makefile.am): Substitute GNULIB_WAITPID.
29181         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29182         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29183         signature only if the 'waitpid' module is present.
29184         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29185         * NEWS: Mention the change.
29186         * modules/grantpt (Depends-on): Add waitpid.
29187         * modules/wait-process (Depends-on): Likewise.
29188
29189 2010-09-29  Bruno Haible  <bruno@clisp.org>
29190
29191         More tests for module 'sys_wait'.
29192         * modules/sys_wait-c++-tests: New file.
29193         * tests/test-sys_wait-c++.cc: New file.
29194         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29195         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29196
29197 2010-09-29  Bruno Haible  <bruno@clisp.org>
29198
29199         New module 'waitpid'.
29200         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29201         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29202         Don't include <process.h>.
29203         (waitpid): Declare only, using modern idiom.
29204         * m4/waitpid.m4: New file.
29205         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29206         * modules/waitpid: New file.
29207         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29208         (Makefile.am): Update.
29209         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29210
29211 2010-09-28  Bruno Haible  <bruno@clisp.org>
29212
29213         poll: Assume ANSI C.
29214         * lib/poll.c (poll): Use an ANSI C declaration.
29215
29216 2010-09-28  Bruno Haible  <bruno@clisp.org>
29217
29218         poll-h: Create poll.h on all platforms.
29219         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29220         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29221         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29222         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29223         (gl_REPLACE_POLL_H): Don't set POLL_H.
29224         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29225         * modules/poll-h (Depends-on): Add include_next.
29226         (Makefile.am): Create poll.h unconditionally. Substitute also
29227         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29228
29229 2010-09-28  Bruno Haible  <bruno@clisp.org>
29230
29231         Tests for module 'poll-h'.
29232         * modules/poll-h-c++-tests: New file.
29233         * tests/test-poll-h-c++.cc: New file.
29234
29235         Tests for module 'poll-h'.
29236         * modules/poll-h-tests: New file.
29237         * tests/test-poll-h.c: New file.
29238
29239 2010-09-28  Bruno Haible  <bruno@clisp.org>
29240
29241         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29242         * modules/poll-h (Depends-on): Add 'extensions'.
29243
29244 2010-09-28  Bruno Haible  <bruno@clisp.org>
29245
29246         New module 'poll-h'.
29247         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29248         (poll): Use modern idiom.
29249         * modules/poll-h: New file.
29250         * modules/poll (Files): Remove lib/poll.in.h.
29251         (Depends-on): Add poll-h.
29252         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29253         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29254         * m4/poll_h.m4: New file.
29255         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29256         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29257         and invoke gl_REPLACE_POLL_H.
29258         * lib/poll.c: Use common idiom.
29259         * tests/test-poll.c: Likewise.
29260         * doc/posix-headers/poll.texi: Mention the poll-h module.
29261         Suggested by Eric Blake.
29262
29263 2010-09-26  Bruno Haible  <bruno@clisp.org>
29264
29265         sys_wait: Implement WSTOPSIG.
29266         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29267         Reported by Simon Josefsson.
29268
29269 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29270
29271         stdlib, sys_wait: Avoid compilation error on mingw.
29272         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29273
29274 2010-09-26  Bruno Haible  <bruno@clisp.org>
29275
29276         stdlib tests: Avoid code duplication.
29277         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29278         * modules/sys_wait-tests (Files): Likewise.
29279         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29280         * tests/test-stdlib.c: Include test-sys_wait.h.
29281         (main): Invoke test_sys_wait_macros.
29282         * tests/test-sys_wait.c: Include test-sys_wait.h.
29283         (main): Invoke test_sys_wait_macros.
29284
29285 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29286
29287         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29288         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29289         sure Windows sockets are working before calling getaddrinfo.
29290         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29291         * doc/gnulib.texi (Windows sockets): Fix typo.
29292
29293 2010-09-25  Bruno Haible  <bruno@clisp.org>
29294
29295         Tests for module 'regex-quote'.
29296         * modules/regex-quote-tests: New file.
29297         * tests/test-regex-quote.c: New file.
29298
29299         New module 'regex-quote'.
29300         * lib/regex-quote.h: New file.
29301         * lib/regex-quote.c: New file.
29302         * modules/regex-quote: New file.
29303         Suggested by Reuben Thomas <rrt@sc3d.org>.
29304
29305 2010-09-24  Bruno Haible  <bruno@clisp.org>
29306
29307         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29308         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29309
29310 2010-09-23  Bruno Haible  <bruno@clisp.org>
29311
29312         setenv: Relax license.
29313         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29314         Blake.
29315         Requested by Eric Blake.
29316
29317 2010-09-22  Bruno Haible  <bruno@clisp.org>
29318
29319         termios: Relax license.
29320         * modules/termios (License): Change to LGPLv2+.
29321         Requested by Eric Blake.
29322
29323 2010-09-22  Bruno Haible  <bruno@clisp.org>
29324
29325         threadlib: Allow the package to change the default to 'no'.
29326         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29327         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29328         Reported by Paul Eggert.
29329
29330 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29331             Bruno Haible  <bruno@clisp.org>
29332
29333         Fix endless loop in mbmemcasecoll.
29334         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29335         byte.
29336         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29337
29338 2010-09-22  Bruno Haible  <bruno@clisp.org>
29339
29340         Tests for module 'memcoll'.
29341         * modules/memcoll-tests: New file.
29342         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29343
29344         memcoll, xmemcoll: Clarify size vs. length.
29345         * modules/memcoll.c (memcoll0): Clarify specification.
29346         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29347         passed to collate_error.
29348
29349 2010-09-22  Bruno Haible  <bruno@clisp.org>
29350
29351         Tests for module 'memcasecmp'.
29352         * modules/memcasecmp-tests: New file.
29353         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29354
29355 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29356
29357         * lib/pthread.in.h: Add split double-inclusion guard, and include
29358         system <pthread.h> if there is one.  Use @@-style as in other
29359         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29360         pthread.h doesn't.
29361         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29362         (pthread_mutexattr_settype, pthread_mutex_trylock):
29363         New static inline functions, if there's no system <pthread.h>.
29364         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29365         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29366         Approximate with mutexes if the system lacks spinlocks, as in
29367         MacOS.
29368         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29369         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29370         @@-style.  Check for spinlocks separately.
29371         (gl_PTHREAD_DEFAULTS): New macro.
29372         * modules/pthread: Redo to use a more typical style for in.h files.
29373
29374 2010-09-21  Eric Blake  <eblake@redhat.com>
29375
29376         net_if: enhance tests
29377         * tests/test-net_if.c (main): Move signature checks earlier.
29378         Print failures to stderr.
29379         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29380         Document the bug that we do not yet fix.
29381
29382 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29383
29384         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29385         about gnulib, not GSS.
29386
29387 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29388
29389         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29390         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29391         for Emacs.
29392         * build-aux/pmccabe2html: Make Makefile.am example code more
29393         cut-and-paste friendly.
29394
29395 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29396
29397         * tests/test-net_if.c: New file.
29398         * modules/net_if-tests: New file.
29399
29400 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29401
29402         pthread: add pthread_spin_destroy
29403         * lib/pthread.in.h (pthread_spin_destroy): New function.
29404
29405 2010-09-19  Bruno Haible  <bruno@clisp.org>
29406
29407         gnulib-tool: Fix --help output.
29408         * gnulib-tool (func_usage): Fix help message.
29409         Reported by Reuben Thomas <rrt@sc3d.org>.
29410
29411 2010-09-18  Jim Meyering  <meyering@redhat.com>
29412
29413         maint.mk: avoid unexpanded \n in two diagnostics
29414         * top/maint.mk (sc_prohibit_always_true_header_tests):
29415         Don't use a literal \n in a halt=... assignment.  It would not be
29416         expanded, and the two \n bytes would appear in the diagnostic output
29417         rather than the desired newline.  Use halt=$$(printf ... instead.
29418         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29419
29420 2010-09-18  Bruno Haible  <bruno@clisp.org>
29421
29422         netinet_in: Doc tweak.
29423         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29424         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29425
29426 2010-09-18  Jim Meyering  <meyering@redhat.com>
29427
29428         init.sh: correct an outdated comment
29429         * tests/init.sh (create_exe_shims_):  s/function/alias/
29430
29431         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29432         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29433         a file named "*.exe" is removed between the glob expansion and the
29434         processing of that oddly named file.
29435
29436 2010-09-17  Eric Blake  <eblake@redhat.com>
29437
29438         mirbsd: add some more support
29439         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29440         in BSD family.
29441         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29442         devices as OpenBSD.
29443         * m4/host-os.m4 (mirbsd): Add MirBSD.
29444
29445         tests: fix unportable assumption on sys/wait.h
29446         * tests/test-sys_wait.c (main): Relax test.
29447         * tests/test-stdlib.c (main): Likewise.
29448
29449         init.sh: accommodate directory with no .exes
29450         * tests/init.sh: Accomodate directory containing only scripts.
29451
29452         tests: avoid compiler warning
29453         * tests/test-stdlib.c (main): Use the variable.
29454
29455         fdutimens, fdutimensat: update signature, again
29456         * lib/utimens.h (gl_futimens): Delete, and move signature...
29457         (fdutimens): ...here.
29458         (fdutimensat): Rearrange signature.
29459         (lutimensat): Rename variable for clarity.
29460         * lib/fdutimensat.c (fdutimensat): Update signature.
29461         * lib/utimens.c (fdutimens): Likewise.
29462         (gl_futimens): Delete.
29463         (utimens, lutimens): Update callers.
29464         * lib/futimens.c (futimens): Likewise.
29465         * tests/test-fdutimensat.c: Likewise.
29466         * tests/test-utimens.c: Likewise.
29467         * tests/test-futimens.h: Update comment.
29468         * NEWS: Mention this.
29469         Suggested by Paul Eggert.
29470
29471 2010-09-17  Bruno Haible  <bruno@clisp.org>
29472
29473         Take over the maintenance of some older macros from Autoconf.
29474         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29475         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29476         GNU Autoconf.
29477         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29478         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29479
29480 2010-09-17  Eric Blake  <eblake@redhat.com>
29481
29482         fdutimensat: drop atflag validation
29483         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29484         with valid fd, to close a race scenario where futimens is
29485         unsupported and FILE was replaced by a symlink.
29486         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29487         accordingly.
29488         Suggested by Paul Eggert.
29489
29490 2010-09-16  Bruno Haible  <bruno@clisp.org>
29491
29492         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29493         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29494
29495 2010-09-16  Bruno Haible  <bruno@clisp.org>
29496
29497         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29498         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29499         login_tty exists.
29500         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29501
29502 2010-09-16  Bruno Haible  <bruno@clisp.org>
29503
29504         login_tty: Make the replacement code work on BSD systems.
29505         * lib/login_tty.c: Include <sys/ioctl.h>.
29506         (login_tty): Use ioctl TIOCSCTTY when available.
29507         * modules/login_tty (Depends-on): Add sys_ioctl.
29508         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29509
29510 2010-09-16  Bruno Haible  <bruno@clisp.org>
29511
29512         login_tty: Stricter unit test.
29513         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29514         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29515         and tcgetsid() after login_tty.
29516         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29517
29518 2010-09-16  Bruno Haible  <bruno@clisp.org>
29519
29520         New module 'tcgetsid'.
29521         * lib/tcgetsid.c: New file.
29522         * m4/tcgetsid.m4: New file.
29523         * modules/tcgetsid: New file.
29524         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29525         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29526         GNULIB_TCGETSID, HAVE_TCGETSID.
29527         * lib/termios.in.h: Include <sys/types.h>.
29528         (tcgetsid): New declaration.
29529         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29530         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29531         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29532         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29533
29534 2010-09-16  Bruno Haible  <bruno@clisp.org>
29535
29536         Tests for module 'termios'.
29537         * modules/termios-c++-tests: New file.
29538         * modules/termios-tests: New file.
29539         * tests/test-termios-c++.cc: New file.
29540         * tests/test-termios.c: New file.
29541
29542         New module 'termios'.
29543         * modules/termios: New file.
29544         * lib/termios.in.h: New file.
29545         * m4/termios_h.m4: New file.
29546         * doc/posix-headers/termios.texi: Mention the new module.
29547
29548 2010-09-16  Eric Blake  <eblake@redhat.com>
29549
29550         fdutimensat: add an atflag parameter
29551         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29552         * lib/utimens.h (fdutimensat): Update prototype.
29553         * tests/test-fdutimensat.c: Adjust test to match.
29554         * NEWS: Document the change.
29555         Suggested by Paul Eggert.
29556
29557 2010-09-16  Bruno Haible  <bruno@clisp.org>
29558
29559         Fix typos in comments.
29560         * lib/striconveh.h: Fix typo in comment.
29561         * lib/login_tty.c (login_tty): Likewise.
29562
29563 2010-09-15  Bruno Haible  <bruno@clisp.org>
29564
29565         stdlib: clarify MirBSD WEXITSTATUS bug
29566         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29567         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29568
29569 2010-09-15  Eric Blake  <eblake@redhat.com>
29570
29571         stdlib: work around MirBSD WEXITSTATUS bug
29572         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29573         * modules/stdlib (Depends-on): Add sys_wait.
29574         * tests/test-sys_wait.c (main): Enhance test.
29575         * tests/test-stdlib.c (main): Likewise.
29576         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29577
29578         docs: mention MacOS issue with WEXITSTATUS(constant)
29579         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29580         issue.
29581         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29582
29583         strnlen: add tests
29584         * modules/strnlen-tests: New file.
29585         * tests/test-strnlen.c: Likewise.
29586
29587 2010-09-14  Bruno Haible  <bruno@clisp.org>
29588
29589         unistr/base: Avoid link errors when module 'libunistring' is also used.
29590         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29591         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29592         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29593         Declare also when HAVE_LIBUNISTRING is set.
29594         Reported by Pádraig Brady <P@draigbrady.com>.
29595
29596 2010-09-14  Eric Blake  <eblake@redhat.com>
29597
29598         test-rawmemchr: make more robust
29599         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29600         (Depends-on, configure.ac): Add needed prerequisites to use it.
29601         * modules/memchr-tests (Files, Depends-on, configure.ac):
29602         Likewise, to avoid implicit reliance on memchr module prereqs.
29603         * tests/test-memchr.c (main): Ensure proper masking.
29604         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29605         reads.
29606
29607         memchr: detect glibc Alpha bug
29608         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29609         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29610         Alpha.
29611         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29612         * tests/test-memchr.c (main): Enhance test.
29613         Reported by Nelson H. F. Beebe.
29614
29615 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29616
29617         fts, getcwd, glob: audit for dirfd returning -1
29618         * lib/fts.c (opendir): Remove #define; no longer used.
29619         (opendirat): New arg PDIR_FD.  All callers changed.
29620         (fts_build, _opendir2): Use new opendirat to avoid the need for
29621         dirfd, or for checking whether dirfd returns a negative value.
29622         Don't use opendir; always use openat followed by fdopendir.
29623         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29624         it.
29625         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29626         returns -1 here.
29627         * modules/fts (Depends-on): Remove dirfd.
29628         * modules/getcwd (Depends-on): Likewise.
29629
29630 2010-09-13  Eric Blake  <eblake@redhat.com>
29631
29632         float: fix broken MirBSD header
29633         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29634         * doc/posix-headers/float.texi (float.h): Document it.
29635
29636 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29637
29638         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29639         * lib/fts.c (opendirat): New arg extra_flags.
29640         (__opendir2): Use it to avoid following symlinks when opening
29641         a directory, if symlinks are not supposed to be followed.  See
29642         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29643
29644         fdopendir: preserve argument fd before returning
29645         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29646         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29647         (fdopendir): Use them, arranging for FD to be open to the same
29648         directory that it was when it started.  (It might be temporarily
29649         closed while fdopendir is running, so this not thread- or
29650         signal-safe.)  Be careful to do the right thing even when file
29651         descriptors are scarce and dup fails with errno == EMFILE.  See
29652         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29653
29654 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29655
29656         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29657         * NEWS: Document change.
29658         * m4/regex.m4: Disable test for regoff_t size.
29659
29660 2010-09-13  Jim Meyering  <meyering@redhat.com>
29661
29662         fts: don't operate on an invalid file descriptor after failed dup
29663         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29664         negative file descriptor.
29665
29666 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29667
29668         savedir: add streamsavedir, deprecate fdsavedir
29669         * NEWS: Mention deprecation of fdsavedir.
29670         * lib/savedir.c (streamsavedir): New extern function, whose name
29671         ends in "savedir" to be consistent with the others.  This differs
29672         from savedirstream in that it doesn't close its argument.  The
29673         next version of GNU tar will use this instead of fdsavedir, to
29674         avoid some race conditions and conserve file descriptors.
29675         (savedirstream): Reimplement as a wrapper around streamsavedir.
29676         (fdsavedir): Add a comment deprecating this function.  As far as
29677         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29678         * lib/savedir.h (streamsavedir): New decl.
29679         (fdsavedir): Add a comment deprecating this.
29680
29681 2010-09-10  Bruno Haible  <bruno@clisp.org>
29682
29683         langinfo: Fix last commit.
29684         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29685         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29686         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29687
29688 2010-09-10  Bruno Haible  <bruno@clisp.org>
29689
29690         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29691         * lib/progreloc.c (O_EXEC): Define fallback.
29692
29693 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29694
29695         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29696         * NEWS: Document recent changes to fcntl-h.
29697         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29698         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29699         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29700         Similarly for O_SEARCH; this last was already true, but not documented.
29701         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29702         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29703         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29704         Likewise.
29705         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29706         is zero, not whether it is defined.
29707         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29708         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
29709         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
29710
29711 2010-09-10  Bruno Haible  <bruno@clisp.org>
29712
29713         langinfo, nl_langinfo: Fix for IRIX 5.3.
29714         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
29715         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
29716         HAVE_LANGINFO_YESEXPR.
29717         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
29718         HAVE_LANGINFO_YESEXPR.
29719         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
29720         HAVE_LANGINFO_T_FMT_AMPM is 0.
29721         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
29722         HAVE_LANGINFO_YESEXPR is 0.
29723         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
29724         NOEXPR.
29725         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
29726         * doc/posix-functions/nl_langinfo.texi: Likewise.
29727         Reported by Eric Blake.
29728
29729 2010-09-10  Bruno Haible  <bruno@clisp.org>
29730
29731         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
29732         * doc/glibc-functions/login_tty.texi: Mention the include file problem
29733         on FreeBSD 8.0 and OpenBSD 4.6.
29734         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
29735         * m4/pty_h.m4 (gl_PTY_H): Likewise.
29736         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
29737         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
29738         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
29739         ac_includes_default.
29740         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29741
29742 2010-09-09  Eric Blake  <eblake@redhat.com>
29743
29744         strsignal: work around NetBSD bug
29745         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
29746         * lib/string.in.h (includes): Likewise.
29747         * doc/posix-functions/strsignal.texi (strsignal): Document the
29748         bug.
29749         Reported by Nelson H. F. Beebe.
29750
29751         gnulib-tool: work with NetBSD /bin/sh
29752         * gnulib-tool (func_cache_var, func_cache_lookup_module)
29753         (func_get_description, func_get_comment, func_get_status)
29754         (func_get_notice, func_get_applicability, func_get_filelist)
29755         (func_get_dependencies, func_get_autoconf_early_snippet)
29756         (func_get_autoconf_snippet, func_get_automake_snippet)
29757         (func_get_include_directive, func_get_link_directive)
29758         (func_get_license, func_get_maintainer, func_import): Avoid
29759         shell syntax errors from parsing syntax extensions.
29760
29761 2010-09-09  Bruno Haible  <bruno@clisp.org>
29762
29763         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29764         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
29765         a reliable way to determine whether the 'alias' command works.
29766
29767 2010-09-08  Jim Meyering  <meyering@redhat.com>
29768
29769         init.sh: penalize a set-x-impaired shell; don't disqualify it
29770         * tests/init.sh: Too many shells corrupt application stderr when
29771         you set -x, so we can't afford to disqualify them, since at least
29772         on Irix-6.5, that would disqualify all bourne shells.
29773         Instead, use a two-pass approach.
29774         On the first pass, try to find a shell that meets the stricter
29775         condition that set -x does not corrupt stderr.
29776         If no shell meets the stricter condition, retest each candidate
29777         shell, but without that extra condition.  Finally, when
29778         VERBOSE=yes is requested and set -x might cause trouble, simply
29779         issue a warning and refrain from enabling debug output.
29780
29781 2010-09-08  Eric Blake  <eblake@redhat.com>
29782
29783         unsetenv: fix OpenBSD bug
29784         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
29785         * doc/posix-functions/unsetenv.texi (unsetenv): Update
29786         documentation.
29787         Reported by Jim Meyering.
29788
29789         strtod: work around IRIX 6.5 bug
29790         * lib/strtod.c (strtod): Reparse number on shorter string if
29791         exponent parse was invalid.
29792         * tests/test-strtod.c (main): Add check for "0x1p 2".
29793         Reported by Tom G. Christensen.
29794
29795         getopt: optimize previous patch
29796         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
29797         empty variable.  Speed up awk script.
29798         Reported by Paolo Bonzini.
29799
29800 2010-09-08  Jim Meyering  <meyering@redhat.com>
29801
29802         test.sh: disqualify shells for which set -x corrupts stderr
29803         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
29804         and OpenBSD 4.7.  They make it so with "set -x", environment settings
29805         appear in stderr output.  For example, this command:
29806             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
29807         prints "P=1" on those two systems:
29808
29809 2010-09-08  Bruno Haible  <bruno@clisp.org>
29810
29811         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29812         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
29813         commands, because some shells ignore redirections when there is an
29814         error in the command lookup.
29815         Reported by Eric Blake.
29816
29817 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
29818
29819         * lib/regex.h: Fix a mention of `regex_compile' (should be
29820         `re_compile_pattern').
29821         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
29822         (re_set_registers): Correct name of parameter in comment.
29823
29824         * doc/regex.texi: Add documentation for missing syntax flags.
29825         Remove commented-out documentation of defunct syntax option
29826         RE_NO_EMPTY_ALTS.
29827         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
29828         Add documentation of re_set_registers.
29829         Document trick to re-use a pattern buffer by setting fastmap manually.
29830         Update documentation of struct re_pattern_buffer per public members.
29831         Uncomment documentation of equivalence class operators and
29832         collating symbol operators, since they are now implemented,
29833         Explain leftmost-longest matching in relation to alternatives.
29834         Tidy documentation of substring matching.
29835         Remove POSIX documentation, which is done better in
29836         glibc, and refer the reader there. Keep BSD API documentation, as
29837         that is not readily available elsewhere.
29838
29839 2010-09-07  Eric Blake  <eblake@redhat.com>
29840
29841         getopt: handle POSIXLY_CORRECT set but not exported
29842         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
29843         export state of POSIXLY_CORRECT, due to bash set -o posix.
29844         Reported by Dustin J. Mitchell.
29845
29846 2010-09-05  Bruno Haible  <bruno@clisp.org>
29847
29848         gnulib-tool: Highlight the changed options.
29849         * gnulib-tool (func_usage): Display the --import, --add-import,
29850         --remove-import explanations in bold font.
29851
29852 2010-09-06  Karl Berry  <karl@gnu.org>
29853
29854         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
29855
29856 2010-09-05  Bruno Haible  <bruno@clisp.org>
29857
29858         uniwidth/width: Update comment.
29859         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
29860         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
29861
29862 2010-09-05  Bruno Haible  <bruno@clisp.org>
29863
29864         isinf, isnan: Relax license.
29865         * modules/isinf (License): Change from GPL to LGPL, with consent from
29866         Ben Pfaff.
29867         * modules/isnan (License): Likewise.
29868         Requested by Ludovic Courtès.
29869
29870 2010-09-04  Bruno Haible  <bruno@clisp.org>
29871
29872         gnulib-tool: Help migration from --import to --add-import or --update.
29873         * gnulib-tool: Emit a verbose error message when --import is used
29874         without any module name.
29875
29876 2010-09-04  Bruno Haible  <bruno@clisp.org>
29877
29878         Update doc about gnulib-tool.
29879         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29880         'gnulib-tool --update' in more detail.
29881         Reported by Eric Blake.
29882
29883 2010-09-04  Bruno Haible  <bruno@clisp.org>
29884
29885         gnulib-tool: Change --import. New options --add/remove-import.
29886         * gnulib-tool: New options --add-import, --remove-import.
29887         (func_usage): Document them.
29888         (have_associative): Define always.
29889         (func_import): In import mode, don't merge the specified settings with
29890         the cached settings. Implement remove-import mode.
29891         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
29892         Explain when to use them versus --import.
29893         (Simple update): Use --add-import instead of --import.
29894         * NEWS: Mention the change.
29895
29896 2010-09-04  Bruno Haible  <bruno@clisp.org>
29897
29898         * doc/gnulib-tool.texi (Initial import): Update paragraph about
29899         separate gnulib.mk.
29900
29901 2010-09-04  Bruno Haible  <bruno@clisp.org>
29902
29903         gnulib-tool: Don't talk about CVS any more.
29904         * gnulib-tool (func_usage, func_import): Write "version control"
29905         instead of CVS.
29906
29907 2010-09-04  Jim Meyering  <meyering@redhat.com>
29908
29909         maint.mk: avoid obscure sc_copyright_check failure in coreutils
29910         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
29911         false positives (whose names may be ill-chosen) when searching
29912         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
29913         would cause a false-positive.
29914
29915         avoid coreutils "make distcheck" failure
29916         Coreutils tests with an absolute build directory name that contains
29917         a space.  Not quoting this directory name caused a failure.
29918         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
29919         * tests/test-vc-list-files-cvs.sh: Likewise.
29920
29921 2010-09-04  Bruno Haible  <bruno@clisp.org>
29922
29923         gnulib-tool: Avoid error when run in a package without Makefile.am.
29924         * gnulib-tool: When collecting the m4dirs in a package that does not
29925         have a Makefile.am, eliminate those directories that contain no
29926         gnulib-cache.m4. Fix expression that counts these directories.
29927
29928 2010-09-04  Bruno Haible  <bruno@clisp.org>
29929
29930         update-copyright test: Improve output when perl is missing or too old.
29931         * tests/test-update-copyright.sh: Move test of Perl version down after
29932         the test whether Perl exists. Provide an explanation relating Perl's
29933         error message to Automake's SKIP: message.
29934
29935 2010-09-04  Bruno Haible  <bruno@clisp.org>
29936
29937         Don't augment PATH in TESTS_ENVIRONMENT.
29938         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
29939         set abs_aux_dir instead of augmenting PATH.
29940         * modules/vc-list-files-tests (Makefile.am): Likewise.
29941         * tests/test-update-copyright.sh: Augment PATH here.
29942         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
29943         path_prepend_.
29944         * tests/test-vc-list-files-git.sh: Likewise.
29945
29946 2010-09-04  Jim Meyering  <meyering@redhat.com>
29947
29948         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
29949         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
29950
29951 2010-09-04  Bruno Haible  <bruno@clisp.org>
29952
29953         strdup: Fix compilation error in C++ mode.
29954         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
29955         the macro.
29956
29957 2010-09-04  Bruno Haible  <bruno@clisp.org>
29958
29959         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
29960         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
29961         macro into a function.
29962         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29963
29964 2010-09-04  Bruno Haible  <bruno@clisp.org>
29965
29966         Set PATH_SEPARATOR the same way autoconf does.
29967         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
29968         the value of PATH_SEPARATOR the same way autoconf-generated configure
29969         scripts do.
29970         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
29971         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29972
29973 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29974
29975         Set PATH_SEPARATOR the same way autoconf does.
29976         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
29977         the same way autoconf-generated configure scripts do.
29978         * posix-modules: Likewise.
29979
29980 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
29981
29982         hash: fix safe_hasher const typo
29983         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
29984         const; otherwise, there is a type error later.
29985
29986 2010-09-02  Jim Meyering  <meyering@redhat.com>
29987
29988         test-update-copyright.sh: require perl 5.8.0
29989         * tests/test-update-copyright.sh: Require 5.8.0,
29990         which Tom G. Christensen has confirmed is adequate,
29991         while 5.6.1 is not.
29992
29993 2010-09-02  Eric Blake  <eblake@redhat.com>
29994
29995         tests: init.sh improvements for re-exec'ing with zsh
29996         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
29997         -vx through shell re-exec.
29998         Reported by Tom G. Christensen.
29999
30000         wctype: fix typo in previous commit
30001         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30002         Reported by Ludovic Courtès.
30003
30004 2010-09-02  Jim Meyering  <meyering@redhat.com>
30005
30006         test-update-copyright.sh: skip test if Perl is too old
30007         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30008         Reported by Tom G. Christensen.
30009
30010 2010-09-02  Bruno Haible  <bruno@clisp.org>
30011
30012         wctype: Avoid compilation error on IRIX 6.5.30.
30013         * lib/wctype.in.h (iswblank): Declare with a replacement if
30014         REPLACE_ISWBLANK is set.
30015         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30016         declared. Set REPLACE_ISWBLANK.
30017         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30018         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30019         * doc/posix-headers/wctype.texi: Likewise.
30020         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30021
30022 2010-09-01  Bruno Haible  <bruno@clisp.org>
30023
30024         New module 'socketlib'.
30025         * modules/socketlib: New file.
30026         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30027         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30028         * modules/sockets (Depends-on): Add socketlib.
30029         Suggested by Sam Steingold <sds@gnu.org>.
30030
30031 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30032
30033         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30034
30035         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30036         when one needs search access to a directory but not read access.
30037         On systems where it is available, it works in some cases where
30038         O_RDONLY does not, namely on directories that are searchable but
30039         not readable, and which need only to be searchable.  If O_SEARCH
30040         is not available, fall back to the traditional method of using
30041         O_RDONLY.
30042
30043         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30044         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30045         when opening a directory that needs only to be searchable.
30046         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30047         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30048         * lib/openat-proc.c (openat_proc_name): Likewise.
30049         * lib/openat.c (openat_needs_fchdir): Likewise.
30050         * lib/save-cwd.c (save_cwd): Likewise.
30051         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30052
30053 2010-08-28  Bruno Haible  <bruno@clisp.org>
30054
30055         New module 'host-cpu-c-abi'.
30056         * modules/host-cpu-c-abi: New file.
30057         * m4/host-cpu-c-abi.m4: New file, based on part of
30058         clisp/src/m4/general.m4.
30059         Requested by Sam Steingold <sds@gnu.org>.
30060
30061 2010-08-31  Eric Blake  <eblake@redhat.com>
30062         and Jim Meyering  <meyering@redhat.com>
30063
30064         hash: factor, and guard against misbehaving hasher function
30065         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30066         of table->hasher's return value.  Also protect against a hash value
30067         so large that adding it to table->bucket results in a NULL pointer.
30068         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30069         Use it in place of open-coded check-and-abort.
30070
30071 2010-08-30  Bruno Haible  <bruno@clisp.org>
30072
30073         hash: silence spurious clang warning
30074         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30075         Reported by Eric Blake.
30076
30077 2010-08-30  Eric Blake  <eblake@redhat.com>
30078
30079         strstr, memmem, strcasestr: avoid leaked shell message
30080         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30081         FreeBSD.
30082         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30083         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30084
30085         tests: silence clang warning
30086         * tests/test-malloca.c (do_allocation): Avoid dead store.
30087
30088 2010-08-29  Bruno Haible  <bruno@clisp.org>
30089
30090         gettext: Fix recent mistake.
30091         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30092
30093 2010-08-29  Bruno Haible  <bruno@clisp.org>
30094
30095         selinux-h: Offer a --without-selinux option.
30096         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30097         --without-selinux was specified, skip all tests and define
30098         HAVE_SELINUX_SELINUX_H to 0.
30099         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30100         set LIB_SELINUX to empty.
30101         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30102         gl_LIBSELINUX. If --without-selinux was specified, replace
30103         selinux/context.h.
30104         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30105
30106 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30107             Bruno Haible  <bruno@clisp.org>
30108
30109         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30110         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30111         of HAVE_REALLOC.
30112         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30113         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30114         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30115         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30116
30117 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30118             Bruno Haible  <bruno@clisp.org>
30119
30120         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30121         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30122         HAVE_CALLOC.
30123         * lib/xmalloc.c: Update accordingly.
30124         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30125         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30126         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30127
30128 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30129             Bruno Haible  <bruno@clisp.org>
30130
30131         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30132         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30133         HAVE_MALLOC.
30134         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30135         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30136         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30137
30138 2010-08-29  Bruno Haible  <bruno@clisp.org>
30139
30140         Update modules list.
30141         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30142         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30143         (String handling <string.h>): Add astrxfrm.
30144         (File system functions): Add readlinkat.
30145
30146 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30147
30148         Tests for module 'realloc-gnu'.
30149         * modules/realloc-gnu-tests: New file.
30150         * tests/test-realloc-gnu.c: New file.
30151
30152         Tests for module 'calloc-gnu'.
30153         * modules/calloc-gnu-tests: New file.
30154         * tests/test-calloc-gnu.c: New file.
30155
30156         Tests for module 'malloc-gnu'.
30157         * modules/malloc-gnu-tests: New file.
30158         * tests/test-malloc-gnu.c: New file.
30159
30160 2010-08-28  Bruno Haible  <bruno@clisp.org>
30161
30162         Rename module 'realloc' -> 'realloc-gnu'.
30163         * modules/realloc-gnu: New file, copied from modules/realloc.
30164         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30165         obsolete.
30166         * modules/mgetgroups (Depends-on): Update.
30167         * doc/posix-functions/realloc.texi: Update.
30168         * NEWS: Mention the change.
30169
30170         Rename module 'calloc' -> 'calloc-gnu'.
30171         * modules/calloc-gnu: New file, copied from modules/calloc.
30172         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30173         obsolete.
30174         * doc/posix-functions/calloc.texi: Update.
30175         * NEWS: Mention the change.
30176
30177         Rename module 'malloc' -> 'malloc-gnu'.
30178         * modules/malloc-gnu: New file, copied from modules/malloc.
30179         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30180         obsolete.
30181         * modules/argp (Depends-on): Update.
30182         * modules/regex (Depends-on): Update.
30183         * doc/posix-functions/malloc.texi: Update.
30184         * NEWS: Mention the change.
30185
30186 2010-08-28  Eric Blake  <eblake@redhat.com>
30187
30188         pread, pwrite: add missing dependency
30189         * modules/pread (Depends-on): Add extensions.
30190         * modules/pwrite (Depends-on): Likewise.
30191
30192 2010-08-28  Bruno Haible  <bruno@clisp.org>
30193
30194         unistr/u*-strchr: Fix tests dependencies.
30195         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30196         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30197         Reported by Ian Beckwith <ianb@erislabs.net>.
30198
30199 2010-08-28  Bruno Haible  <bruno@clisp.org>
30200
30201         read-file: Don't occupy too much unused memory.
30202         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30203
30204 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30205             Eric Blake  <eblake@redhat.com>
30206             Bruno Haible  <bruno@clisp.org>
30207
30208         read-file: Avoid memory reallocations with regular files.
30209         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30210         (fread_file): With regular files, use the remaining length as the
30211         initial buffer size.  Check against overflow.
30212         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30213         sys_stat.
30214
30215 2010-08-28  Bruno Haible  <bruno@clisp.org>
30216
30217         ftello: Relax license.
30218         * modules/ftello (License): Relax to LGPLv2+.
30219         Reported by Eric Blake.
30220
30221 2010-08-28  Bruno Haible  <bruno@clisp.org>
30222
30223         Avoid relocwrapper link errors due to gnulib replacement functions.
30224         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30225         function.
30226         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30227
30228 2010-08-28  Bruno Haible  <bruno@clisp.org>
30229
30230         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30231         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30232         defined.
30233         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30234         Suggested by Eric Blake.
30235
30236 2010-08-28  Bruno Haible  <bruno@clisp.org>
30237
30238         sys_socket, netdb: Ensure socklen_t gets defined.
30239         * modules/sys_socket (Depends-on): Add socklen.
30240         * modules/netdb (Depends-on): Likewise.
30241         * modules/getaddrinfo (Depends-on): Remove socklen.
30242         * modules/getsockopt (Depends-on): Likewise.
30243         * modules/setsockopt (Depends-on): Likewise.
30244         * tests/test-sys_socket.c: Check that socklen_t is defined.
30245         * tests/test-netdb.c: Likewise.
30246         * m4/socklen.m4: Update comments.
30247         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30248
30249 2010-08-27  Eric Blake  <eblake@redhat.com>
30250
30251         login_tty: add missing dependency
30252         * modules/login_tty (Depends-on): Add pty.
30253
30254 2010-08-26  Eric Blake  <eblake@redhat.com>
30255
30256         lib-symbol-versions: fix m4 quoting
30257         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30258         format for AC_LINK_IFELSE.
30259
30260         glob: fix compile test
30261         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30262
30263         btowc: fix missing file
30264         * modules/btowc (Files): Also ship locale-fr.m4.
30265
30266         lseek: fix link test
30267         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30268         AC_LINK_IFELSE.
30269
30270         include_next: silence autoconf 2.68 warning
30271         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30272         AC_COMPILE_IFELSE as special.
30273         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30274         autoconf < 2.68.
30275
30276         acl: fix compilation test
30277         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30278         AC_COMPILE_IFELSE.
30279
30280 2010-08-26  Bruno Haible  <bruno@clisp.org>
30281
30282         Modernize AC_TRY_RUN invocations.
30283         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30284         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30285         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30286         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30287         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30288         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30289         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30291         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30292         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30293         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30294         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30295         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30296         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30297         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30298         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30299         gl_MBRLEN_NUL_RETVAL): Likewise.
30300         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30301         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30302         Likewise.
30303         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30304         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30305         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30306         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30307         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30308         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30309         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30310         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30311         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30312         Likewise.
30313         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30314         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30315         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30316         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30317         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30318         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30319         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30320         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30321         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30323
30324 2010-08-26  Bruno Haible  <bruno@clisp.org>
30325
30326         Modernize AC_TRY_LINK invocations.
30327         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30328         AC_TRY_LINK.
30329         * m4/argp.m4 (gl_ARGP): Likewise.
30330         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30331         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30332         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30333         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30334         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30335         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30336         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30337         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30338         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30339         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30340         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30341         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30342         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30343         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30344         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30345         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30346         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30347         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30348         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30349         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30350         Likewise.
30351         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30352         Likewise.
30353         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30354         Likewise.
30355         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30356         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30357         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30358         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30359         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30360         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30361         * m4/servent.m4 (gl_SERVENT): Likewise.
30362         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30363         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30364         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30365         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30366         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30367         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30368         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30369         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30370         * modules/tsearch-tests (configure.ac): Likewise.
30371
30372 2010-08-26  Bruno Haible  <bruno@clisp.org>
30373
30374         Modernize AC_TRY_COMPILE invocations.
30375         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30376         AC_TRY_COMPILE.
30377         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30378         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30379         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30380         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30381         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30382         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30383         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30384         * m4/lock.m4 (gl_LOCK): Likewise.
30385         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30386         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30387         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30388         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30389         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30390         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30391         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30392         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30393         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30394         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30395         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30396         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30397         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30398         extraneous semicolon.
30399
30400 2010-08-26  Jim Meyering  <meyering@redhat.com>
30401
30402         stat-time: relax license LGPL
30403         * modules/stat-time (License): Change from GPL to LGPL,
30404         with consent from all contributors, for use in libguile.
30405         Requested by Ludovic Courtès.
30406
30407 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30408
30409         poll: return immediately on POLLHUP.
30410         * lib/poll.c (poll): Always set timeout before wait_timeout is
30411         computed.
30412
30413 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30414
30415         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30416         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30417         rmdir ("dir/.//"), unlinkat.
30418
30419 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30420
30421         stdbool: avoid spurious failure with modern xlc
30422         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30423
30424 2010-08-24  Bruno Haible  <bruno@clisp.org>
30425
30426         getloadavg: simplify code
30427         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30428         gl_have_func. Update comments.
30429
30430 2010-08-24  Eric Blake  <eblake@redhat.com>
30431
30432         getloadavg: don't define SVR4 on cygwin
30433         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30434         only define SVR4 when -lkvm is required.
30435         Reported by Yaakov Selkowitz.
30436
30437 2010-08-24  Bruno Haible  <bruno@clisp.org>
30438
30439         priv-set: fix comment
30440         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30441
30442 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30443
30444         priv-set: fix comments
30445         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30446         to match code, as suggested by David Bartley in:
30447         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30448
30449 2010-08-23  Eric Blake  <eblake@redhat.com>
30450
30451         stdbool: avoid rejecting clang
30452         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30453         * tests/test-stdbool.c: Enable more tests if using the system
30454         <stdbool.h> instead of the gnulib replacement.
30455         (main): Move xlc bug test to a runtime test for all compilers.
30456         Reported by Anders Kaseorg.
30457
30458         argz: fix shell quoting issue
30459         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30460         Reported by Charles Wilson.
30461
30462 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30463             Erik Faye-Lund <kusmabite@gmail.com>
30464
30465         poll, select: handle ERROR_BROKEN_PIPE.
30466         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30467         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30468         * lib/select.c (win32_compute_revents): Do not mark a pipe
30469         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30470
30471 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30472
30473         fts: allow compilation with C++
30474         * lib/fts_.h: Specify extern "C" linkage with C++.
30475
30476 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30477
30478         Fix gnulib-tool sed script de-commentation for AIX sed.
30479         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30480         sed.
30481
30482 2010-08-17  Eric Blake  <eblake@redhat.com>
30483
30484         test-stddef: test for (some) offsetof bugs
30485         * tests/test-stddef.c: Enhance test to ensure correct type of
30486         offsetof.
30487         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30488         that we are not fixing at this time.
30489
30490 2010-08-15  Bruno Haible  <bruno@clisp.org>
30491
30492         stpncpy: Allow stpncpy to be defined as a macro.
30493         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30494         if it's already correctly declared.
30495         * lib/string.in.h (stpncpy): Undefine before redefining.
30496         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30497
30498 2010-08-14  Bruno Haible  <bruno@clisp.org>
30499
30500         Rename module 'memxfrm' to 'amemxfrm'.
30501         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30502         (amemxfrm): Renamed from memxfrm.
30503         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30504         (amemxfrm): Renamed from memxfrm.
30505         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30506         * NEWS: Mention the change.
30507         * MODULES.html.sh (String handling <string.h>): Update.
30508         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30509         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30510         * lib/unicase/u16-casexfrm.c: Likewise.
30511         * lib/unicase/u32-casexfrm.c: Likewise.
30512         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30513         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30514         * lib/uninorm/u16-normxfrm.c: Likewise.
30515         * lib/uninorm/u32-normxfrm.c: Likewise.
30516         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30517         memxfrm.
30518         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30519         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30520         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30521         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30522         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30523         Suggested by Paul Eggert.
30524
30525 2010-08-14  Bruno Haible  <bruno@clisp.org>
30526
30527         Tests for module 'astrxfrm'.
30528         * modules/astrxfrm-tests: New file.
30529         * tests/test-astrxfrm.c: New file.
30530
30531         New module 'astrxfrm'.
30532         * lib/astrxfrm.h: New file.
30533         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30534         * modules/astrxfrm: New file.
30535
30536 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30537
30538         regex: Tweak doc.
30539         * doc/regex.texi (Overview): Don't mention regex.c.
30540         (GNU Regular Expression Compiling): Likewise.
30541         (Match-end-of-line Operator): Mention 'not_eol'.
30542
30543 2010-08-14  Brian Gough  <bjg@gnu.org>
30544             Bruno Haible  <bruno@clisp.org>
30545
30546         git-merge-changelog: add doc relating to use with bzr and hg.
30547         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30548
30549 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30550
30551         pthread: fix pthread.h creation for srcdir != builddir
30552         * modules/pthread (Makefile.am): Fix the rule to work also in a
30553         non-srcdir build.
30554
30555 2010-08-13  Karl Berry  <karl@gnu.org>
30556
30557         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30558         * doc/posix-*/*: force line break before @url of POSIX
30559         specifications.
30560         Suggested by Werner Lemberg.
30561
30562 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30563
30564         strtod: fix const diagnostic
30565         * lib/strtod.c (strtod): Don't assign const char * to char *,
30566         as this elicits a warning from GCC when warnings are enabled.
30567
30568 2010-08-10  Pádraig Brady <P@draigbrady.com>
30569         and Eric Blake  <eblake@redhat.com>
30570
30571         copy-acl: ignore ENOTSUP on HP-UX
30572         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30573         so that it is available for HP-UX.
30574         * lib/copy-acl.c (qcopy_acl): Use it.
30575         Reported by Patrick M. Callahan.
30576
30577 2010-08-10  Eric Blake  <eblake@redhat.com>
30578
30579         open, chown: relax license
30580         * modules/open (License): Change to LGPLv2+, with consent by all
30581         authors, for use in augeas.
30582         * modules/chown (License): Likewise.
30583         * modules/lchown (Likewise): Likewise.
30584         Requested by Adam Stokes.
30585
30586 2010-08-09  Karl Berry  <karl@gnu.org>
30587
30588         * build-aux/ar-lib: new file, import from Automake.
30589         * config/srclist.txt: autocheck for updates.
30590
30591 2010-08-09  Eric Blake  <eblake@redhat.com>
30592
30593         readlinkat: adjust client modules
30594         * modules/areadlinkat (Depends-on): Use readlinkat, not
30595         symlinkat.
30596         * modules/areadlinkat-with-size (Depends-on): Likewise.
30597
30598         mknod: be more vocal about danger of running tests as root
30599         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30600         root, since that is just asking for problems.
30601         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30602
30603         readlinkat: split into its own module
30604         * modules/symlinkat: Split readlinkat...
30605         * modules/readlinkat: ...into separate module.
30606         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30607         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30608         * lib/symlinkat.c (readlinkat): Move...
30609         * lib/readlinkat.c: ...into new file.
30610         * modules/symlinkat-tests: Split readlinkat test...
30611         * modules/readlinkat-tests: ...into separate module.
30612         * tests/test-symlinkat.c: Split...
30613         * tests/test-readlinkat.c: ...into new file.
30614         * NEWS: Document the split.
30615         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30616         * lib/unistd.in.h (readlinkat): Likewise.
30617         Suggested by Bruno Haible.
30618
30619 2010-08-08  Bruno Haible  <bruno@clisp.org>
30620
30621         memxfrm: Speed up.
30622         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30623         that usually only one call to strxfrm is necessary for each string
30624         part.
30625         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30626
30627 2010-08-07  Karl Berry  <karl@gnu.org>
30628
30629         * doc/posix-headers/limits.texi,
30630         * doc/posix-functions/malloc.texi,
30631         * doc/posix-functions/strsignal.texi: missing @item.
30632         * doc/ld-version-script.texi: spurious leading i.
30633         * doc/regex.texi (Interval Operators): no commas inside @var.
30634
30635 2010-08-01  Bruno Haible  <bruno@clisp.org>
30636
30637         Integrate the regex documentation.
30638         * doc/gnulib.texi: Define 'cn' index.
30639         (Regular expressions): New a chapter that includes regex.texi and
30640         regexprops-generic.texi.
30641         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30642         syntax.
30643
30644         Whitespace cleanup.
30645         * doc/regex.texi: Remove trailing spaces.
30646
30647         Add regex documentation.
30648         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30649         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30650         Written by Kathy A. Hargreaves and Karl Berry.
30651
30652 2010-08-01  Bruno Haible  <bruno@clisp.org>
30653
30654         link: Update documentation.
30655         * doc/posix-functions/link.texi: Update regarding Solaris.
30656
30657 2010-07-31  Bruno Haible  <bruno@clisp.org>
30658
30659         Update modules list.
30660         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30661         (String handling <string.h>): Add memcmp2, memxfrm.
30662         (Container data structures): Add xlist, xsublist, xoset.
30663         (Core language properties): Add alignof, unused-parameter.
30664         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30665         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30666         (Unibyte characters <ctype.h>): New section.
30667         (String handling <string.h>): New section.
30668         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30669         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30670         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30671         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30672         tan, tanh, tanl, y0, y1, yn.
30673         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30674         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30675         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30676         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30677         unlockpt, vdprintf, vdprintf-posix.
30678         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30679         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30680         xconcat-filename.
30681         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30682         getdtablesize, pipe2, pipe2-safer.
30683         (Security): New section.
30684         (Networking functions): Add accept4.
30685         (Signal handling): Add sigpipe.
30686         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30687         mbmemcasecoll.
30688         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30689         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30690         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30691         pipe-filter-ii.
30692         (Misc): Add argp-version-etc, login_tty, parse-duration.
30693
30694 2010-07-31  Bruno Haible  <bruno@clisp.org>
30695
30696         Improve doc in MODULES.html.
30697         * modules/linkat (Description): Add the word "function".
30698         * modules/mkfifo (Description): Likewise.
30699         * modules/mknod (Description): Likewise.
30700         * modules/remove (Description): Likewise.
30701         * modules/renameat (Description): Likewise.
30702         * modules/stat (Description): Likewise.
30703         * modules/symlink (Description): Likewise.
30704         * modules/unlink (Description): Likewise.
30705
30706 2010-07-31  Bruno Haible  <bruno@clisp.org>
30707
30708         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
30709         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
30710         option --enable/disable-c++ instead of --enable/disable-cxx.
30711         * NEWS: Mention the change.
30712
30713 2010-07-31  Bruno Haible  <bruno@clisp.org>
30714
30715         readlink, areadlink: Relax test a bit.
30716         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
30717         alternative to ENOTDIR.
30718         * tests/test-areadlink.h (test_areadlink): Likewise.
30719         Reported by Rainer Tammer.
30720
30721 2010-07-31  Bruno Haible  <bruno@clisp.org>
30722
30723         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
30724         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
30725         character, perform the search using U_STRCHR.
30726         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
30727         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
30728         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
30729         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
30730         Suggested by Paolo Bonzini.
30731
30732 2010-07-31  Bruno Haible  <bruno@clisp.org>
30733
30734         unistr/u*-strstr: Fix dependencies.
30735         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
30736         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
30737         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
30738
30739 2010-07-31  Bruno Haible  <bruno@clisp.org>
30740
30741         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
30742         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
30743         the beginning of the loop.
30744         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
30745         cases in 'switch' statement.
30746
30747         unistr/u8-strchr: Fix several bugs.
30748         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
30749         the string. When not found, return NULL, not a pointer near the end.
30750
30751         More tests for unistr/u8-strchr.
30752         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
30753         that the function does not read past the first occurrence of the byte
30754         being searched.
30755         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
30756         * tests/unistr/test-u16-strchr.c (main): New function.
30757         * tests/unistr/test-u32-strchr.c (main): New function.
30758
30759 2010-07-31  Bruno Haible  <bruno@clisp.org>
30760
30761         posix-modules: Ignore backup files of documentation files.
30762         * posix-modules: grep only through files named *.texi.
30763
30764 2010-07-31  Bruno Haible  <bruno@clisp.org>
30765
30766         symlinkat: Fix documentation.
30767         * doc/posix-functions/readlinkat.texi: Fix module name.
30768
30769 2010-07-31  Bruno Haible  <bruno@clisp.org>
30770
30771         fchownat: Replace also when chown has the trailing slash bug.
30772         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
30773         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
30774         introduced on 2010-04-10.
30775         Reported by Rainer Tammer.
30776
30777 2010-07-31  Bruno Haible  <bruno@clisp.org>
30778
30779         linkat: Work around AIX 7.1 bug.
30780         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
30781         whether linkat handles trailing slash correctly. If not, replace linkat
30782         and define LINKAT_TRAILING_SLASH_BUG.
30783         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
30784         check whether (fd1,file1) points to a directory if file1 or file2 ends
30785         in a slash. Code taken from lib/link.c.
30786         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
30787         Reported by Rainer Tammer.
30788
30789 2010-07-31  Bruno Haible  <bruno@clisp.org>
30790
30791         Correctly determine whether pow is available in libc on AIX 7 with xlc.
30792         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
30793         This disables an xlc optimization that was causing wrong test results.
30794         Reported by Rainer Tammer.
30795
30796 2010-07-31  Bruno Haible  <bruno@clisp.org>
30797
30798         iconv: Work around AIX 6.1..7.1 bug.
30799         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
30800         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
30801         cross-compiling, guess no on all versions of AIX.
30802         Reported by Rainer Tammer.
30803
30804 2010-07-31  Bruno Haible  <bruno@clisp.org>
30805
30806         readlink: Relax test a bit.
30807         * tests/test-readlink.h (test_readlink): Allow different errno value
30808         when readlink is called with a file name that ends in / and refers to
30809         a file.
30810         Suggested by Eric Blake.
30811         Reported by Rainer Tammer.
30812
30813 2010-07-31  Bruno Haible  <bruno@clisp.org>
30814
30815         copysign: Does not require -lm on glibc systems.
30816         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
30817         gl_COMMON_DOUBLE_MATHFUNC.
30818         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
30819
30820 2010-07-31  Bruno Haible  <bruno@clisp.org>
30821
30822         duplocale: Work around AIX 7.1 bug.
30823         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
30824         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
30825         * lib/duplocale.c (rpl_duplocale): Update comment.
30826         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
30827         Reported by Rainer Tammer.
30828
30829 2010-07-30  Bruno Haible  <bruno@clisp.org>
30830
30831         dirfd: Avoid link error on AIX 7.1.
30832         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
30833         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
30834         exist, set REPLACE_DIRFD.
30835         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
30836         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
30837         * doc/posix-functions/dirfd.texi: Update.
30838         Reported by Rainer Tammer.
30839
30840 2010-07-30  Eric Blake  <eblake@redhat.com>
30841
30842         strtod: next round of AIX fixes
30843         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
30844         exponent.
30845         * tests/test-strtod.c (main): Enhance tests.
30846         * doc/posix-functions/strtod.texi (strtod): Document next bug.
30847         Reported by Rainer Tammer.
30848
30849         futimens: fix configure check
30850         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
30851         Reported by Bruno Haible.
30852
30853 2010-07-30  Bruno Haible  <bruno@clisp.org>
30854
30855         getline: Update regarding AIX.
30856         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
30857         Reported by Rainer Tammer.
30858
30859 2010-07-30  Bruno Haible  <bruno@clisp.org>
30860
30861         wcwidth: Drop replacement on AIX 7.
30862         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
30863         AIX 7.
30864         Reported by Rainer Tammer.
30865
30866 2010-07-30  Bruno Haible  <bruno@clisp.org>
30867
30868         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
30869         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
30870         a 'char *'.
30871         Reported by Rainer Tammer.
30872
30873 2010-07-30  Bruno Haible  <bruno@clisp.org>
30874
30875         unlink: Update regarding AIX.
30876         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30877         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30878         Reported by Rainer Tammer.
30879
30880 2010-07-30  Bruno Haible  <bruno@clisp.org>
30881
30882         symlink: Update regarding AIX.
30883         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
30884         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
30885         Reported by Rainer Tammer.
30886
30887 2010-07-30  Bruno Haible  <bruno@clisp.org>
30888
30889         strndup: Update regarding AIX.
30890         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
30891         AIX 7.
30892         Reported by Rainer Tammer.
30893
30894 2010-07-30  Bruno Haible  <bruno@clisp.org>
30895
30896         stat: Update regarding AIX.
30897         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
30898         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
30899         Reported by Rainer Tammer.
30900
30901 2010-07-30  Bruno Haible  <bruno@clisp.org>
30902
30903         truncl: Fix autoconf test.
30904         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
30905         whether truncl works.
30906         Reported by Rainer Tammer.
30907
30908 2010-07-30  Bruno Haible  <bruno@clisp.org>
30909
30910         round: Update regarding AIX.
30911         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
30912         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
30913         Reported by Rainer Tammer.
30914
30915 2010-07-30  Bruno Haible  <bruno@clisp.org>
30916
30917         rename: Update regarding AIX.
30918         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
30919         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
30920         Reported by Rainer Tammer.
30921
30922 2010-07-30  Bruno Haible  <bruno@clisp.org>
30923
30924         printf.m4: Update regarding AIX.
30925         * m4/printf.m4: Update comments regarding AIX.
30926         Reported by Rainer Tammer.
30927
30928 2010-07-30  Bruno Haible  <bruno@clisp.org>
30929
30930         iconv: Update regarding AIX.
30931         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
30932         AIX 7.
30933         Reported by Rainer Tammer.
30934
30935 2010-07-30  Bruno Haible  <bruno@clisp.org>
30936
30937         getopt: Update regarding AIX.
30938         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
30939         no on AIX.
30940         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
30941         Reported by Rainer Tammer.
30942
30943 2010-07-30  Bruno Haible  <bruno@clisp.org>
30944
30945         ldexpl; Update regarding AIX.
30946         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
30947         on AIX 7.
30948         Reported by Rainer Tammer.
30949
30950 2010-07-30  Bruno Haible  <bruno@clisp.org>
30951
30952         frexpl: Update regarding AIX.
30953         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
30954         on AIX 7.
30955         Reported by Rainer Tammer.
30956
30957 2010-07-30  Bruno Haible  <bruno@clisp.org>
30958
30959         open, fopen: Update regarding AIX.
30960         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
30961         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30962         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
30963         * doc/posix-functions/fopen.texi: Likewise.
30964         Reported by Rainer Tammer.
30965
30966 2010-07-30  Bruno Haible  <bruno@clisp.org>
30967
30968         chown: Update doc regarding AIX.
30969         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
30970         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
30971         Reported by Rainer Tammer.
30972
30973 2010-07-30  Eric Blake  <eblake@redhat.com>
30974
30975         strtod: fix bug in replacement function on AIX
30976         * lib/strtod.c (strtod): Special case broken "0x" parse in
30977         underlying strtod.
30978         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
30979         * doc/posix-functions/strtod.texi (strtod): Likewise.
30980         Reported by Rainer Tammer.
30981
30982 2010-07-30  Bruno Haible  <bruno@clisp.org>
30983
30984         mbrlen: Fix cross-compilation guess for AIX.
30985         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
30986         guess. Leftover from 2008-12-22.
30987
30988 2010-07-30  Bruno Haible  <bruno@clisp.org>
30989
30990         mbrtowc: Fix cross-compilation guess for AIX.
30991         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
30992         guess. Leftover from 2008-12-21.
30993
30994 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
30995
30996         init.sh: work around trap limitation of some shells
30997         * tests/init.sh (setup_): Move exit trap outside of shell function.
30998
30999 2010-07-29  Eric Blake  <eblake@redhat.com>
31000
31001         strtod: aid debugging
31002         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31003         understanding why strtod is rejected.
31004
31005 2010-07-28  Bruno Haible  <bruno@clisp.org>
31006
31007         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31008         * lib/unistr/u8-chr.c: Include <string.h>.
31009         * tests/unistr/test-u8-chr.c: Likewise.
31010         * tests/unistr/test-u16-chr.c: Likewise.
31011         * tests/unistr/test-u32-chr.c: Likewise.
31012         * tests/unistr/test-u8-strchr.c: Likewise.
31013         * tests/unistr/test-u16-strchr.c: Likewise.
31014         * tests/unistr/test-u32-strchr.c: Likewise.
31015         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31016         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31017         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31018         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31019
31020 2010-07-28  Bruno Haible  <bruno@clisp.org>
31021
31022         Use spaces for indentation, not tabs.
31023         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31024
31025 2010-07-27  Bruno Haible  <bruno@clisp.org>
31026
31027         mbspcasecmp: Fix function specification.
31028         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31029         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31030         Reported by Eric Blake <eblake@redhat.com>.
31031
31032 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31033
31034         timespec: use cast and not conditional, as truncation isn't possible
31035         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31036         instead of a conditional.  Comment about the situation in more detail.
31037         This undoes most of the 2009-10-29 patch.
31038
31039 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31040
31041         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31042         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31043         * lib/unistr/u8-strchr.c: Likewise.
31044         * modules/unistr/u8-chr: Depend on memchr.
31045
31046         unistr/u*-strchr: add tests
31047         * modules/unistr/u8-strchr-tests: New file.
31048         * modules/unistr/u16-strchr-tests: New file.
31049         * modules/unistr/u32-strchr-tests: New file.
31050         * tests/unistr/test-strchr.h: New file.
31051         * tests/unistr/test-u8-strchr.c: New file.
31052         * tests/unistr/test-u16-strchr.c: New file.
31053         * tests/unistr/test-u32-strchr.c: New file.
31054
31055         unistr/u*-chr: test multibyte sequences more
31056         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31057         test vector.
31058         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31059         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31060         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31061
31062         unistr/u*-chr: test multibyte sequences
31063         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31064
31065         unistr/u*-chr: prepare for multibyte tests
31066         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31067         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31068         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31069         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31070         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31071         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31072
31073 2010-07-18  Bruno Haible  <bruno@clisp.org>
31074
31075         unistr/u8-strchr: Optimize non-ASCII argument case.
31076         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31077         because the first byte often matches anyway.
31078         Reported by Pádraig Brady <P@draigbrady.com>.
31079
31080 2010-07-15  Karl Berry  <karl@gnu.org>
31081
31082         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31083
31084 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31085
31086         getcwd: on Solaris, work better if ancestors are inaccessible
31087         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31088         buffer and size, try again with a large buffer.  This works better
31089         on Solaris, since its getcwd succeeds even if the path to the root
31090         is inaccessible, and this is helpful in common cases such as .zfs
31091         hidden directories.  Problem reported by J Chapman Flack in
31092         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31093         Use system getcwd if it's declared, not merely if it's partly
31094         working; use the partly-working test only to avoid needless effort
31095         if the system getcwd fails.
31096         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31097         comment that was already obsolete and is now even more obsolete.
31098         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31099         now might call strdup.
31100
31101 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31102
31103         pthread: Add enough so that coreutils/src/sort.c compiles.
31104         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31105         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31106         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31107         Include <sys/types.h>, in case it defines pthread_t.
31108         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31109         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31110         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31111         (pthread_rwlockattr_t, pthread_spinlock_t):
31112         New typedefs, if HAVE_PTHREAD_T is not defined.
31113         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31114         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31115         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31116         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31117         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31118         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31119         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31120         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31121         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31122         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31123         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31124         New macros.
31125         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31126         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31127         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31128         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31129         (pthread_spin_unlock): New dummy functions.
31130         (pthread_create): Return EAGAIN; don't set errno.
31131         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31132         require AC_C_INLINE.
31133         * modules/pthread (Depends-on): Add sched, time.
31134         (pthread.h): Use AM_V_GEN.
31135
31136 2010-07-13  Bruno Haible  <bruno@clisp.org>
31137
31138         striconveh: Don't malloc memory if the result buffer is sufficient.
31139         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31140         buffer if its size is sufficient.
31141         Reported by Ludovic Courtès <ludo@gnu.org>.
31142
31143 2010-07-13  Bruno Haible  <bruno@clisp.org>
31144
31145         strtod: Add safety check.
31146         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31147
31148 2010-07-12  Bruno Haible  <bruno@clisp.org>
31149
31150         Unify tests that set gl_cv_func_ldexpl_no_libm.
31151         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31152         gl_FUNC_LDEXPL.
31153         (gl_FUNC_LDEXPL): Invoke it.
31154         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31155
31156 2010-07-12  Bruno Haible  <bruno@clisp.org>
31157
31158         Unify tests that set gl_cv_func_ldexp_no_libm.
31159         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31160         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31161         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31162         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31163         * modules/strtod (Files): Add m4/ldexp.m4.
31164
31165 2010-07-12  Bruno Haible  <bruno@clisp.org>
31166
31167         Unify tests that set gl_cv_func_frexpl_no_libm.
31168         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31169         gl_FUNC_FREXPL_NO_LIBM.
31170         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31171         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31172
31173 2010-07-12  Bruno Haible  <bruno@clisp.org>
31174
31175         Unify tests that set gl_cv_func_frexp_no_libm.
31176         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31177         gl_FUNC_FREXP_NO_LIBM.
31178         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31179         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31180
31181 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31182
31183         memcoll: clarify sizes versus lengths, document better, and tweak perf
31184         * lib/memcoll.c (strcoll_loop, memcoll0):
31185         Improve quality of descriptive comments.  Name variables
31186         consistently as to whether they are lengths (which do not include
31187         terminating null) versus sizes (which do).
31188         * lib/xmemcoll.c (xmemcoll0): Likewise.
31189         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31190         returned when s1size == 0; this is easier to compile and saves
31191         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31192
31193 2010-07-12  Bruno Haible  <bruno@clisp.org>
31194
31195         Tests for module '_Exit'.
31196         * modules/_Exit-tests: New file.
31197         * tests/test-_Exit.sh: New file.
31198         * tests/test-_Exit.c: New file.
31199
31200         New module '_Exit'.
31201         * lib/stdlib.in.h (__attribute__): New macro.
31202         (_Exit): New declaration.
31203         * lib/_Exit.c: New file.
31204         * m4/_Exit.m4: New file.
31205         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31206         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31207         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31208         * modules/_Exit: New file.
31209         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31210         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31211
31212 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31213
31214         strtod: make it more-accurate typically, and don't require libm
31215         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31216         Include limits.h.  Don't include string.h.
31217         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31218         (locale_isspace): New function, so that no casts are needed to
31219         check whether *s is a space.
31220         (ldexp): Provide an unused dummy if not available.
31221         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31222         (strtod): Use them.  This implementation prefers to use the
31223         underlying strtod if available, falling back on our own code
31224         only to fix known bugs.  This is more likely to produce an
31225         accurate result.  Also, it avoids the use of libm functions.
31226         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31227         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31228         was absent, but it caused a test failure with coreutils.
31229         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31230         with libm.
31231         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31232         * modules/strtod-tests (Makefile.am): Likewise.
31233
31234 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31235             Bruno Haible  <bruno@clisp.org>
31236
31237         unistr/u8-strchr: Optimize ASCII argument case.
31238         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31239
31240 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31241
31242         (x)memcoll: minor tweaks
31243         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31244         is after the type that it qualifies.
31245         (memcoll0): Likewise.
31246         * lib/memcoll.h (memcoll0): Likewise.
31247         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31248         * lib/xmemcoll.h (xmemcoll0): Likewise.
31249         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31250         differs from memcoll in that the NUL byte is part of the argument.
31251         Omit the abort-checks, as performance is a real issue here.  Plus,
31252         the checks were wrong anyway (an off-by-one error).  Omit local
31253         variable 'diff', as it's a bit clearer that way.
31254         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31255         no longer needed.
31256
31257 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31258
31259         (x)memcoll: speedup when input is known to be NUL delimited
31260         * lib/memcoll.c: Include stdlib.
31261         (memcoll0): New function.
31262         (strcoll_loop): New function, refactored for use in both memcoll
31263         and memcoll0.
31264         * lib/memcoll.h (memcoll0): Add prototype.
31265         * lib/xmemcoll.c (xmemcoll0): New function.
31266         (collate_error): New function, refactored for use in both xmemcoll
31267         and xmemcoll0.
31268         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31269         * m4/memcoll.m4: add inline invocation.
31270
31271 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31272
31273         * build-aux/bootstrap: Remove any local translations
31274         from the translation project synchronization directory,
31275         so that local only translations are not distributed.
31276
31277 2010-07-04  Bruno Haible  <bruno@clisp.org>
31278
31279         fsusage: Clarify which code applies to which platforms.
31280         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31281         platform.
31282         * lib/fsusage.c (get_fs_usage): Likewise.
31283
31284 2010-07-04  Bruno Haible  <bruno@clisp.org>
31285
31286         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31287         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31288         Reported by Martin Lambers <marlam@marlam.de>.
31289
31290 2010-07-04  Jim Meyering  <meyering@redhat.com>
31291
31292         hash: once again explicitly disallow insertion of NULL
31293         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31294         inserting a NULL pointer cannot work with these functions.
31295         Add a comment with details.
31296         This reverts part of the 2010-07-01 commit, 5bef1a35
31297         "hash: extend module to deal with non-pointer keys".
31298
31299 2010-07-01  Bruno Haible  <bruno@clisp.org>
31300
31301         stdbool: Update doc.
31302         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31303         Info from Christian Weisgerber <naddy@mips.inka.de>.
31304
31305 2010-07-01  Jim Meyering  <meyering@redhat.com>
31306
31307         hash: extend module to deal with non-pointer keys
31308         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31309         but that allows insertion of non-pointer entries.
31310         Do not disallow an ENTRY value of NULL.
31311         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31312         * lib/hash.h (hash_insert0): Declare.
31313
31314 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31315
31316         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31317         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31318         not present (i.e. with autoconf 2.59 and when using gettextize, not
31319         gnulib), require AC_GNU_SOURCE instead.
31320
31321 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31322
31323         idpriv-drop: Fix tests.
31324         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31325         not to the test-idpriv-droptemp program.
31326
31327 2010-06-29  Bruno Haible  <bruno@clisp.org>
31328
31329         string: Fix syntax error with g++ 2.96.
31330         * lib/string.in.h (__pure__): Remove definition.
31331         (_GL_ATTRIBUTE_PURE): New macro.
31332         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31333         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31334         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31335
31336 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31337
31338         unitypes: Fix bug introduced on 2010-05-18.
31339         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31340
31341 2010-06-22  Eric Blake  <eblake@redhat.com>
31342
31343         memmem: slight optimization
31344         * lib/str-two-way.h (critical_factorization): Update comments.
31345         Reduce work during factorization phase.
31346         Reported by Carlos Bueno <carlos@bueno.org>.
31347
31348 2010-06-21  Bruno Haible  <bruno@clisp.org>
31349
31350         Fix HAVE_CALLOC_POSIX misnomer.
31351         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31352         !HAVE_CALLOC_POSIX.
31353         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31354         HAVE_CALLOC_POSIX.
31355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31356         instead of HAVE_CALLOC_POSIX.
31357         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31358         HAVE_CALLOC_POSIX.
31359
31360         Use modern idiom for calloc() replacement.
31361         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31362         AC_FUNC_CALLOC.
31363         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31364         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31365         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31366         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31367         (gl_REPLACE_CALLOC): New macro.
31368
31369 2010-06-21  Bruno Haible  <bruno@clisp.org>
31370
31371         Fix HAVE_REALLOC_POSIX misnomer.
31372         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31373         !HAVE_REALLOC_POSIX.
31374         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31375         HAVE_REALLOC_POSIX.
31376         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31377         instead of HAVE_REALLOC_POSIX.
31378         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31379         HAVE_REALLOC_POSIX.
31380
31381         Use modern idiom for realloc() replacement.
31382         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31383         AC_FUNC_REALLOC.
31384         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31385         Autoconf's AC_FUNC_REALLOC.
31386         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31387         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31388         (gl_REPLACE_REALLOC): New macro.
31389         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31390
31391 2010-06-21  Bruno Haible  <bruno@clisp.org>
31392
31393         Fix HAVE_MALLOC_POSIX misnomer.
31394         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31395         !HAVE_MALLOC_POSIX.
31396         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31397         HAVE_MALLOC_POSIX.
31398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31399         instead of HAVE_MALLOC_POSIX.
31400         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31401         HAVE_MALLOC_POSIX.
31402
31403         Use modern idiom for malloc() replacement.
31404         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31405         AC_FUNC_MALLOC.
31406         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31407         Autoconf's AC_FUNC_MALLOC.
31408         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31409         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31410         (gl_REPLACE_MALLOC): New macro.
31411         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31412
31413 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31414
31415         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31416         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31417         This macro takes 3 arguments, not 4.
31418
31419 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31420
31421         ipv6: fix detection under mingw
31422         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31423         in6_addr.
31424
31425 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31426
31427         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31428         that strtod() works when cross-compiling to a glibc version known
31429         to work.
31430
31431 2010-06-15  Bruno Haible  <bruno@clisp.org>
31432
31433         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31434
31435 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31436
31437         select: Correct timeout.
31438         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31439
31440 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31441
31442         git-version-gen: init shell var to avoid env var influence
31443         * build-aux/git-version-gen (v): Init shell var to empty.
31444
31445 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31446
31447         priv-set: Don't assume that priv.h exists merely because getppriv does.
31448         See Jan Andersen's bug report about AIX 5L in
31449         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31450         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31451         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31452         * lib/priv-set.h: Likewise.
31453         * tests/test-priv-set.c: Likewise.
31454
31455 2010-06-13  Bruno Haible  <bruno@clisp.org>
31456
31457         relocatable: Make it easier to test whether to install wrappers.
31458         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31459         RELOCATABLE_VIA_WRAPPER.
31460
31461 2010-06-13  Bruno Haible  <bruno@clisp.org>
31462
31463         gnulib-tool: Display specified modules and dependencies differently.
31464         * gnulib-tool (func_show_module_list): New function.
31465         (func_import, func_create_testdir): Invoke it.
31466         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31467
31468 2010-06-13  Bruno Haible  <bruno@clisp.org>
31469
31470         gnulib-tool: Align code of func_import and func_create_testdir.
31471         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31472         specified_modules.
31473
31474 2010-06-12  Jim Meyering  <meyering@redhat.com>
31475
31476         test-inttostr: avoid spurious failure on Solaris 9
31477         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31478         to accept "%ju".  Reported by Bruno Haible.
31479
31480 2010-06-11  Jim Meyering  <meyering@redhat.com>
31481
31482         test-sys_socket: mark variables as used more readably
31483         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31484         as "used" explicitly via (void) statement casts.  This is more
31485         readable than using them in an artificial return expression.
31486         Suggestion from Bruno Haible.
31487
31488 2010-06-11  Bruno Haible  <bruno@clisp.org>
31489
31490         Avoid some more warnings from "gcc -Wwrite-strings".
31491         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31492         to 'const char *'.
31493         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31494         * tests/test-c-strcasestr.c (main): Likewise.
31495         * tests/test-mbscasestr1.c (main): Likewise.
31496         * tests/test-mbscasestr2.c (main): Likewise.
31497         * tests/test-memmem.c (main): Likewise.
31498         * tests/test-strstr.c (main): Likewise.
31499         * tests/test-strcasestr.c (main): Likewise.
31500
31501 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31502
31503         init.sh: change framework_failure_ to fail with status 99, not 1
31504         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31505         automake's parallel-tests rule that this is an unexpected failure,
31506         even if the test is listed in XFAIL_TESTS.
31507
31508 2010-06-11  Jim Meyering  <meyering@redhat.com>
31509
31510         test-inttostr: avoid warnings about 4-6KB literal strings
31511         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31512         Include "macros.h", for its definition of ASSERT.
31513         (CK): s/assert/ASSERT/
31514         * modules/inttostr-tests (Files): Add macros.h.
31515
31516         init.sh: don't use $ME_ or skip_ before they are defined
31517         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31518         their first uses.  Also hoist their companions: warn_, fail_,
31519         framework_failure_, $stderr_fileno.  Prompted by a patch from
31520         Stefano Lattarini.
31521
31522         test-sys_socket: avoid set-but-not-used warnings from gcc
31523         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31524         avoid warning about set-but-not-used variables.
31525
31526         test-xvasprintf: avoid 'const' discard warnings
31527         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31528         "const" when assigning from literal strings.
31529         (test_xasprintf): Add "void" in function argument list to placate
31530         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31531
31532         tests: avoid compilation warnings in argmatch and exclude tests...
31533         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31534         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31535         Since it always exits, declare with the "noreturn" attribute.
31536         * tests/test-argmatch.c: Likewise.
31537
31538         tests: avoid 'const' discard warnings in mbsstr tests
31539         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31540         * tests/test-mbsstr2.c (main): Likewise.
31541
31542         test-verify: avoid warning from gcc's -Wmissing-declarations
31543         * tests/test-verify.c (function): Declare to be static.
31544
31545         test-inttostr.c: include <string.h> for use of strcmp
31546         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31547
31548         test-linkat: avoid failed assertion on "other" architectures
31549         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31550         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31551         sparc: https://bugs.launchpad.net/bugs/591968
31552
31553 2010-06-11  Jim Meyering  <meyering@redhat.com>
31554
31555         printf.m4: avoid autoconf's "Expanded Before Required" warning
31556         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31557         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31558         autoconf warning.
31559
31560 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31561
31562         Replacement header templates are now named with ".in", not "_".
31563         * doc/gnulib-intro.texi: Correct.
31564
31565 2010-06-10  Jim Meyering  <meyering@redhat.com>
31566
31567         inttostr-tests: depend on snprintf, not snprintf-posix
31568         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31569         snprintf-posix, to avoid this aclocal failure:
31570           missing file gnulib-tests/vasnprintf.c
31571           configure.ac:45: error: expected source file, required through \
31572           AC_LIBSOURCES, not found
31573
31574 2010-06-10  Jim Meyering  <meyering@redhat.com>
31575
31576         inttostr: add a new function, inttostr, and tests
31577         The namesake function was not available.  The existence of the
31578         template file, inttostr.c makes its addition nontrivial.
31579         * lib/anytostr.c: Rename from inttostr.c.
31580         (anytostr): Rename from inttostr.
31581         * lib/inttostr.c: New file.
31582         * modules/inttostr (Files): Add anytostr.c.
31583         (Makefile.am): Set lib_SOURCES instead of ...
31584         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31585         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31586         * lib/offtostr.c: Likewise.
31587         * lib/uinttostr.c: Likewise.
31588         * lib/umaxtostr.c: Likewise.
31589         * modules/inttostr-tests: New file.
31590         * tests/test-inttostr.c: New file.  Test these functions.
31591
31592 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31593             Bruno Haible  <bruno@clisp.org>
31594
31595         Add "Extending Gnulib" chapter to manual.
31596         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31597         chapter.
31598         (Extending Gnulib): New chapter.
31599         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31600         chapter.
31601
31602 2010-06-09  Bruno Haible  <bruno@clisp.org>
31603
31604         Avoid relocwrapper link errors due to gnulib replacement functions.
31605         * lib/areadlink.c: Use the system's malloc, realloc functions.
31606         (areadlink): Set errno to ENOMEM explicitly.
31607         * modules/areadlink (Depends-on): Remove malloc-posix.
31608         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31609
31610 2010-06-09  Bruno Haible  <bruno@clisp.org>
31611
31612         Avoid relocwrapper link errors due to gnulib replacement functions.
31613         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31614         * lib/malloca.c: Likewise.
31615         * lib/relocatable.c: Likewise.
31616         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31617         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31618         * lib/setenv.c: Use the system's malloc, realloc functions.
31619         * lib/strerror.c: Use the system's sprintf function.
31620         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31621
31622 2010-06-04  Bruno Haible  <bruno@clisp.org>
31623
31624         Prefer documented low-level autoconf macro names.
31625         * m4/lib-link.m4: Use m4_translit instead of translit.
31626         * m4/environ.m4: Likewise.
31627         * m4/mathfunc.m4: Likewise.
31628         * m4/onceonly.m4: Likewise.
31629         * m4/stdint.m4: Likewise.
31630         Suggested by Eric Blake.
31631
31632 2010-06-04  Martin Lambers  <marlam@marlam.de>
31633             Bruno Haible  <bruno@clisp.org>
31634
31635         havelib: Allow library names with '+' characters.
31636         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31637         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31638
31639 2010-06-09  Bruno Haible  <bruno@clisp.org>
31640
31641         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31642         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31643         realloc failed.
31644
31645 2010-06-08  Peter Simons  <simons@cryp.to>
31646
31647         maint.mk: make the news-check rule more configurable
31648         * top/maint.mk (news-check-lines-spec): New variable.
31649         (news-check): Use "sed -n 1,10p" in place of "head".
31650
31651 2010-06-07  Jim Meyering  <meyering@redhat.com>
31652
31653         do-release-commit-and-tag: fix typo in --help
31654         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31655
31656         regex: avoid new dead-code warning with gcc-4.6.0
31657         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31658         if-block containing a while-loop.  It's been unused for at least
31659         5 years.
31660
31661 2010-06-05  Bruno Haible  <bruno@clisp.org>
31662
31663         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31664         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31665
31666 2010-06-04  Bruno Haible  <bruno@clisp.org>
31667
31668         Update to GNU gettext 0.18.1.
31669         * modules/gettext (configure.ac): Require gettext infrastructure from
31670         version 0.18.1.
31671
31672 2010-06-03  Bruno Haible  <bruno@clisp.org>
31673
31674         Don't use AC_LIBOBJ with file names in subdirectories.
31675         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31676         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31677         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31678         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31679         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31680         gl_LIBUNISTRING_LIBSOURCE.
31681         (Makefile.am): Augment lib_SOURCES here, conditionally.
31682         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31683
31684 2010-06-03  Bruno Haible  <bruno@clisp.org>
31685
31686         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31687         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31688         expansion does not end with a newline.
31689         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31690         unnecessary newline.
31691
31692 2010-06-03  Bruno Haible  <bruno@clisp.org>
31693
31694         Reduce dependencies.
31695         * tests/test-quotearg.h: New file, extracted from
31696         tests/test-quotearg.c.
31697         * tests/test-quotearg-simple.c: New file, extracted from
31698         tests/test-quotearg.c.
31699         * tests/test-quotearg.c: Don't include <ctype.h>.
31700         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31701         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31702         use_quote_double_quotes, use_quotearg_colon): Moved to
31703         tests/test-quotearg.h.
31704         (results_g, flag_results, custom_quotes, custom_results): Moved
31705         to tests/test-quotearg-simple.c.
31706         (main): Moved the part that does not depend on gettext to
31707         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31708         performed.
31709         * modules/quotearg-simple: New file.
31710         * modules/quotearg-simple-tests: New file.
31711         * modules/quotearg (Depends-on): Add quotearg-simple.
31712         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
31713         (Files): Add tests/test-quotearg.h.
31714         Reported by Paolo Bonzini.
31715
31716 2010-06-03  Bruno Haible  <bruno@clisp.org>
31717
31718         Reduce dependencies.
31719         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
31720
31721 2010-06-03  Bruno Haible  <bruno@clisp.org>
31722
31723         time: Undefine more broken macros.
31724         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
31725         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
31726         Reported by Eric Blake.
31727
31728 2010-06-03  Bruno Haible  <bruno@clisp.org>
31729
31730         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
31731         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
31732         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
31733         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
31734         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
31735         Reported by Ludovic Courtès <ludo@gnu.org>.
31736
31737 2010-06-02  Eric Blake  <eblake@redhat.com>
31738
31739         time: work with mingw + pthreads-win32 library
31740         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
31741         if timespec is defined only in pthread.h.
31742         * modules/time (Makefile.am): Substitute it.
31743         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
31744         <pthread.h>, when needed.
31745         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
31746         from the library.
31747
31748 2010-05-31  Bruno Haible  <bruno@clisp.org>
31749
31750         Avoid expanding two macros in the wrong order.
31751         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
31752         gl_LIBUNISTRING if it is defined.
31753         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
31754         autoconf >= 2.64.
31755         Reported by Ludovic Courtès <ludo@gnu.org>.
31756
31757 2010-05-27  Jim Meyering  <meyering@redhat.com>
31758
31759         maint.mk: also prohibit "#undef" of always-defined symbols
31760         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
31761         Allow more than one space before the symbol name.
31762         (sc_prohibit_always-defined_macros): Use grep's -E, now that
31763         the regexp uses alternation.
31764
31765 2010-05-26  Eric Blake  <eblake@redhat.com>
31766
31767         maint.mk: avoid echo -e
31768         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
31769         Convert all uses of echo -* to printf.
31770         Reported by Matthias Bolte.
31771
31772 2010-05-25  Bruno Haible  <bruno@clisp.org>
31773
31774         Update to GNU gettext 0.18, part 2.
31775         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
31776         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
31777
31778 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31779
31780         Add missing include in test-pwrite.c.
31781         * tests/test-pwrite.c: Include string.h, for strcmp.
31782
31783 2010-05-24  Bruno Haible  <bruno@clisp.org>
31784
31785         * NEWS: Mention requirement for Automake option 'subdir-objects'.
31786
31787 2010-05-24  Bruno Haible  <bruno@clisp.org>
31788
31789         Don't use conversion with transliteration in u{8,16,32}_strcoll.
31790         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
31791         iconveh_error argument.
31792         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
31793         U_STRCONV_TO_LOCALE.
31794         * lib/unistr/u16-strcoll.c: Likewise.
31795         * lib/unistr/u32-strcoll.c: Likewise.
31796         * modules/unistr/u8-strcoll (Depends-on): Add
31797         uniconv/u8-strconv-to-enc, localcharset. Remove
31798         uniconv/u8-strconv-to-locale.
31799         (configure.ac): Bump version number.
31800         * modules/unistr/u16-strcoll (Depends-on): Add
31801         uniconv/u16-strconv-to-enc, localcharset. Remove
31802         uniconv/u16-strconv-to-locale.
31803         (configure.ac): Bump version number.
31804         * modules/unistr/u32-strcoll (Depends-on): Add
31805         uniconv/u32-strconv-to-enc, localcharset. Remove
31806         uniconv/u32-strconv-to-locale.
31807         (configure.ac): Bump version number.
31808
31809 2010-05-24  Bruno Haible  <bruno@clisp.org>
31810
31811         Avoid a test failure on NetBSD 5.0.
31812         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
31813         an iconv() bug.
31814
31815 2010-05-24  Bruno Haible  <bruno@clisp.org>
31816
31817         Adjust #include directive style.
31818         * modules/regex (Includes): Recommend to write <regex.h>.
31819
31820 2010-05-24  Bruno Haible  <bruno@clisp.org>
31821
31822         regex: Don't require alloca.
31823         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
31824         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
31825         only inside if (0).
31826
31827 2010-05-23  Jim Meyering  <meyering@redhat.com>
31828
31829         test-renameat.c: include <sys/stat.h>
31830         * tests/test-renameat.c: Include <sys/stat.h>; required for
31831         definition of S_IS* macros.
31832
31833 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
31834
31835         Update maintainer documentation for 'relocatable-prog' module.
31836         * doc/relocatable-maint.texi: Update.
31837         Comments by Bruno Haible.
31838
31839 2010-05-23  Bruno Haible  <bruno@clisp.org>
31840
31841         git-merge-changelog: Enable --split-merged-entry by default.
31842         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
31843         (usage): Don't mention this option any more.
31844         Reported by Ralf Wildenhues.
31845
31846 2010-05-23  Jim Meyering  <meyering@redhat.com>
31847
31848         test-pwrite: do not leave behind a test file named "out"
31849         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
31850         The trivial-looking use of init.sh is really necessary.
31851         It ensures that the temporary file, "out", is created in
31852         a temporary directory, and removed upon termination.
31853         * tests/test-pwrite.sh: Re-add file.
31854         * modules/pwrite-tests: Reference it.
31855
31856 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31857
31858         Fix output redirection buglet in init.sh.
31859         * tests/init.sh: Fix redirection of stderr.
31860
31861 2010-05-20  Simon Josefsson  <simon@josefsson.org>
31862
31863         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
31864
31865 2010-05-17  Simon Josefsson  <simon@josefsson.org>
31866
31867         * modules/valgrind-tests: New file.
31868         * m4/valgrind-tests.m4: New file.
31869         * doc/valgrind-tests.texi: New file.
31870         * doc/gnulib.texi (Running self-tests under valgrind): New
31871         section.
31872
31873 2010-05-19  Bruno Haible  <bruno@clisp.org>
31874
31875         Clean up dead code in recent commit.
31876         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31877         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31878         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31879         Suggested by Paolo Bonzini.
31880
31881 2010-05-19  Bruno Haible  <bruno@clisp.org>
31882
31883         Avoid valgrind error reports from libunistring.
31884         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
31885         * modules/libunistring (Files): Add it.
31886         * modules/libunistring-optional (Files): Likewise.
31887
31888 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
31889             Bruno Haible  <bruno@clisp.org>
31890
31891         New module 'libunistring-optional'.
31892         * modules/libunistring-optional: New file.
31893         * m4/libunistring-base.m4: New file.
31894         * m4/libunistring-optional.m4: New file.
31895         * lib/unicase.in.h: Renamed from lib/unicase.h.
31896         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
31897         * lib/unictype.in.h: Renamed from lib/unictype.h.
31898         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
31899         * lib/uniname.in.h: Renamed from lib/uniname.h.
31900         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
31901         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
31902         * lib/unistr.in.h: Renamed from lib/unistr.h.
31903         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
31904         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
31905         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
31906         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
31907         gl_LIBUNISTRING. If the library was found, determine the installed
31908         version and set LIBUNISTRING_VERSION.
31909         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
31910         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
31911         handle a configuration option --with-included-libunistring.
31912         * modules/libunistring (Files): Add m4/absolute-header.m4.
31913         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
31914         Add m4/libunistring-base.m4.
31915         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31916         (Makefile.am): Build unicase.h from unicase.in.h.
31917         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
31918         Add m4/libunistring-base.m4.
31919         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31920         (Makefile.am): Build uniconv.h from uniconv.in.h.
31921         * modules/unictype/base (Files): Use unictype.in.h instead of
31922         unictype.h. Add m4/libunistring-base.m4.
31923         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31924         (Makefile.am): Build unictype.h from unictype.in.h.
31925         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
31926         Add m4/libunistring-base.m4.
31927         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31928         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
31929         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
31930         Add m4/libunistring-base.m4.
31931         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31932         (Makefile.am): Build uniname.h from uniname.in.h.
31933         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
31934         Add m4/libunistring-base.m4.
31935         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31936         (Makefile.am): Build uninorm.h from uninorm.in.h.
31937         * modules/unistdio/base (Files): Use unistdio.in.h instead of
31938         unistdio.h. Add m4/libunistring-base.m4.
31939         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31940         (Makefile.am): Build unistdio.h from unistdio.in.h.
31941         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
31942         Add m4/libunistring-base.m4.
31943         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31944         (Makefile.am): Build unistr.h from unistr.in.h.
31945         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
31946         Add m4/libunistring-base.m4.
31947         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31948         (Makefile.am): Build unitypes.h from unitypes.in.h.
31949         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
31950         Add m4/libunistring-base.m4.
31951         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31952         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
31953         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
31954         uniwidth.h. Add m4/libunistring-base.m4.
31955         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31956         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
31957         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
31958         instead of augmenting lib_SOURCES.
31959         * modules/unicase/empty-suffix-context: Likewise.
31960         * modules/unicase/locale-language: Likewise.
31961         * modules/unicase/tolower: Likewise.
31962         * modules/unicase/totitle: Likewise.
31963         * modules/unicase/toupper: Likewise.
31964         * modules/unicase/u8-casecmp: Likewise.
31965         * modules/unicase/u8-casecoll: Likewise.
31966         * modules/unicase/u8-casefold: Likewise.
31967         * modules/unicase/u8-casexfrm: Likewise.
31968         * modules/unicase/u8-ct-casefold: Likewise.
31969         * modules/unicase/u8-ct-tolower: Likewise.
31970         * modules/unicase/u8-ct-totitle: Likewise.
31971         * modules/unicase/u8-ct-toupper: Likewise.
31972         * modules/unicase/u8-is-cased: Likewise.
31973         * modules/unicase/u8-is-casefolded: Likewise.
31974         * modules/unicase/u8-is-lowercase: Likewise.
31975         * modules/unicase/u8-is-titlecase: Likewise.
31976         * modules/unicase/u8-is-uppercase: Likewise.
31977         * modules/unicase/u8-prefix-context: Likewise.
31978         * modules/unicase/u8-suffix-context: Likewise.
31979         * modules/unicase/u8-tolower: Likewise.
31980         * modules/unicase/u8-totitle: Likewise.
31981         * modules/unicase/u8-toupper: Likewise.
31982         * modules/unicase/u16-casecmp: Likewise.
31983         * modules/unicase/u16-casecoll: Likewise.
31984         * modules/unicase/u16-casefold: Likewise.
31985         * modules/unicase/u16-casexfrm: Likewise.
31986         * modules/unicase/u16-ct-casefold: Likewise.
31987         * modules/unicase/u16-ct-tolower: Likewise.
31988         * modules/unicase/u16-ct-totitle: Likewise.
31989         * modules/unicase/u16-ct-toupper: Likewise.
31990         * modules/unicase/u16-is-cased: Likewise.
31991         * modules/unicase/u16-is-casefolded: Likewise.
31992         * modules/unicase/u16-is-lowercase: Likewise.
31993         * modules/unicase/u16-is-titlecase: Likewise.
31994         * modules/unicase/u16-is-uppercase: Likewise.
31995         * modules/unicase/u16-prefix-context: Likewise.
31996         * modules/unicase/u16-suffix-context: Likewise.
31997         * modules/unicase/u16-tolower: Likewise.
31998         * modules/unicase/u16-totitle: Likewise.
31999         * modules/unicase/u16-toupper: Likewise.
32000         * modules/unicase/u32-casecmp: Likewise.
32001         * modules/unicase/u32-casecoll: Likewise.
32002         * modules/unicase/u32-casefold: Likewise.
32003         * modules/unicase/u32-casexfrm: Likewise.
32004         * modules/unicase/u32-ct-casefold: Likewise.
32005         * modules/unicase/u32-ct-tolower: Likewise.
32006         * modules/unicase/u32-ct-totitle: Likewise.
32007         * modules/unicase/u32-ct-toupper: Likewise.
32008         * modules/unicase/u32-is-cased: Likewise.
32009         * modules/unicase/u32-is-casefolded: Likewise.
32010         * modules/unicase/u32-is-lowercase: Likewise.
32011         * modules/unicase/u32-is-titlecase: Likewise.
32012         * modules/unicase/u32-is-uppercase: Likewise.
32013         * modules/unicase/u32-prefix-context: Likewise.
32014         * modules/unicase/u32-suffix-context: Likewise.
32015         * modules/unicase/u32-tolower: Likewise.
32016         * modules/unicase/u32-totitle: Likewise.
32017         * modules/unicase/u32-toupper: Likewise.
32018         * modules/unicase/ulc-casecmp: Likewise.
32019         * modules/unicase/ulc-casecoll: Likewise.
32020         * modules/unicase/ulc-casexfrm: Likewise.
32021         * modules/uniconv/u8-conv-from-enc: Likewise.
32022         * modules/uniconv/u8-conv-to-enc: Likewise.
32023         * modules/uniconv/u8-strconv-from-enc: Likewise.
32024         * modules/uniconv/u8-strconv-from-locale: Likewise.
32025         * modules/uniconv/u8-strconv-to-enc: Likewise.
32026         * modules/uniconv/u8-strconv-to-locale: Likewise.
32027         * modules/uniconv/u16-conv-from-enc: Likewise.
32028         * modules/uniconv/u16-conv-to-enc: Likewise.
32029         * modules/uniconv/u16-strconv-from-enc: Likewise.
32030         * modules/uniconv/u16-strconv-from-locale: Likewise.
32031         * modules/uniconv/u16-strconv-to-enc: Likewise.
32032         * modules/uniconv/u16-strconv-to-locale: Likewise.
32033         * modules/uniconv/u32-conv-from-enc: Likewise.
32034         * modules/uniconv/u32-conv-to-enc: Likewise.
32035         * modules/uniconv/u32-strconv-from-enc: Likewise.
32036         * modules/uniconv/u32-strconv-from-locale: Likewise.
32037         * modules/uniconv/u32-strconv-to-enc: Likewise.
32038         * modules/uniconv/u32-strconv-to-locale: Likewise.
32039         * modules/unictype/bidicategory-byname: Likewise.
32040         * modules/unictype/bidicategory-name: Likewise.
32041         * modules/unictype/bidicategory-of: Likewise.
32042         * modules/unictype/bidicategory-test: Likewise.
32043         * modules/unictype/block-list: Likewise.
32044         * modules/unictype/block-test: Likewise.
32045         * modules/unictype/category-C: Likewise.
32046         * modules/unictype/category-Cc: Likewise.
32047         * modules/unictype/category-Cf: Likewise.
32048         * modules/unictype/category-Cn: Likewise.
32049         * modules/unictype/category-Co: Likewise.
32050         * modules/unictype/category-Cs: Likewise.
32051         * modules/unictype/category-L: Likewise.
32052         * modules/unictype/category-Ll: Likewise.
32053         * modules/unictype/category-Lm: Likewise.
32054         * modules/unictype/category-Lo: Likewise.
32055         * modules/unictype/category-Lt: Likewise.
32056         * modules/unictype/category-Lu: Likewise.
32057         * modules/unictype/category-M: Likewise.
32058         * modules/unictype/category-Mc: Likewise.
32059         * modules/unictype/category-Me: Likewise.
32060         * modules/unictype/category-Mn: Likewise.
32061         * modules/unictype/category-N: Likewise.
32062         * modules/unictype/category-Nd: Likewise.
32063         * modules/unictype/category-Nl: Likewise.
32064         * modules/unictype/category-No: Likewise.
32065         * modules/unictype/category-P: Likewise.
32066         * modules/unictype/category-Pc: Likewise.
32067         * modules/unictype/category-Pd: Likewise.
32068         * modules/unictype/category-Pe: Likewise.
32069         * modules/unictype/category-Pf: Likewise.
32070         * modules/unictype/category-Pi: Likewise.
32071         * modules/unictype/category-Po: Likewise.
32072         * modules/unictype/category-Ps: Likewise.
32073         * modules/unictype/category-S: Likewise.
32074         * modules/unictype/category-Sc: Likewise.
32075         * modules/unictype/category-Sk: Likewise.
32076         * modules/unictype/category-Sm: Likewise.
32077         * modules/unictype/category-So: Likewise.
32078         * modules/unictype/category-Z: Likewise.
32079         * modules/unictype/category-Zl: Likewise.
32080         * modules/unictype/category-Zp: Likewise.
32081         * modules/unictype/category-Zs: Likewise.
32082         * modules/unictype/category-and: Likewise.
32083         * modules/unictype/category-and-not: Likewise.
32084         * modules/unictype/category-byname: Likewise.
32085         * modules/unictype/category-name: Likewise.
32086         * modules/unictype/category-none: Likewise.
32087         * modules/unictype/category-of: Likewise.
32088         * modules/unictype/category-or: Likewise.
32089         * modules/unictype/category-test: Likewise.
32090         * modules/unictype/combining-class: Likewise.
32091         * modules/unictype/ctype-alnum: Likewise.
32092         * modules/unictype/ctype-alpha: Likewise.
32093         * modules/unictype/ctype-blank: Likewise.
32094         * modules/unictype/ctype-cntrl: Likewise.
32095         * modules/unictype/ctype-digit: Likewise.
32096         * modules/unictype/ctype-graph: Likewise.
32097         * modules/unictype/ctype-lower: Likewise.
32098         * modules/unictype/ctype-print: Likewise.
32099         * modules/unictype/ctype-punct: Likewise.
32100         * modules/unictype/ctype-space: Likewise.
32101         * modules/unictype/ctype-upper: Likewise.
32102         * modules/unictype/ctype-xdigit: Likewise.
32103         * modules/unictype/decimal-digit: Likewise.
32104         * modules/unictype/digit: Likewise.
32105         * modules/unictype/mirror: Likewise.
32106         * modules/unictype/numeric: Likewise.
32107         * modules/unictype/property-alphabetic: Likewise.
32108         * modules/unictype/property-ascii-hex-digit: Likewise.
32109         * modules/unictype/property-bidi-arabic-digit: Likewise.
32110         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32111         * modules/unictype/property-bidi-block-separator: Likewise.
32112         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32113         * modules/unictype/property-bidi-common-separator: Likewise.
32114         * modules/unictype/property-bidi-control: Likewise.
32115         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32116         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32117         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32118         * modules/unictype/property-bidi-european-digit: Likewise.
32119         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32120         * modules/unictype/property-bidi-left-to-right: Likewise.
32121         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32122         * modules/unictype/property-bidi-other-neutral: Likewise.
32123         * modules/unictype/property-bidi-pdf: Likewise.
32124         * modules/unictype/property-bidi-segment-separator: Likewise.
32125         * modules/unictype/property-bidi-whitespace: Likewise.
32126         * modules/unictype/property-byname: Likewise.
32127         * modules/unictype/property-combining: Likewise.
32128         * modules/unictype/property-composite: Likewise.
32129         * modules/unictype/property-currency-symbol: Likewise.
32130         * modules/unictype/property-dash: Likewise.
32131         * modules/unictype/property-decimal-digit: Likewise.
32132         * modules/unictype/property-default-ignorable-code-point: Likewise.
32133         * modules/unictype/property-deprecated: Likewise.
32134         * modules/unictype/property-diacritic: Likewise.
32135         * modules/unictype/property-extender: Likewise.
32136         * modules/unictype/property-format-control: Likewise.
32137         * modules/unictype/property-grapheme-base: Likewise.
32138         * modules/unictype/property-grapheme-extend: Likewise.
32139         * modules/unictype/property-grapheme-link: Likewise.
32140         * modules/unictype/property-hex-digit: Likewise.
32141         * modules/unictype/property-hyphen: Likewise.
32142         * modules/unictype/property-id-continue: Likewise.
32143         * modules/unictype/property-id-start: Likewise.
32144         * modules/unictype/property-ideographic: Likewise.
32145         * modules/unictype/property-ids-binary-operator: Likewise.
32146         * modules/unictype/property-ids-trinary-operator: Likewise.
32147         * modules/unictype/property-ignorable-control: Likewise.
32148         * modules/unictype/property-iso-control: Likewise.
32149         * modules/unictype/property-join-control: Likewise.
32150         * modules/unictype/property-left-of-pair: Likewise.
32151         * modules/unictype/property-line-separator: Likewise.
32152         * modules/unictype/property-logical-order-exception: Likewise.
32153         * modules/unictype/property-lowercase: Likewise.
32154         * modules/unictype/property-math: Likewise.
32155         * modules/unictype/property-non-break: Likewise.
32156         * modules/unictype/property-not-a-character: Likewise.
32157         * modules/unictype/property-numeric: Likewise.
32158         * modules/unictype/property-other-alphabetic: Likewise.
32159         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32160         * modules/unictype/property-other-grapheme-extend: Likewise.
32161         * modules/unictype/property-other-id-continue: Likewise.
32162         * modules/unictype/property-other-id-start: Likewise.
32163         * modules/unictype/property-other-lowercase: Likewise.
32164         * modules/unictype/property-other-math: Likewise.
32165         * modules/unictype/property-other-uppercase: Likewise.
32166         * modules/unictype/property-paired-punctuation: Likewise.
32167         * modules/unictype/property-paragraph-separator: Likewise.
32168         * modules/unictype/property-pattern-syntax: Likewise.
32169         * modules/unictype/property-pattern-white-space: Likewise.
32170         * modules/unictype/property-private-use: Likewise.
32171         * modules/unictype/property-punctuation: Likewise.
32172         * modules/unictype/property-quotation-mark: Likewise.
32173         * modules/unictype/property-radical: Likewise.
32174         * modules/unictype/property-sentence-terminal: Likewise.
32175         * modules/unictype/property-soft-dotted: Likewise.
32176         * modules/unictype/property-space: Likewise.
32177         * modules/unictype/property-terminal-punctuation: Likewise.
32178         * modules/unictype/property-test: Likewise.
32179         * modules/unictype/property-titlecase: Likewise.
32180         * modules/unictype/property-unassigned-code-value: Likewise.
32181         * modules/unictype/property-unified-ideograph: Likewise.
32182         * modules/unictype/property-uppercase: Likewise.
32183         * modules/unictype/property-variation-selector: Likewise.
32184         * modules/unictype/property-white-space: Likewise.
32185         * modules/unictype/property-xid-continue: Likewise.
32186         * modules/unictype/property-xid-start: Likewise.
32187         * modules/unictype/property-zero-width: Likewise.
32188         * modules/unictype/scripts: Likewise.
32189         * modules/unictype/syntax-c-ident: Likewise.
32190         * modules/unictype/syntax-c-whitespace: Likewise.
32191         * modules/unictype/syntax-java-ident: Likewise.
32192         * modules/unictype/syntax-java-whitespace: Likewise.
32193         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32194         * modules/unilbrk/u8-width-linebreaks: Likewise.
32195         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32196         * modules/unilbrk/u16-width-linebreaks: Likewise.
32197         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32198         * modules/unilbrk/u32-width-linebreaks: Likewise.
32199         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32200         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32201         * modules/uniname/uniname: Likewise.
32202         * modules/uninorm/canonical-decomposition: Likewise.
32203         * modules/uninorm/composition: Likewise.
32204         * modules/uninorm/decomposing-form: Likewise.
32205         * modules/uninorm/decomposition: Likewise.
32206         * modules/uninorm/filter: Likewise.
32207         * modules/uninorm/nfc: Likewise.
32208         * modules/uninorm/nfd: Likewise.
32209         * modules/uninorm/nfkc: Likewise.
32210         * modules/uninorm/nfkd: Likewise.
32211         * modules/uninorm/u8-normalize: Likewise.
32212         * modules/uninorm/u8-normcmp: Likewise.
32213         * modules/uninorm/u8-normcoll: Likewise.
32214         * modules/uninorm/u8-normxfrm: Likewise.
32215         * modules/uninorm/u16-normalize: Likewise.
32216         * modules/uninorm/u16-normcmp: Likewise.
32217         * modules/uninorm/u16-normcoll: Likewise.
32218         * modules/uninorm/u16-normxfrm: Likewise.
32219         * modules/uninorm/u32-normalize: Likewise.
32220         * modules/uninorm/u32-normcmp: Likewise.
32221         * modules/uninorm/u32-normcoll: Likewise.
32222         * modules/uninorm/u32-normxfrm: Likewise.
32223         * modules/unistdio/u8-asnprintf: Likewise.
32224         * modules/unistdio/u8-asprintf: Likewise.
32225         * modules/unistdio/u8-snprintf: Likewise.
32226         * modules/unistdio/u8-sprintf: Likewise.
32227         * modules/unistdio/u8-u8-asnprintf: Likewise.
32228         * modules/unistdio/u8-u8-asprintf: Likewise.
32229         * modules/unistdio/u8-u8-snprintf: Likewise.
32230         * modules/unistdio/u8-u8-sprintf: Likewise.
32231         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32232         * modules/unistdio/u8-u8-vasprintf: Likewise.
32233         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32234         * modules/unistdio/u8-u8-vsprintf: Likewise.
32235         * modules/unistdio/u8-vasnprintf: Likewise.
32236         * modules/unistdio/u8-vasprintf: Likewise.
32237         * modules/unistdio/u8-vsnprintf: Likewise.
32238         * modules/unistdio/u8-vsprintf: Likewise.
32239         * modules/unistdio/u16-asnprintf: Likewise.
32240         * modules/unistdio/u16-asprintf: Likewise.
32241         * modules/unistdio/u16-snprintf: Likewise.
32242         * modules/unistdio/u16-sprintf: Likewise.
32243         * modules/unistdio/u16-u16-asnprintf: Likewise.
32244         * modules/unistdio/u16-u16-asprintf: Likewise.
32245         * modules/unistdio/u16-u16-snprintf: Likewise.
32246         * modules/unistdio/u16-u16-sprintf: Likewise.
32247         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32248         * modules/unistdio/u16-u16-vasprintf: Likewise.
32249         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32250         * modules/unistdio/u16-u16-vsprintf: Likewise.
32251         * modules/unistdio/u16-vasnprintf: Likewise.
32252         * modules/unistdio/u16-vasprintf: Likewise.
32253         * modules/unistdio/u16-vsnprintf: Likewise.
32254         * modules/unistdio/u16-vsprintf: Likewise.
32255         * modules/unistdio/u32-asnprintf: Likewise.
32256         * modules/unistdio/u32-asprintf: Likewise.
32257         * modules/unistdio/u32-snprintf: Likewise.
32258         * modules/unistdio/u32-sprintf: Likewise.
32259         * modules/unistdio/u32-u32-asnprintf: Likewise.
32260         * modules/unistdio/u32-u32-asprintf: Likewise.
32261         * modules/unistdio/u32-u32-snprintf: Likewise.
32262         * modules/unistdio/u32-u32-sprintf: Likewise.
32263         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32264         * modules/unistdio/u32-u32-vasprintf: Likewise.
32265         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32266         * modules/unistdio/u32-u32-vsprintf: Likewise.
32267         * modules/unistdio/u32-vasnprintf: Likewise.
32268         * modules/unistdio/u32-vasprintf: Likewise.
32269         * modules/unistdio/u32-vsnprintf: Likewise.
32270         * modules/unistdio/u32-vsprintf: Likewise.
32271         * modules/unistdio/ulc-asnprintf: Likewise.
32272         * modules/unistdio/ulc-asprintf: Likewise.
32273         * modules/unistdio/ulc-fprintf: Likewise.
32274         * modules/unistdio/ulc-snprintf: Likewise.
32275         * modules/unistdio/ulc-sprintf: Likewise.
32276         * modules/unistdio/ulc-vasnprintf: Likewise.
32277         * modules/unistdio/ulc-vasprintf: Likewise.
32278         * modules/unistdio/ulc-vfprintf: Likewise.
32279         * modules/unistdio/ulc-vsnprintf: Likewise.
32280         * modules/unistdio/ulc-vsprintf: Likewise.
32281         * modules/unistr/u8-check: Likewise.
32282         * modules/unistr/u8-chr: Likewise.
32283         * modules/unistr/u8-cmp: Likewise.
32284         * modules/unistr/u8-cmp2: Likewise.
32285         * modules/unistr/u8-cpy: Likewise.
32286         * modules/unistr/u8-cpy-alloc: Likewise.
32287         * modules/unistr/u8-endswith: Likewise.
32288         * modules/unistr/u8-mblen: Likewise.
32289         * modules/unistr/u8-mbsnlen: Likewise.
32290         * modules/unistr/u8-mbtouc: Likewise.
32291         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32292         * modules/unistr/u8-mbtoucr: Likewise.
32293         * modules/unistr/u8-move: Likewise.
32294         * modules/unistr/u8-next: Likewise.
32295         * modules/unistr/u8-prev: Likewise.
32296         * modules/unistr/u8-set: Likewise.
32297         * modules/unistr/u8-startswith: Likewise.
32298         * modules/unistr/u8-stpcpy: Likewise.
32299         * modules/unistr/u8-stpncpy: Likewise.
32300         * modules/unistr/u8-strcat: Likewise.
32301         * modules/unistr/u8-strchr: Likewise.
32302         * modules/unistr/u8-strcmp: Likewise.
32303         * modules/unistr/u8-strcoll: Likewise.
32304         * modules/unistr/u8-strcpy: Likewise.
32305         * modules/unistr/u8-strcspn: Likewise.
32306         * modules/unistr/u8-strdup: Likewise.
32307         * modules/unistr/u8-strlen: Likewise.
32308         * modules/unistr/u8-strmblen: Likewise.
32309         * modules/unistr/u8-strmbtouc: Likewise.
32310         * modules/unistr/u8-strncat: Likewise.
32311         * modules/unistr/u8-strncmp: Likewise.
32312         * modules/unistr/u8-strncpy: Likewise.
32313         * modules/unistr/u8-strnlen: Likewise.
32314         * modules/unistr/u8-strpbrk: Likewise.
32315         * modules/unistr/u8-strrchr: Likewise.
32316         * modules/unistr/u8-strspn: Likewise.
32317         * modules/unistr/u8-strstr: Likewise.
32318         * modules/unistr/u8-strtok: Likewise.
32319         * modules/unistr/u8-to-u16: Likewise.
32320         * modules/unistr/u8-to-u32: Likewise.
32321         * modules/unistr/u8-uctomb: Likewise.
32322         * modules/unistr/u16-check: Likewise.
32323         * modules/unistr/u16-chr: Likewise.
32324         * modules/unistr/u16-cmp: Likewise.
32325         * modules/unistr/u16-cmp2: Likewise.
32326         * modules/unistr/u16-cpy: Likewise.
32327         * modules/unistr/u16-cpy-alloc: Likewise.
32328         * modules/unistr/u16-endswith: Likewise.
32329         * modules/unistr/u16-mblen: Likewise.
32330         * modules/unistr/u16-mbsnlen: Likewise.
32331         * modules/unistr/u16-mbtouc: Likewise.
32332         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32333         * modules/unistr/u16-mbtoucr: Likewise.
32334         * modules/unistr/u16-move: Likewise.
32335         * modules/unistr/u16-next: Likewise.
32336         * modules/unistr/u16-prev: Likewise.
32337         * modules/unistr/u16-set: Likewise.
32338         * modules/unistr/u16-startswith: Likewise.
32339         * modules/unistr/u16-stpcpy: Likewise.
32340         * modules/unistr/u16-stpncpy: Likewise.
32341         * modules/unistr/u16-strcat: Likewise.
32342         * modules/unistr/u16-strchr: Likewise.
32343         * modules/unistr/u16-strcmp: Likewise.
32344         * modules/unistr/u16-strcoll: Likewise.
32345         * modules/unistr/u16-strcpy: Likewise.
32346         * modules/unistr/u16-strcspn: Likewise.
32347         * modules/unistr/u16-strdup: Likewise.
32348         * modules/unistr/u16-strlen: Likewise.
32349         * modules/unistr/u16-strmblen: Likewise.
32350         * modules/unistr/u16-strmbtouc: Likewise.
32351         * modules/unistr/u16-strncat: Likewise.
32352         * modules/unistr/u16-strncmp: Likewise.
32353         * modules/unistr/u16-strncpy: Likewise.
32354         * modules/unistr/u16-strnlen: Likewise.
32355         * modules/unistr/u16-strpbrk: Likewise.
32356         * modules/unistr/u16-strrchr: Likewise.
32357         * modules/unistr/u16-strspn: Likewise.
32358         * modules/unistr/u16-strstr: Likewise.
32359         * modules/unistr/u16-strtok: Likewise.
32360         * modules/unistr/u16-to-u32: Likewise.
32361         * modules/unistr/u16-to-u8: Likewise.
32362         * modules/unistr/u16-uctomb: Likewise.
32363         * modules/unistr/u32-check: Likewise.
32364         * modules/unistr/u32-chr: Likewise.
32365         * modules/unistr/u32-cmp: Likewise.
32366         * modules/unistr/u32-cmp2: Likewise.
32367         * modules/unistr/u32-cpy: Likewise.
32368         * modules/unistr/u32-cpy-alloc: Likewise.
32369         * modules/unistr/u32-endswith: Likewise.
32370         * modules/unistr/u32-mblen: Likewise.
32371         * modules/unistr/u32-mbsnlen: Likewise.
32372         * modules/unistr/u32-mbtouc: Likewise.
32373         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32374         * modules/unistr/u32-mbtoucr: Likewise.
32375         * modules/unistr/u32-move: Likewise.
32376         * modules/unistr/u32-next: Likewise.
32377         * modules/unistr/u32-prev: Likewise.
32378         * modules/unistr/u32-set: Likewise.
32379         * modules/unistr/u32-startswith: Likewise.
32380         * modules/unistr/u32-stpcpy: Likewise.
32381         * modules/unistr/u32-stpncpy: Likewise.
32382         * modules/unistr/u32-strcat: Likewise.
32383         * modules/unistr/u32-strchr: Likewise.
32384         * modules/unistr/u32-strcmp: Likewise.
32385         * modules/unistr/u32-strcoll: Likewise.
32386         * modules/unistr/u32-strcpy: Likewise.
32387         * modules/unistr/u32-strcspn: Likewise.
32388         * modules/unistr/u32-strdup: Likewise.
32389         * modules/unistr/u32-strlen: Likewise.
32390         * modules/unistr/u32-strmblen: Likewise.
32391         * modules/unistr/u32-strmbtouc: Likewise.
32392         * modules/unistr/u32-strncat: Likewise.
32393         * modules/unistr/u32-strncmp: Likewise.
32394         * modules/unistr/u32-strncpy: Likewise.
32395         * modules/unistr/u32-strnlen: Likewise.
32396         * modules/unistr/u32-strpbrk: Likewise.
32397         * modules/unistr/u32-strrchr: Likewise.
32398         * modules/unistr/u32-strspn: Likewise.
32399         * modules/unistr/u32-strstr: Likewise.
32400         * modules/unistr/u32-strtok: Likewise.
32401         * modules/unistr/u32-to-u16: Likewise.
32402         * modules/unistr/u32-to-u8: Likewise.
32403         * modules/unistr/u32-uctomb: Likewise.
32404         * modules/uniwbrk/u8-wordbreaks: Likewise.
32405         * modules/uniwbrk/u16-wordbreaks: Likewise.
32406         * modules/uniwbrk/u32-wordbreaks: Likewise.
32407         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32408         * modules/uniwbrk/wordbreak-property: Likewise.
32409         * modules/uniwidth/u8-strwidth: Likewise.
32410         * modules/uniwidth/u8-width: Likewise.
32411         * modules/uniwidth/u16-strwidth: Likewise.
32412         * modules/uniwidth/u16-width: Likewise.
32413         * modules/uniwidth/u32-strwidth: Likewise.
32414         * modules/uniwidth/u32-width: Likewise.
32415         * modules/uniwidth/width: Likewise.
32416         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32417         with $(LIBUNISTRING).
32418         * modules/unicase/ignorable-tests: Likewise.
32419         * modules/unicase/locale-language-tests: Likewise.
32420         * modules/unicase/tolower-tests: Likewise.
32421         * modules/unicase/totitle-tests: Likewise.
32422         * modules/unicase/toupper-tests: Likewise.
32423         * modules/unicase/u8-casecmp-tests: Likewise.
32424         * modules/unicase/u8-casecoll-tests: Likewise.
32425         * modules/unicase/u8-casefold-tests: Likewise.
32426         * modules/unicase/u8-is-cased-tests: Likewise.
32427         * modules/unicase/u8-is-casefolded-tests: Likewise.
32428         * modules/unicase/u8-is-lowercase-tests: Likewise.
32429         * modules/unicase/u8-is-titlecase-tests: Likewise.
32430         * modules/unicase/u8-is-uppercase-tests: Likewise.
32431         * modules/unicase/u8-tolower-tests: Likewise.
32432         * modules/unicase/u8-totitle-tests: Likewise.
32433         * modules/unicase/u8-toupper-tests: Likewise.
32434         * modules/unicase/u16-casecmp-tests: Likewise.
32435         * modules/unicase/u16-casecoll-tests: Likewise.
32436         * modules/unicase/u16-casefold-tests: Likewise.
32437         * modules/unicase/u16-is-cased-tests: Likewise.
32438         * modules/unicase/u16-is-casefolded-tests: Likewise.
32439         * modules/unicase/u16-is-lowercase-tests: Likewise.
32440         * modules/unicase/u16-is-titlecase-tests: Likewise.
32441         * modules/unicase/u16-is-uppercase-tests: Likewise.
32442         * modules/unicase/u16-tolower-tests: Likewise.
32443         * modules/unicase/u16-totitle-tests: Likewise.
32444         * modules/unicase/u16-toupper-tests: Likewise.
32445         * modules/unicase/u32-casecmp-tests: Likewise.
32446         * modules/unicase/u32-casecoll-tests: Likewise.
32447         * modules/unicase/u32-casefold-tests: Likewise.
32448         * modules/unicase/u32-is-cased-tests: Likewise.
32449         * modules/unicase/u32-is-casefolded-tests: Likewise.
32450         * modules/unicase/u32-is-lowercase-tests: Likewise.
32451         * modules/unicase/u32-is-titlecase-tests: Likewise.
32452         * modules/unicase/u32-is-uppercase-tests: Likewise.
32453         * modules/unicase/u32-tolower-tests: Likewise.
32454         * modules/unicase/u32-totitle-tests: Likewise.
32455         * modules/unicase/u32-toupper-tests: Likewise.
32456         * modules/unicase/ulc-casecmp-tests: Likewise.
32457         * modules/unicase/ulc-casecoll-tests: Likewise.
32458         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32459         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32460         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32461         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32462         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32463         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32464         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32465         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32466         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32467         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32468         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32469         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32470         * modules/unictype/bidicategory-byname-tests: Likewise.
32471         * modules/unictype/bidicategory-name-tests: Likewise.
32472         * modules/unictype/bidicategory-of-tests: Likewise.
32473         * modules/unictype/bidicategory-test-tests: Likewise.
32474         * modules/unictype/block-list-tests: Likewise.
32475         * modules/unictype/block-of-tests: Likewise.
32476         * modules/unictype/block-test-tests: Likewise.
32477         * modules/unictype/category-C-tests: Likewise.
32478         * modules/unictype/category-Cc-tests: Likewise.
32479         * modules/unictype/category-Cf-tests: Likewise.
32480         * modules/unictype/category-Cn-tests: Likewise.
32481         * modules/unictype/category-Co-tests: Likewise.
32482         * modules/unictype/category-Cs-tests: Likewise.
32483         * modules/unictype/category-L-tests: Likewise.
32484         * modules/unictype/category-Ll-tests: Likewise.
32485         * modules/unictype/category-Lm-tests: Likewise.
32486         * modules/unictype/category-Lo-tests: Likewise.
32487         * modules/unictype/category-Lt-tests: Likewise.
32488         * modules/unictype/category-Lu-tests: Likewise.
32489         * modules/unictype/category-M-tests: Likewise.
32490         * modules/unictype/category-Mc-tests: Likewise.
32491         * modules/unictype/category-Me-tests: Likewise.
32492         * modules/unictype/category-Mn-tests: Likewise.
32493         * modules/unictype/category-N-tests: Likewise.
32494         * modules/unictype/category-Nd-tests: Likewise.
32495         * modules/unictype/category-Nl-tests: Likewise.
32496         * modules/unictype/category-No-tests: Likewise.
32497         * modules/unictype/category-P-tests: Likewise.
32498         * modules/unictype/category-Pc-tests: Likewise.
32499         * modules/unictype/category-Pd-tests: Likewise.
32500         * modules/unictype/category-Pe-tests: Likewise.
32501         * modules/unictype/category-Pf-tests: Likewise.
32502         * modules/unictype/category-Pi-tests: Likewise.
32503         * modules/unictype/category-Po-tests: Likewise.
32504         * modules/unictype/category-Ps-tests: Likewise.
32505         * modules/unictype/category-S-tests: Likewise.
32506         * modules/unictype/category-Sc-tests: Likewise.
32507         * modules/unictype/category-Sk-tests: Likewise.
32508         * modules/unictype/category-Sm-tests: Likewise.
32509         * modules/unictype/category-So-tests: Likewise.
32510         * modules/unictype/category-Z-tests: Likewise.
32511         * modules/unictype/category-Zl-tests: Likewise.
32512         * modules/unictype/category-Zp-tests: Likewise.
32513         * modules/unictype/category-Zs-tests: Likewise.
32514         * modules/unictype/category-and-not-tests: Likewise.
32515         * modules/unictype/category-and-tests: Likewise.
32516         * modules/unictype/category-byname-tests: Likewise.
32517         * modules/unictype/category-name-tests: Likewise.
32518         * modules/unictype/category-none-tests: Likewise.
32519         * modules/unictype/category-of-tests: Likewise.
32520         * modules/unictype/category-or-tests: Likewise.
32521         * modules/unictype/category-test-withtable-tests: Likewise.
32522         * modules/unictype/combining-class-tests: Likewise.
32523         * modules/unictype/ctype-alnum-tests: Likewise.
32524         * modules/unictype/ctype-alpha-tests: Likewise.
32525         * modules/unictype/ctype-blank-tests: Likewise.
32526         * modules/unictype/ctype-cntrl-tests: Likewise.
32527         * modules/unictype/ctype-digit-tests: Likewise.
32528         * modules/unictype/ctype-graph-tests: Likewise.
32529         * modules/unictype/ctype-lower-tests: Likewise.
32530         * modules/unictype/ctype-print-tests: Likewise.
32531         * modules/unictype/ctype-punct-tests: Likewise.
32532         * modules/unictype/ctype-space-tests: Likewise.
32533         * modules/unictype/ctype-upper-tests: Likewise.
32534         * modules/unictype/ctype-xdigit-tests: Likewise.
32535         * modules/unictype/decimal-digit-tests: Likewise.
32536         * modules/unictype/digit-tests: Likewise.
32537         * modules/unictype/mirror-tests: Likewise.
32538         * modules/unictype/numeric-tests: Likewise.
32539         * modules/unictype/property-alphabetic-tests: Likewise.
32540         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32541         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32542         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32543         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32544         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32545         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32546         * modules/unictype/property-bidi-control-tests: Likewise.
32547         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32548         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32549         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32550         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32551         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32552         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32553         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32554         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32555         * modules/unictype/property-bidi-pdf-tests: Likewise.
32556         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32557         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32558         * modules/unictype/property-byname-tests: Likewise.
32559         * modules/unictype/property-combining-tests: Likewise.
32560         * modules/unictype/property-composite-tests: Likewise.
32561         * modules/unictype/property-currency-symbol-tests: Likewise.
32562         * modules/unictype/property-dash-tests: Likewise.
32563         * modules/unictype/property-decimal-digit-tests: Likewise.
32564         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32565         * modules/unictype/property-deprecated-tests: Likewise.
32566         * modules/unictype/property-diacritic-tests: Likewise.
32567         * modules/unictype/property-extender-tests: Likewise.
32568         * modules/unictype/property-format-control-tests: Likewise.
32569         * modules/unictype/property-grapheme-base-tests: Likewise.
32570         * modules/unictype/property-grapheme-extend-tests: Likewise.
32571         * modules/unictype/property-grapheme-link-tests: Likewise.
32572         * modules/unictype/property-hex-digit-tests: Likewise.
32573         * modules/unictype/property-hyphen-tests: Likewise.
32574         * modules/unictype/property-id-continue-tests: Likewise.
32575         * modules/unictype/property-id-start-tests: Likewise.
32576         * modules/unictype/property-ideographic-tests: Likewise.
32577         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32578         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32579         * modules/unictype/property-ignorable-control-tests: Likewise.
32580         * modules/unictype/property-iso-control-tests: Likewise.
32581         * modules/unictype/property-join-control-tests: Likewise.
32582         * modules/unictype/property-left-of-pair-tests: Likewise.
32583         * modules/unictype/property-line-separator-tests: Likewise.
32584         * modules/unictype/property-logical-order-exception-tests: Likewise.
32585         * modules/unictype/property-lowercase-tests: Likewise.
32586         * modules/unictype/property-math-tests: Likewise.
32587         * modules/unictype/property-non-break-tests: Likewise.
32588         * modules/unictype/property-not-a-character-tests: Likewise.
32589         * modules/unictype/property-numeric-tests: Likewise.
32590         * modules/unictype/property-other-alphabetic-tests: Likewise.
32591         * modules/unictype/property-other-default-ignorable-code-point-tests:
32592         Likewise.
32593         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32594         * modules/unictype/property-other-id-continue-tests: Likewise.
32595         * modules/unictype/property-other-id-start-tests: Likewise.
32596         * modules/unictype/property-other-lowercase-tests: Likewise.
32597         * modules/unictype/property-other-math-tests: Likewise.
32598         * modules/unictype/property-other-uppercase-tests: Likewise.
32599         * modules/unictype/property-paired-punctuation-tests: Likewise.
32600         * modules/unictype/property-paragraph-separator-tests: Likewise.
32601         * modules/unictype/property-pattern-syntax-tests: Likewise.
32602         * modules/unictype/property-pattern-white-space-tests: Likewise.
32603         * modules/unictype/property-private-use-tests: Likewise.
32604         * modules/unictype/property-punctuation-tests: Likewise.
32605         * modules/unictype/property-quotation-mark-tests: Likewise.
32606         * modules/unictype/property-radical-tests: Likewise.
32607         * modules/unictype/property-sentence-terminal-tests: Likewise.
32608         * modules/unictype/property-soft-dotted-tests: Likewise.
32609         * modules/unictype/property-space-tests: Likewise.
32610         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32611         * modules/unictype/property-test-tests: Likewise.
32612         * modules/unictype/property-titlecase-tests: Likewise.
32613         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32614         * modules/unictype/property-unified-ideograph-tests: Likewise.
32615         * modules/unictype/property-uppercase-tests: Likewise.
32616         * modules/unictype/property-variation-selector-tests: Likewise.
32617         * modules/unictype/property-white-space-tests: Likewise.
32618         * modules/unictype/property-xid-continue-tests: Likewise.
32619         * modules/unictype/property-xid-start-tests: Likewise.
32620         * modules/unictype/property-zero-width-tests: Likewise.
32621         * modules/unictype/scripts-tests: Likewise.
32622         * modules/unictype/syntax-c-ident-tests: Likewise.
32623         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32624         * modules/unictype/syntax-java-ident-tests: Likewise.
32625         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32626         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32627         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32628         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32629         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32630         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32631         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32632         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32633         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32634         * modules/uniname/uniname-tests: Likewise.
32635         * modules/uninorm/canonical-decomposition-tests: Likewise.
32636         * modules/uninorm/compat-decomposition-tests: Likewise.
32637         * modules/uninorm/composition-tests: Likewise.
32638         * modules/uninorm/decomposing-form-tests: Likewise.
32639         * modules/uninorm/decomposition-tests: Likewise.
32640         * modules/uninorm/filter-tests: Likewise.
32641         * modules/uninorm/nfc-tests: Likewise.
32642         * modules/uninorm/nfd-tests: Likewise.
32643         * modules/uninorm/nfkc-tests: Likewise.
32644         * modules/uninorm/nfkd-tests: Likewise.
32645         * modules/uninorm/u8-normcmp-tests: Likewise.
32646         * modules/uninorm/u8-normcoll-tests: Likewise.
32647         * modules/uninorm/u16-normcmp-tests: Likewise.
32648         * modules/uninorm/u16-normcoll-tests: Likewise.
32649         * modules/uninorm/u32-normcmp-tests: Likewise.
32650         * modules/uninorm/u32-normcoll-tests: Likewise.
32651         * modules/unistdio/u8-asnprintf-tests: Likewise.
32652         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32653         * modules/unistdio/u8-vasprintf-tests: Likewise.
32654         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32655         * modules/unistdio/u8-vsprintf-tests: Likewise.
32656         * modules/unistdio/u16-asnprintf-tests: Likewise.
32657         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32658         * modules/unistdio/u16-vasprintf-tests: Likewise.
32659         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32660         * modules/unistdio/u16-vsprintf-tests: Likewise.
32661         * modules/unistdio/u32-asnprintf-tests: Likewise.
32662         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32663         * modules/unistdio/u32-vasprintf-tests: Likewise.
32664         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32665         * modules/unistdio/u32-vsprintf-tests: Likewise.
32666         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32667         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32668         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32669         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32670         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32671         * modules/unistr/u8-check-tests: Likewise.
32672         * modules/unistr/u8-chr-tests: Likewise.
32673         * modules/unistr/u8-cmp-tests: Likewise.
32674         * modules/unistr/u8-cmp2-tests: Likewise.
32675         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32676         * modules/unistr/u8-cpy-tests: Likewise.
32677         * modules/unistr/u8-mblen-tests: Likewise.
32678         * modules/unistr/u8-mbsnlen-tests: Likewise.
32679         * modules/unistr/u8-mbtouc-tests: Likewise.
32680         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32681         * modules/unistr/u8-mbtoucr-tests: Likewise.
32682         * modules/unistr/u8-move-tests: Likewise.
32683         * modules/unistr/u8-next-tests: Likewise.
32684         * modules/unistr/u8-prev-tests: Likewise.
32685         * modules/unistr/u8-set-tests: Likewise.
32686         * modules/unistr/u8-stpcpy-tests: Likewise.
32687         * modules/unistr/u8-stpncpy-tests: Likewise.
32688         * modules/unistr/u8-strcat-tests: Likewise.
32689         * modules/unistr/u8-strcmp-tests: Likewise.
32690         * modules/unistr/u8-strcoll-tests: Likewise.
32691         * modules/unistr/u8-strcpy-tests: Likewise.
32692         * modules/unistr/u8-strdup-tests: Likewise.
32693         * modules/unistr/u8-strlen-tests: Likewise.
32694         * modules/unistr/u8-strmblen-tests: Likewise.
32695         * modules/unistr/u8-strmbtouc-tests: Likewise.
32696         * modules/unistr/u8-strncat-tests: Likewise.
32697         * modules/unistr/u8-strncmp-tests: Likewise.
32698         * modules/unistr/u8-strncpy-tests: Likewise.
32699         * modules/unistr/u8-strnlen-tests: Likewise.
32700         * modules/unistr/u8-to-u16-tests: Likewise.
32701         * modules/unistr/u8-to-u32-tests: Likewise.
32702         * modules/unistr/u8-uctomb-tests: Likewise.
32703         * modules/unistr/u16-check-tests: Likewise.
32704         * modules/unistr/u16-chr-tests: Likewise.
32705         * modules/unistr/u16-cmp-tests: Likewise.
32706         * modules/unistr/u16-cmp2-tests: Likewise.
32707         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32708         * modules/unistr/u16-cpy-tests: Likewise.
32709         * modules/unistr/u16-mblen-tests: Likewise.
32710         * modules/unistr/u16-mbsnlen-tests: Likewise.
32711         * modules/unistr/u16-mbtouc-tests: Likewise.
32712         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
32713         * modules/unistr/u16-mbtoucr-tests: Likewise.
32714         * modules/unistr/u16-move-tests: Likewise.
32715         * modules/unistr/u16-next-tests: Likewise.
32716         * modules/unistr/u16-prev-tests: Likewise.
32717         * modules/unistr/u16-set-tests: Likewise.
32718         * modules/unistr/u16-stpcpy-tests: Likewise.
32719         * modules/unistr/u16-stpncpy-tests: Likewise.
32720         * modules/unistr/u16-strcat-tests: Likewise.
32721         * modules/unistr/u16-strcmp-tests: Likewise.
32722         * modules/unistr/u16-strcoll-tests: Likewise.
32723         * modules/unistr/u16-strcpy-tests: Likewise.
32724         * modules/unistr/u16-strdup-tests: Likewise.
32725         * modules/unistr/u16-strlen-tests: Likewise.
32726         * modules/unistr/u16-strmblen-tests: Likewise.
32727         * modules/unistr/u16-strmbtouc-tests: Likewise.
32728         * modules/unistr/u16-strncat-tests: Likewise.
32729         * modules/unistr/u16-strncmp-tests: Likewise.
32730         * modules/unistr/u16-strncpy-tests: Likewise.
32731         * modules/unistr/u16-strnlen-tests: Likewise.
32732         * modules/unistr/u16-to-u32-tests: Likewise.
32733         * modules/unistr/u16-to-u8-tests: Likewise.
32734         * modules/unistr/u16-uctomb-tests: Likewise.
32735         * modules/unistr/u32-check-tests: Likewise.
32736         * modules/unistr/u32-chr-tests: Likewise.
32737         * modules/unistr/u32-cmp-tests: Likewise.
32738         * modules/unistr/u32-cmp2-tests: Likewise.
32739         * modules/unistr/u32-cpy-alloc-tests: Likewise.
32740         * modules/unistr/u32-cpy-tests: Likewise.
32741         * modules/unistr/u32-mblen-tests: Likewise.
32742         * modules/unistr/u32-mbsnlen-tests: Likewise.
32743         * modules/unistr/u32-mbtouc-tests: Likewise.
32744         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
32745         * modules/unistr/u32-mbtoucr-tests: Likewise.
32746         * modules/unistr/u32-move-tests: Likewise.
32747         * modules/unistr/u32-next-tests: Likewise.
32748         * modules/unistr/u32-prev-tests: Likewise.
32749         * modules/unistr/u32-set-tests: Likewise.
32750         * modules/unistr/u32-stpcpy-tests: Likewise.
32751         * modules/unistr/u32-stpncpy-tests: Likewise.
32752         * modules/unistr/u32-strcat-tests: Likewise.
32753         * modules/unistr/u32-strcmp-tests: Likewise.
32754         * modules/unistr/u32-strcoll-tests: Likewise.
32755         * modules/unistr/u32-strcpy-tests: Likewise.
32756         * modules/unistr/u32-strdup-tests: Likewise.
32757         * modules/unistr/u32-strlen-tests: Likewise.
32758         * modules/unistr/u32-strmblen-tests: Likewise.
32759         * modules/unistr/u32-strmbtouc-tests: Likewise.
32760         * modules/unistr/u32-strncat-tests: Likewise.
32761         * modules/unistr/u32-strncmp-tests: Likewise.
32762         * modules/unistr/u32-strncpy-tests: Likewise.
32763         * modules/unistr/u32-strnlen-tests: Likewise.
32764         * modules/unistr/u32-to-u16-tests: Likewise.
32765         * modules/unistr/u32-to-u8-tests: Likewise.
32766         * modules/unistr/u32-uctomb-tests: Likewise.
32767         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
32768         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
32769         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
32770         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
32771         * modules/uniwidth/u8-strwidth-tests: Likewise.
32772         * modules/uniwidth/u8-width-tests: Likewise.
32773         * modules/uniwidth/u16-strwidth-tests: Likewise.
32774         * modules/uniwidth/u16-width-tests: Likewise.
32775         * modules/uniwidth/u32-strwidth-tests: Likewise.
32776         * modules/uniwidth/u32-width-tests: Likewise.
32777         * modules/uniwidth/width-tests: Likewise.
32778
32779 2010-05-18  Richard Jones  <rjones@redhat.com>
32780
32781         doc: users.txt: list hivex
32782         * users.txt: Add hivex.
32783
32784 2010-05-18  Richard Jones  <rjones@redhat.com>
32785
32786         doc: users.txt: list febootstrap
32787         * users.txt: Add febootstrap.
32788
32789 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
32790
32791         bootstrap: fix an error when gnulib is not used as a git submodule
32792         * build-aux/bootstrap (gnulib_path): If its length is zero then
32793         assign "gnulib" to it.
32794         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
32795
32796 2010-05-16  Bruno Haible  <bruno@clisp.org>
32797
32798         Avoid autoconf warnings about AM_ICONV.
32799         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
32800         2.64.
32801
32802 2010-05-16  Bruno Haible  <bruno@clisp.org>
32803
32804         absolute-header: Make the macro usable in more situations.
32805         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
32806         from gl_ABSOLUTE_HEADER.
32807         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
32808
32809 2010-05-16  James Youngman  <jay@gnu.org>
32810
32811         doc: update users.txt
32812         * users.txt: Add CSSC.
32813
32814 2010-05-16  Jim Meyering  <meyering@redhat.com>
32815
32816         init.sh: fix an error in the previous change; add more comments
32817         * tests/init.sh: Compare exit code in loop against 9, not 2.
32818         Patch by Bruno Haible.
32819         Make the two tests more similar by adding an empty "then" clause.
32820         Add comments.
32821
32822         init.sh: avoid unnecessary shell re-exec
32823         * tests/init.sh: Improve the re-exec-required check to first test the
32824         current shell.  If it passes the test, do not search for a shell that
32825         does pass, and do not re-exec.  This test is particularly contorted to
32826         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
32827         of $(...) evokes a syntax error and causes immediate shell exit with
32828         status 2.  Bruno Haible reported that the re-exec made it impossible
32829         to single-step through any init.sh-using script.
32830
32831 2010-05-16  Bruno Haible  <bruno@clisp.org>
32832
32833         Fix collision between gnulib's and libintl's printf replacements.
32834         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
32835         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
32836         (printf): When using GNU C, map the __printf__ function to rpl_printf
32837         via __asm__. When not using GNU C, define rpl_printf instead of
32838         __printf__.
32839         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
32840         commit.
32841         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
32842         commit.
32843         * m4/asm-underscore.m4: New file.
32844         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32845         * modules/stdio (Files): Add m4/asm-underscore.m4.
32846         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
32847         Reported by Ben Pfaff.
32848
32849 2010-05-16  Bruno Haible  <bruno@clisp.org>
32850
32851         verify: Avoid skipping the test on openSUSE 11.0.
32852         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
32853
32854 2010-05-13  Bruno Haible  <bruno@clisp.org>
32855
32856         Avoid useless warnings from G++.
32857         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
32858         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
32859         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32860
32861 2010-05-11  Jim Meyering  <meyering@redhat.com>
32862
32863         maint.mk: tweak preceding change
32864         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
32865         regexps tighter by anchoring at EOL, and make the new group "shy"
32866         for slightly decreased overhead.
32867
32868 2010-05-11  Eric Blake  <eblake@redhat.com>
32869
32870         maint.mk: gnulib doesn't guarantee NSIG
32871         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
32872
32873 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32874
32875         test-pwrite.c: Remove unused variable declaration.
32876         * tests/test-pwrite.c (main): Remove read_buf declaration.
32877
32878         Remove useless test-pwrite.sh file.
32879         * tests/test-pwrite.sh: Delete file.
32880         * modules/pwrite-tests: Remove references.
32881         Reported by Bruno Haible.
32882
32883 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32884
32885         init.sh: fix a typo
32886         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
32887
32888 2010-05-10  Jim Meyering  <meyering@redhat.com>
32889
32890         maint.mk: avoid using a temporary file in the always-defined-macros check
32891         * top/maint.mk (.re-defmac): Remove rule.
32892         (gl_trap_): Remove definition.
32893         (sc_prohibit_always-defined_macros): Rewrite not to create and
32894         depend on a temporary file.  Instead, depend on GNU grep's ability
32895         to read a list of regular expressions from stdin when given "-f -".
32896
32897 2010-05-09  Bruno Haible  <bruno@clisp.org>
32898
32899         Update to GNU gettext 0.18, part 1.
32900         * m4/gettext.m4: Update to GNU gettext 0.18.
32901         * m4/intl.m4: Likewise.
32902         * m4/po.m4: Likewise.
32903         * modules/gettext (Files): Add m4/fcntl-o.m4.
32904         (configure.ac): Require gettext infrastructure from version 0.18.
32905
32906 2010-05-09  Jim Meyering  <meyering@redhat.com>
32907
32908         init.sh: enable MALLOC_PERTURB_
32909         * tests/init.sh: Enable glibc's malloc-perturbing option.
32910
32911         maint.mk: improve sc_cross_check_PATH_usage_in_tests
32912         With my recent change in init.sh from the two-line form:
32913             -#   : ${srcdir=.}
32914             -#   . "$srcdir/init.sh"; path_prepend_ .
32915             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
32916         I noticed that using the one-line form would cause this test
32917         to fail with a false-positive, or to stop working altogether,
32918         depending on whether help-version changed or all the tests did.
32919         * top/maint.mk (_hv_regex): Remove this definition.
32920         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
32921         (_hv_regex_strong): Use a stronger regex to check for conformance.
32922         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
32923         Give a separate diagnostic for lack of conforming use.
32924
32925         maint.mk: prohibit definition of symbols defined by gnulib
32926         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
32927         definition of symbols defined by gnulib.
32928
32929 2010-05-09  Bruno Haible  <bruno@clisp.org>
32930
32931         acl: Avoid test failure on Cygwin-hosted mingw.
32932         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
32933
32934 2010-05-09  Bruno Haible  <bruno@clisp.org>
32935
32936         error: Use system's fcntl function.
32937         * lib/error.c (fcntl): Undefine.
32938
32939 2010-05-09  Jim Meyering  <meyering@redhat.com>
32940
32941         verify: adjust formatting to be more consistent
32942         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
32943         argument-list '('s, and after one comma.
32944
32945 2010-05-09  Bruno Haible  <bruno@clisp.org>
32946
32947         error: More reliable output on mingw.
32948         * lib/error.c: Include <windows.h>.
32949         (is_open): New function.
32950         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
32951         defined.
32952
32953 2010-05-09  Bruno Haible  <bruno@clisp.org>
32954
32955         vasnprintf: Fix syntax errors in libintl build on mingw.
32956         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
32957         pad_ourselves and prec_ourselves after use.
32958
32959 2010-05-08  Bruno Haible  <bruno@clisp.org>
32960
32961         * lib/config.charset: Update comments for Cygwin 1.7.
32962         * lib/localcharset.c: Likewise.
32963
32964 2010-05-07  Jim Meyering  <meyering@redhat.com>
32965
32966         init.sh: improve comments
32967         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
32968         . "${srcdir=.}/init.sh"; path_prepend_ .
32969         Add a note about path_prepend_ and the alternative of using
32970         TESTS_ENVIRONMENT.
32971
32972 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
32973
32974         exclude: Unescape hashed patterns in wildcard mode.
32975         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
32976         to the hash list.
32977         * tests/test-exclude8.sh: New test case.
32978         * modules/exclude-tests: Add new test.
32979
32980 2010-05-05  Eric Blake  <eblake@redhat.com>
32981
32982         verify: automate tests
32983         * modules/verify-tests: New module.
32984         * tests/test-verify.sh: New file.
32985         * tests/test-verify.c: Guard each negative test with a unique id.
32986         Also avoid warning about unused left hand of comma expressions.
32987
32988 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
32989
32990         Further improvements to verify.h, suggested by Eric Blake.
32991         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
32992         the GL_* versions, to avoid collision with OpenGL.
32993         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
32994         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
32995         than testing merely whether it's defined.
32996
32997         Modify verify.h to pacify gcc -Wredundant_decls.
32998         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
32999         These use the prefix "GL_" since they're likely to be useful elsewhere.
33000         We may need to break them out into a different .h file.
33001         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33002         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33003         of verify_function__.
33004
33005 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33006
33007         Tests for module pwrite.
33008         * modules/pwrite-tests: New file.
33009         * tests/test-pwrite.sh: New file.
33010         * tests/test-pwrite.c: New file.
33011
33012         New module pwrite.
33013         * lib/unistd.in.h (pwrite): New declaration.
33014         * lib/pwrite.c: New file, from glibc with modifications.
33015         * m4/pwrite.m4: New file.
33016         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33017         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33018         REPLACE_PWRITE.
33019         * modules/pwrite: New file.
33020         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33021         REPLACE_PWRITE.
33022         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33023         * doc/posix-functions/pwrite.texi: Mention the new module.
33024
33025 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33026
33027         pread: Update documentation.
33028         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33029
33030 2010-05-04  Eric Blake  <eblake@redhat.com>
33031
33032         docs: update cygwin progress
33033         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33034         this bug.
33035         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33036         Added in cygwin 1.7.2.
33037         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33038         Likewise.
33039         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33040         Likewise.
33041         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33042         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33043         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33044         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33045         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33046         Mention nproc module.
33047         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33048         bug in cygwin 1.7.5 addition.
33049         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33050         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33051         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33052         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33053         1.7.5.
33054         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33055         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33056         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33057         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33058         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33059         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33060         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33061         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33062         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33063         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33064         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33065         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33066         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33067         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33068         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33069         Likewise.
33070         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33071         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33072         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33073         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33074         Likewise.
33075         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33076         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33077         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33078         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33079         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33080         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33081         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33082         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33083         Likewise.
33084         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33085         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33086         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33087         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33088         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33089         Likewise.
33090         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33091         Likewise.
33092         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33093         Likewise.
33094         * doc/glibc-functions/xdrrec_endofrecord.texi
33095         (xdrrec_endofrecord): Likewise.
33096         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33097         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33098         Likewise.
33099         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33100         Likewise.
33101
33102 2010-05-04  Jim Meyering  <meyering@redhat.com>
33103
33104         gendocs.sh: make its "-s FILE" option more useful
33105         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33106         $PACKAGE to reflect the probably-different basename of "FILE".
33107
33108 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33109
33110         bootstrap: don't ignore download_po_files failure
33111         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33112         failure.
33113
33114 2010-05-03  Jim Meyering  <meyering@redhat.com>
33115
33116         maint.mk: allow to pass options to gendocs.sh
33117         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33118         (gendocs_options_): New overridable variable.
33119
33120         gnu-web-doc-update: don't ignore configure or build failure
33121         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33122
33123         announce-gen: backslash-escape '@'s in --help output
33124         * build-aux/announce-gen: Fix syntax errors.
33125
33126         maint.mk, announce-gen: allow project-specific announcement mail headers
33127         * top/maint.mk (translation_project_): Define default.
33128         (announcement_Cc_, announcement_mail_headers_): Likewise.
33129         (announcement): Invoke announce-gen with new --mail-headers option.
33130         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33131
33132         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33133         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33134         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33135         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33136         line in the "err2" output file when running "make check" in verbose
33137         mode (i.e., with set -x enabled).
33138
33139 2010-05-03  Bruno Haible  <bruno@clisp.org>
33140
33141         wctob: Fix for weird platforms.
33142         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33143         argument value.
33144
33145 2010-05-03  Jim Meyering  <meyering@redhat.com>
33146
33147         maint.mk: prohibit unwarranted use of <strings.h>
33148         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33149         strings.h in a file that does not also use strcasecmp, strncasecmp,
33150         ffs or ffsll.
33151
33152         maint.mk: remove obsolete comments
33153         * top/maint.mk: Remove stale, commented-out rules.
33154
33155 2010-05-02  Bruno Haible  <bruno@clisp.org>
33156
33157         wcwidth: Declare also when it's aliased.
33158         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33159         macro.
33160
33161 2010-05-02  Bruno Haible  <bruno@clisp.org>
33162
33163         Fix regression from 2010-04-25.
33164         * gnulib-tool (func_modules_transitive_closure): Check the status of
33165         all modules, not only of the tests that are of the form foo-tests where
33166         foo is a module.
33167
33168 2010-05-02  Bruno Haible  <bruno@clisp.org>
33169
33170         wctob: Work around nasty Cygwin 1.7.2 bug.
33171         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33172         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33173
33174 2010-05-01  Bruno Haible  <bruno@clisp.org>
33175
33176         fpurge: Sharper test.
33177         * tests/test-fpurge.c (main): Add one more ftell check.
33178         * modules/fpurge-tests (Depends-on): Add ftell.
33179         Suggested by Eric Blake.
33180
33181 2010-05-01  Bruno Haible  <bruno@clisp.org>
33182
33183         ftello: Another test.
33184         * tests/test-ftello3.c: New file.
33185         * modules/ftello-tests (Files): Add it.
33186         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33187         MOSTLYCLEANFILES.
33188
33189         ftell: Another test.
33190         * tests/test-ftell3.c: New file.
33191         * modules/ftell-tests (Files): Add it.
33192         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33193         MOSTLYCLEANFILES.
33194
33195 2010-05-01  Bruno Haible  <bruno@clisp.org>
33196
33197         ftell, ftello: Work around Solaris bug.
33198         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33199         * lib/ftello.c: Include stdio-impl.h.
33200         (ftello): On Solaris, when _IOWRT is set, compute the result without
33201         looking at _IOREAD.
33202         * modules/ftello (Files): Add lib/stdio-impl.h.
33203         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33204         * doc/posix-functions/ftello.texi: Likewise.
33205         Reported by Eric Blake.
33206
33207 2010-05-01  Bruno Haible  <bruno@clisp.org>
33208
33209         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33210         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33211         the _IOWRT flag is also set.
33212
33213 2010-05-01  Bruno Haible  <bruno@clisp.org>
33214
33215         Fix doc about a HP-UX stdio bug.
33216         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33217         * doc/posix-functions/ftello.texi: Likewise.
33218
33219 2010-05-01  Bruno Haible  <bruno@clisp.org>
33220
33221         lseek test: Fix failure on Solaris.
33222         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33223         output.
33224
33225 2010-04-30  Jim Meyering  <meyering@redhat.com>
33226
33227         bootstrap: don't ignore failure to generate po*/Makevars
33228         * build-aux/bootstrap (with_gettext): Don't ignore failure
33229         to create po/Makevars or runtime-po/Makevars.
33230
33231 2010-04-29  Eric Blake  <eblake@redhat.com>
33232
33233         headers: relax license to LGPLv2+
33234         * modules/fcntl-h (License): Relax license.
33235         * modules/getopt-posix (License): Likewise.
33236         * modules/locale (License): Likewise.
33237         * modules/math (License): Likewise.
33238         * modules/pty (License): Likewise.
33239         * modules/sched (License): Likewise.
33240         * modules/search (License): Likewise.
33241         * modules/spawn (License): Likewise.
33242         * modules/stdarg (License): Likewise.
33243         * modules/sysexits (License): Likewise.
33244
33245 2010-04-29  Jim Meyering  <meyering@redhat.com>
33246
33247         inttypes: relax license to LGPLv2+
33248         * modules/inttypes (License): Relax license.
33249
33250 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33251
33252         * top/maint.mk (indent): Run twice to produce idempotent results.
33253
33254 2010-04-28  Bruno Haible  <bruno@clisp.org>
33255
33256         getdate: Generate getdate.c in the source directory.
33257         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33258         MOSTLYCLEANFILES.
33259         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33260
33261 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33262
33263         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33264         is not declared as a const *; avoid warnings in that case.
33265
33266 2010-04-28  Eric Blake  <eblake@redhat.com>
33267
33268         canonicalize-lgpl: avoid compiler warning
33269         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33270         declaration' / 'extraneous semicolon' warning with some compilers.
33271         Reported by Andreas Gruenbacher.
33272
33273 2010-04-28  Jim Meyering  <meyering@redhat.com>
33274
33275         init.sh: ensure a more reliable exit status when exiting via trap
33276         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33277         Inspired by patches from Dmitry V. Levin.
33278         Also trap on signal 3 (SIGQUIT).
33279
33280 2010-04-27  Bruno Haible  <bruno@clisp.org>
33281
33282         Update doc about utimes().
33283         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33284         'utimens' module.
33285         Reported by Andreas Gruenbacher <agruen@suse.de>.
33286
33287 2010-04-27  Eric Blake  <eblake@redhat.com>
33288
33289         full-read, full-write: relax license
33290         * modules/full-read (License): Drop to LGPLv2+.
33291         * modules/full-write (License): Likewise.
33292         * modules/safe-read (License): Likewise.
33293         * modules/safe-write (License): Likewise.
33294
33295         pthread: mention library for linking
33296         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33297
33298 2010-04-27  Jim Meyering  <meyering@redhat.com>
33299
33300         maint.mk: fix a bug introduced in last change
33301         * top/maint.mk (gl_assured_headers_): Now that all names are on
33302         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33303         is not anchored to end of word, it should be adequate.
33304
33305         maint.mk: avoid side-effect in latest syntax-check
33306         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33307         to run commands via $(shell...), and hence to incur cost only when
33308         the new rule is actually run.
33309
33310         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33311         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33312         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33313         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33314         (gl_assured_headers_, az_, AZ_): Define.
33315         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33316
33317 2010-04-26  Jim Meyering  <jim@meyering.net>
33318             Bruno Haible  <bruno@clisp.org>
33319
33320         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33321         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33322         Prompted by an exchange with Gilles Espinasse.
33323
33324 2010-04-26  Jim Meyering  <meyering@redhat.com>
33325
33326         git-version-gen: aesthetic tweak
33327         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33328         so that the command remains on a single line.
33329
33330 2010-04-26  Eric Blake  <eblake@redhat.com>
33331
33332         git-version-gen: allow use on EBCDIC hosts
33333         * build-aux/git-version-gen (dirty): Use literal rather than tying
33334         ourselves to ascii.
33335         Reported by Steve Goetze.
33336
33337 2010-04-25  Bruno Haible  <bruno@clisp.org>
33338
33339         netdb: Add support for GNULIB_POSIXCHECK.
33340         * lib/netdb.in.h: Include warn-on-use.h.
33341         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33342         functions are used when GNULIB_POSIXCHECK is defined and the
33343         getaddrinfo module is not in use.
33344         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33345         freeaddrinfo, gai_strerror, getnameinfo are declared.
33346         * modules/netdb (Depends-on): Add warn-on-use.
33347         (Makefile.am): Include warn-on-use.h in netdb.h.
33348
33349 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33350
33351         build: avoid "make check" failure without .git/ directory
33352         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33353         there is no .git/ directory.
33354
33355 2010-04-25  Bruno Haible  <bruno@clisp.org>
33356
33357         ptsname: Fix misuse of ttyname_r.
33358         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33359         of errno.
33360
33361 2010-04-25  Bruno Haible  <bruno@clisp.org>
33362
33363         ttyname_r: Make it work on Solaris 10.
33364         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33365         if the system function has the POSIX declaration. Test whether the
33366         function fails if the buffer is less than 128 bytes large.
33367         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33368         system's ttyname_r function. Provide a reasonably large buffer.
33369         * modules/ttyname_r (Depends-on): Add extensions.
33370         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33371
33372 2010-04-25  Bruno Haible  <bruno@clisp.org>
33373
33374         Use the 'extensions' module for some more functions on Solaris.
33375         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33376         module.
33377         * doc/posix-functions/ctime_r.texi: Likewise.
33378         * doc/posix-functions/getgrgid_r.texi: Likewise.
33379         * doc/posix-functions/getgrnam_r.texi: Likewise.
33380         * doc/posix-functions/getpwnam_r.texi: Likewise.
33381         * doc/posix-functions/getpwuid_r.texi: Likewise.
33382         * doc/posix-functions/readdir_r.texi: Likewise.
33383         * doc/posix-functions/sigwait.texi: Likewise.
33384         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33385         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33386
33387 2010-04-25  Bruno Haible  <bruno@clisp.org>
33388
33389         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33390         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33391         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33392         * lib/ttyname_r.c: Include <limits.h>.
33393         (ttyname_r): Define using the system's ttyname_r function, if it exists
33394         and not on Solaris.
33395         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33396         set.
33397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33398         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33399         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33400         Reported by Simon Josefsson.
33401
33402 2010-04-25  Bruno Haible  <bruno@clisp.org>
33403
33404         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33405         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33406         * doc/posix-functions/ctime_r.texi: Likewise.
33407         * doc/posix-functions/getgrgid_r.texi: Likewise.
33408         * doc/posix-functions/getgrnam_r.texi: Likewise.
33409         * doc/posix-functions/getlogin_r.texi: Likewise.
33410         * doc/posix-functions/getpwnam_r.texi: Likewise.
33411         * doc/posix-functions/getpwuid_r.texi: Likewise.
33412         * doc/posix-functions/readdir_r.texi: Likewise.
33413         * doc/posix-functions/sigwait.texi: Likewise.
33414         * doc/posix-functions/ttyname_r.texi: Likewise.
33415         Reported by Simon Josefsson.
33416
33417 2010-04-25  Bruno Haible  <bruno@clisp.org>
33418
33419         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33420         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33421         also to --create-testdir.
33422         (func_acceptable): Don't consider the status of *-tests modules here.
33423         (func_modules_transitive_closure): Consider it here, before including a
33424         test module.
33425         (func_import, func_create_testdir): Set inc_all_direct_tests,
33426         inc_all_indirect_tests.
33427         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33428         --create-testdir and --create-megatestdir.
33429
33430 2010-04-25  Bruno Haible  <bruno@clisp.org>
33431
33432         gnulib-tool: Add --without-*-tests options.
33433         * gnulib-tool (func_usage): Document the --without-*-tests options.
33434         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33435         excl_unportable_tests): New variables.
33436         Fail if they are specified with --import or --update.
33437         (func_acceptable): Respect the excl_*_tests variables.
33438         (func_import): Set the excl_*_tests variables to empty.
33439
33440 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33441             Bruno Haible  <bruno@clisp.org>
33442
33443         Work around a MacOS X 10.4 bug with openpty.
33444         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33445         * tests/test-openpty.c (main): Close the master side explicitly.
33446
33447 2010-04-25  Bruno Haible  <bruno@clisp.org>
33448
33449         strnlen: Fix a C++ test error on MacOS X and Solaris.
33450         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33451         the function is not declared.
33452         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33453         Simon Josefsson.
33454
33455 2010-04-24  Bruno Haible  <bruno@clisp.org>
33456
33457         Avoid a gcc warning.
33458         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33459         of correct type for %08lx directive.
33460         Reported by Eric Blake.
33461
33462 2010-04-24  Bruno Haible  <bruno@clisp.org>
33463
33464         vasnprintf: Correct errno value in case of out-of-memory.
33465         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33466         or sprintf. Use the errno value from SNPRINTF or sprintf.
33467         Reported by Ian Beckwith <ianb@erislabs.net>.
33468
33469 2010-04-24  Bruno Haible  <bruno@clisp.org>
33470
33471         ansi-c++-opt: Find correct compiler when cross-compiling.
33472         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33473         AC_CHECK_PROGS.
33474         Reported by Simon Josefsson.
33475
33476 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33477
33478         vc-list-files: Add support for subversion
33479         * build-aux/vc-list-files: Use "svn list" to generate the list of
33480         files controlled by subversion.
33481
33482 2010-04-23  Jim Meyering  <meyering@redhat.com>
33483
33484         vc-list-files tests: convert to use init.sh
33485         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33486         path_prepend_.
33487         Use Exit, not exit.
33488         Use skip_ rather than open coding it.
33489         Remove trap set-up and compare definitions.
33490         * tests/test-vc-list-files-git.sh: Likewise.
33491         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33492
33493 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33494
33495         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33496         backup files.
33497
33498 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33499
33500         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33501
33502 2010-04-20  Eric Blake  <eblake@redhat.com>
33503
33504         tests: be robust to ignored SIGPIPE
33505         * tests/test-select-in.sh: Consume all output.
33506         * tests/test-lseek.sh: Check correct exit status, while avoiding
33507         EPIPE.
33508
33509 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33510             Bruno Haible  <bruno@clisp.org>
33511
33512         visibility: Don't use -fvisibility if it leads to a warning.
33513         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33514         yes, don't pretend that visibility works if it leads to a warning.
33515         Reported by Mike Gran <spk121@yahoo.com>.
33516
33517 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33518
33519         * build-aux/bootstrap: Use "git -h" for testing for supported options
33520         instead of "git --help".  The short-form option only shows a summary,
33521         and doesn't layout the full man page.  Grep for the full option name
33522         in the summary, too.
33523
33524 2010-04-19  Bruno Haible  <bruno@clisp.org>
33525
33526         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33527         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33528         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33529         mention of RELOCATABLE_STRIP.
33530         Reported by Sylvain Beucler <beuc@beuc.net>.
33531
33532 2010-04-19  Bruno Haible  <bruno@clisp.org>
33533
33534         * lib/diffseq.h: Fix typo in comment.
33535         Reported by Eric Blake.
33536
33537 2010-04-19  Bruno Haible  <bruno@clisp.org>
33538
33539         ioctl: Move autoconf macro to a .m4 file.
33540         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33541         * modules/ioctl (Files): Add it.
33542         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33543         Reported by Ian Beckwith <ianb@erislabs.net>.
33544
33545 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33546             Bruno Haible  <bruno@clisp.org>
33547
33548         diffseq: Accommodate use-case with abstract arrays.
33549         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33550         is not defined.
33551         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33552         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33553
33554 2010-04-18  Bruno Haible  <bruno@clisp.org>
33555
33556         * doc/posix-headers/stdbool.texi: More precise wording.
33557
33558 2010-04-17  Jim Meyering  <meyering@redhat.com>
33559
33560         maint.mk: use gnu-style indentation in an embedded perl script
33561         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33562         Rename variable: s/two/last_two_bytes/
33563
33564 2010-04-16  Eric Blake  <eblake@redhat.com>
33565
33566         test-stdbool: skip test that fails with Solaris CC
33567         * tests/test-stdbool.c (f): Skip test that causes compilation
33568         error under buggy C++ compiler.
33569         * lib/stdbool.in.h: Document the limitation.
33570         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33571
33572         setenv: allow compilation with C++
33573         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33574         register keyword.
33575
33576         stdint: allow test to pass with C++
33577         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33578
33579         getopt: allow compilation with C++
33580         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33581         struct.
33582         * lib/getopt.c (_getopt_internal_r): Use correct type.
33583         Reported by Dagobert Michelson, via Joel E. Denny.
33584
33585 2010-04-16  Bruno Haible  <bruno@clisp.org>
33586
33587         Override netdb.h always.
33588         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33589         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33590         Reported by Ludovic Courtès <ludo@gnu.org>.
33591
33592 2010-04-15  Bruno Haible  <bruno@clisp.org>
33593
33594         openpty: Fix mistake from 2010-03-21.
33595         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33596         Reported by Simon Josefsson.
33597
33598 2010-04-15  Eric Blake  <eblake@redhat.com>
33599
33600         test-forkpty: fix expected signature
33601         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33602         Reported by Simon Josefsson.
33603
33604 2010-04-15  Jim Meyering  <meyering@redhat.com>
33605
33606         maint.mk: texinfo_suffix_re_: correct the default regexp
33607         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33608
33609         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33610         make it configurable via texinfo_suffix_re_.
33611
33612 2010-04-14  Eric Blake  <eblake@redhat.com>
33613
33614         strtok_r: relax license to LGPLv2+
33615         * modules/strtok_r (License): Relax license.
33616         Reported by Matthias Bolte.
33617
33618 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33619
33620         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33621         version 1.4.4 by default instead of requiring the libgcrypt
33622         version used during build.  This makes it possible to use the
33623         application with older but still binary compatible libgcrypt
33624         versions.
33625
33626 2010-04-13  Eric Blake  <eblake@redhat.com>
33627
33628         getopt-gnu: match recent glibc fixes and posix ruling
33629         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33630         '+' handling, when requesting extensions.
33631         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33632         'W;' handling.
33633         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33634         * doc/posix-functions/getopt.texi (getopt): Document this.
33635         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33636         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33637         Likewise.
33638
33639         getopt: merge bug fixes from glibc
33640         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33641         diagnostics.  Honor '+:' correctly.  Reject ';'.
33642
33643         getopt-posix: detect MacOS bug
33644         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33645         optind when missing a required argument.
33646         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33647         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33648         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33649         Likewise.
33650
33651         getopt-posix: avoid spurious failure on Solaris
33652         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33653         an indicator that setting optind=1 is sufficient for reset.
33654
33655         getopt-posix: avoid spurious failure on FreeBSD
33656         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33657         in POSIX mode, since the m4 test uses it.
33658
33659         gnulib-tool: silence warning on BSD sh
33660         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33661
33662 2010-04-13  Jim Meyering  <meyering@redhat.com>
33663
33664         doc: users.txt: GNU patch now uses gnulib
33665         * users.txt: Add patch.
33666
33667 2010-04-12  Jim Meyering  <meyering@redhat.com>
33668
33669         maint.mk: generate more concise timing data for syntax-check rules
33670         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33671         " done" from each line that reports a syntax-check test duration.
33672
33673 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33674
33675         git-version-gen: use "git update-index..." rather than "git status"
33676         * build-aux/git-version-gen: Use git update-index --refresh, not
33677         "git status".  With some versions of git, "git status" would fail
33678         to update the index and result in an unwarranted "-dirty" suffix.
33679
33680 2010-04-11  Jim Meyering  <meyering@redhat.com>
33681
33682         openat: correct formatting (no semantic change)
33683         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33684         Suggested by Bruno Haible.
33685
33686 2010-04-11  Bruno Haible  <bruno@clisp.org>
33687
33688         Stricter declaration checking in testdirs.
33689         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33690         If for_tests is true, augment AM_CPPFLAGS to define
33691         GNULIB_STRICT_CHECKING.
33692         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33693         GNULIB_STRICT_CHECKING is defined, verify that the function is
33694         declared.
33695
33696 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33697             Bruno Haible  <bruno@clisp.org>
33698
33699         libunistring: Improve configure output.
33700         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33701         Don't say "consider installing GNU libunistring" when checking again
33702         with libiconv.
33703
33704 2010-04-11  Bruno Haible  <bruno@clisp.org>
33705
33706         libunistring: Correct value of $LTLIBUNISTRING.
33707         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33708         correct the value of $LTLIBUNISTRING.
33709
33710 2010-04-11  Bruno Haible  <bruno@clisp.org>
33711
33712         havelib: Add static libraries to LIBS in the right order.
33713         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
33714         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
33715
33716 2010-04-11  Bruno Haible  <bruno@clisp.org>
33717
33718         libunistring: Detect libunistring also when it depends on libiconv.
33719         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
33720         the second AC_LIB_HAVE_LINKFLAGS invocation.
33721
33722 2010-04-11  James Youngman  <jay@gnu.org>
33723
33724         close-stream: declare local scalars to be "const"
33725         * lib/close-stream.c (close_stream): Make boolean variables const
33726         to document the fact that we set but do not change them.
33727
33728 2010-04-11  Bruno Haible  <bruno@clisp.org>
33729
33730         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
33731
33732 2010-04-11  Jim Meyering  <meyering@redhat.com>
33733
33734         maint.mk: don't include dist-check.mk
33735         * top/maint.mk: Remove bogus include directive.
33736
33737         maint.mk: improve empty-line-at-EOF check
33738         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
33739         solution, rather than tail+Perl-based one.  The latter would read
33740         a few kilobytes from the end of each file, and did not handle empty
33741         files properly.
33742
33743         maint.mk: print the elapsed time for each syntax-check rule
33744         * top/maint.mk (sc_m_rules_): Save start time in a file.
33745         (sc_z_rules_): New rules: remove temp file and print elapsed time.
33746         (local-check): Interpose the .z rules
33747
33748 2010-04-11  Jim Meyering  <meyering@redhat.com>
33749
33750         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
33751         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
33752         empty file with one that ends in an empty line.
33753
33754 2010-04-10  Bruno Haible  <bruno@clisp.org>
33755
33756         mkdir: Make it work on mingw64.
33757         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
33758         * lib/mkdir.c: Update comment.
33759         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
33760
33761 2010-04-10  Bruno Haible  <bruno@clisp.org>
33762
33763         Don't override improved macro from newer autoconf.
33764         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
33765         autoconf >= 2.62.
33766         Reported by Joel E. Denny <jdenny@clemson.edu>.
33767
33768 2010-04-10  Jim Meyering  <meyering@redhat.com>
33769
33770         maint.mk: new syntax-check rule: prohibit empty lines at end of file
33771         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
33772
33773         maint.mk: correct a diagnostic
33774         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
33775         in diagnostic; now use $prohibit.
33776
33777 2010-04-10  Bruno Haible  <address@hidden>
33778
33779         fchownat: Fix a C++ test error on Solaris 8.
33780         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
33781         the function does not exist.
33782
33783 2010-04-10  Bruno Haible  <bruno@clisp.org>
33784
33785         vasnprintf: Add more tests.
33786         * tests/test-vasnprintf-posix.c: Include <errno.h>.
33787         (test_function): Test converting an invalid wide string.
33788
33789         vasnprintf: Correct handling of unconvertible wide string arguments.
33790         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
33791         VASNPRINTF.
33792         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
33793         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
33794         smaller than the expected maximum need for the directive. Set errno to
33795         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
33796         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
33797         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
33798         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
33799         * modules/vasnprintf (Files): Add m4/printf.m4.
33800         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33801
33802 2010-04-10  Bruno Haible  <bruno@clisp.org>
33803
33804         vasnprintf: Fix crash in %ls directive.
33805         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
33806         string is passed as argument to %ls, with no precision and no width.
33807         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33808
33809 2010-04-10  Bruno Haible  <bruno@clisp.org>
33810
33811         vasnprintf: Fix multiple test failures on mingw.
33812         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
33813         _snprintf, or snwprintf, not _snwprintf.
33814
33815 2010-04-10  Bruno Haible  <bruno@clisp.org>
33816
33817         write: Fix a C++ test error on mingw.
33818         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
33819
33820 2010-04-10  Bruno Haible  <bruno@clisp.org>
33821
33822         vasnprintf test: Reduce code duplication.
33823         * tests/test-vasnprintf.c (test_function): New function, extracted from
33824         test_vasnprintf.
33825         (test_vasnprintf, test_asnprintf): Invoke it.
33826
33827 2010-04-10  Bruno Haible  <bruno@clisp.org>
33828
33829         strnlen: Fix warning in C++ mode on MacOS X.
33830         * lib/string.in.h (strnlen): Use the modern idiom.
33831         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
33832         defining strnlen as a macro already in <config.h>.
33833         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33834         REPLACE_STRNLEN.
33835         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
33836         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33837
33838 2010-04-08  James Youngman  <jay@gnu.org>
33839
33840         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
33841         the example.
33842
33843 2010-04-09  Jim Meyering  <meyering@redhat.com>
33844
33845         maint.mk: print better diagnostic when there is no $(_hv_file)
33846         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
33847         announce that when $(_hv_file) (aka help-version) does not exist.
33848
33849         init.sh: run tr in the "C" locale to avoid multibyte interpretation
33850         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
33851         not try to interpret its random input bytes.  Jarno Rajahalme reported
33852         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
33853         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
33854         (mktempd_): Likewise, just in case.
33855
33856         ftruncate: add two years to projected module removal date: 2012
33857         * m4/ftruncate.m4: Adjust comments.
33858
33859         ftruncate: mark module as obsolete; even MinGW provides it, now
33860         * modules/ftruncate (Status): Obsolete.
33861         (Notice): Say that.
33862         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
33863         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
33864
33865 2010-04-08  Bruno Haible  <bruno@clisp.org>
33866
33867         Fix side effects from tests-related modules.
33868         * modules/dprintf-posix (Comment): New section.
33869         * modules/fprintf-posix (Comment): Likewise.
33870         * modules/obstack-printf-posix (Comment): Likewise.
33871         * modules/printf-posix (Comment): Likewise.
33872         * modules/snprintf-posix (Comment): Likewise.
33873         * modules/sprintf-posix (Comment): Likewise.
33874         * modules/vasnprintf-posix (Comment): Likewise.
33875         * modules/vasprintf-posix (Comment): Likewise.
33876         * modules/vdprintf-posix (Comment): Likewise.
33877         * modules/vfprintf-posix (Comment): Likewise.
33878         * modules/vprintf-posix (Comment): Likewise.
33879         * modules/vsnprintf-posix (Comment): Likewise.
33880         * modules/vsprintf-posix (Comment): Likewise.
33881         * modules/xprintf-posix (Comment): Likewise.
33882         * modules/xvasprintf-posix (Comment): Likewise.
33883         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
33884         * modules/floorf-tests (Depends-on): Likewise.
33885         * modules/round-tests (Depends-on): Likewise.
33886         * modules/roundf-tests (Depends-on): Likewise.
33887         * modules/trunc-tests (Depends-on): Likewise.
33888         * modules/truncf-tests (Depends-on): Likewise.
33889         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
33890         'fprintf-posix' module is not present.
33891         * tests/test-floorf2.c (check): Likewise.
33892         * tests/test-trunc2.c (check): Likewise.
33893         * tests/test-truncf2.c (check): Likewise.
33894         * tests/test-round2.c (equal): Likewise.
33895         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33896
33897 2010-04-07  Karl Berry  <karl@gnu.org>
33898
33899         * config/srclist.txt,
33900         * config/srclistvars.sh,
33901         * config/srclist-update: doc fixes.
33902
33903 2010-04-07  Jim Meyering  <meyering@redhat.com>
33904
33905         maint.mk: add a PATH crosschecking syntax-check rule
33906         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
33907         Useful if you use a test like the one in help-version (coreutils,
33908         diffutils, grep, gzip) that ensures $(VERSION) matches what is
33909         printed by prog --version.
33910
33911 2010-04-06  Bruno Haible  <bruno@clisp.org>
33912
33913         Fix link error on mingw.
33914         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
33915         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
33916
33917 2010-04-06  Bruno Haible  <bruno@clisp.org>
33918
33919         Assume rmdir exists.
33920         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
33921
33922 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
33923
33924         doc: update users.txt
33925         * users.txt: Add gcal.
33926
33927 2010-04-06  Jim Meyering  <meyering@redhat.com>
33928
33929         init.sh: simply unset TMPDIR rather than risking env -i
33930         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
33931         although it probably works fine on all Unix-based systems, some
33932         systems (Cygwin?) cannot tolerate a totally cleared environment.
33933         Suggestion from Eric Blake.
33934
33935 2010-04-06  Jim Meyering  <meyering@redhat.com>
33936
33937         init.sh: portability fix: use env's POSIX-specified -i option not -u
33938         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
33939         than unportable env -u.  Solaris 5.11's env lacks support for -u.
33940
33941 2010-04-05  Bruno Haible  <bruno@clisp.org>
33942
33943         btowc: Work around Cygwin 1.7.2 bug.
33944         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
33945         does not map NUL to 0.
33946         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
33947
33948 2010-04-05  Bruno Haible  <bruno@clisp.org>
33949
33950         Make the multithread modules work on Cygwin 1.7.2.
33951         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
33952         imported symbols can be declared weak, so that it returns "no" on
33953         Cygwin 1.7.2.
33954
33955 2010-04-05  Bruno Haible  <bruno@clisp.org>
33956
33957         Use the module 'strncat'.
33958         * modules/unistr/u8-strncat (Depends-on): Add strncat.
33959
33960         Tests for module 'strncat'.
33961         * modules/strncat-tests: New file.
33962         * tests/test-strncat.c: New file.
33963
33964         New module 'strncat'.
33965         * lib/string.in.h (strncat): New declaration.
33966         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
33967         * m4/strncat.m4: New file, based on m4/memchr.m4.
33968         * modules/strncat: New file.
33969         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
33970         is declared.
33971         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
33972         REPLACE_STRNCAT.
33973         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
33974         REPLACE_STRNCAT.
33975         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
33976         module.
33977         * tests/test-string-c++.cc: Check signature of strncat.
33978
33979 2010-04-05  Jim Meyering  <meyering@redhat.com>
33980
33981         xstrtoumax-tests: convert to use init.sh
33982         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
33983         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33984         Use Exit, not exit.
33985         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33986
33987         xstrtoimax-tests: convert to use init.sh
33988         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
33989         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33990         Use Exit, not exit.
33991         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33992
33993 2010-04-05  Bruno Haible  <bruno@clisp.org>
33994
33995         sys_socket: Avoid #define replacements in C++ mode.
33996         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
33997         warning to the function if possible, rather than #defining the symbol
33998         to a dysfunctional alias.
33999
34000 2010-04-05  Bruno Haible  <bruno@clisp.org>
34001
34002         fseeko: Fix C++ test error on mingw.
34003         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34004         gl_FUNC_FSEEKO.
34005         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34006         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34007         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34008         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34009
34010 2010-04-05  Bruno Haible  <bruno@clisp.org>
34011
34012         duplocale: Improve test output.
34013         * tests/test-duplocale.c (main): Print reason for skipped test.
34014
34015 2010-04-05  Bruno Haible  <bruno@clisp.org>
34016
34017         Assume rmdir exists.
34018         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34019         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34020
34021 2010-04-05  Bruno Haible  <bruno@clisp.org>
34022
34023         Fix link error on Solaris 8 with cc.
34024         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34025
34026 2010-04-05  Bruno Haible  <bruno@clisp.org>
34027
34028         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34029         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34030
34031 2010-04-05  Bruno Haible  <bruno@clisp.org>
34032
34033         vasprintf: Update documentation.
34034         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34035
34036 2010-04-05  Bruno Haible  <bruno@clisp.org>
34037
34038         ptsname: Improve test.
34039         * tests/test-ptsname.c (main): Also try the various master names of BSD
34040         systems.
34041
34042 2010-04-05  Bruno Haible  <bruno@clisp.org>
34043
34044         memchr: Avoid a possible C++ test error.
34045         * lib/string.in.h (memchr): Provide declaration if function is missing.
34046         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34047         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34048         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34049         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34050
34051 2010-04-05  Bruno Haible  <bruno@clisp.org>
34052
34053         strtok_r: Improve idiom.
34054         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34055         AC_LIBOBJ is used.
34056
34057 2010-04-05  Bruno Haible  <bruno@clisp.org>
34058
34059         strdup: Improve idiom.
34060         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34061         AC_LIBOBJ is used.
34062         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34063         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34064         when AC_LIBOBJ is used.
34065
34066 2010-04-05  Bruno Haible  <bruno@clisp.org>
34067
34068         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34069         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34070         don't set REPLACE_MBSINIT to 1.
34071         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34072         don't set REPLACE_MBRTOWC to 1.
34073         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34074         exist, don't set REPLACE_MBSRTOWCS to 1.
34075         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34076         exist, don't set REPLACE_MBSNRTOWCS to 1.
34077         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34078         don't set REPLACE_WCRTOMB to 1.
34079         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34080         exist, don't set REPLACE_WCSRTOMBS to 1.
34081         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34082         exist, don't set REPLACE_WCSNRTOMBS to 1.
34083
34084 2010-04-05  Bruno Haible  <bruno@clisp.org>
34085
34086         ldexpl: Improve idiom.
34087         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34088         make sure to set HAVE_DECL_LDEXPL to 0.
34089
34090 2010-04-05  Jim Meyering  <meyering@redhat.com>
34091
34092         xstrtol-tests: convert to use init.sh
34093         * modules/xstrtol-tests (Files): Add tests/init.sh.
34094         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34095         Use Exit, not exit.
34096         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34097
34098         atexit-tests: convert to use init.sh
34099         * modules/atexit-tests (Files): Add tests/init.sh.
34100         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34101         Use Exit, not exit.
34102         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34103
34104         init.sh: fix typo
34105         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34106
34107         init.sh: make it easier for a test script to write to the tty, ...
34108         when using automake's parallel-tests mode.
34109         * tests/init.sh (stderr_fileno_): Define overridable variable.
34110         (warn_): New function, to use it.
34111         (fail_, skip_, framework_failure_): Use warn_.
34112
34113 2010-04-04  Bruno Haible  <bruno@clisp.org>
34114
34115         btowc: Avoid warning.
34116         * lib/btowc.c: Include <stdlib.h>.
34117         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34118
34119 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34120             Bruno Haible  <bruno@clisp.org>
34121
34122         wchar: Port to NetBSD 1.5.
34123         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34124         * lib/wctype.in.h (WEOF): Likewise.
34125
34126 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34127             Bruno Haible  <bruno@clisp.org>
34128
34129         Port extended stdio to NetBSD 1.5.
34130         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34131         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34132         older.
34133
34134 2010-04-04  Bruno Haible  <bruno@clisp.org>
34135
34136         string: Remove unused substitution.
34137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34138         HAVE_DECL_STRERROR.
34139         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34140
34141 2010-04-04  Bruno Haible  <bruno@clisp.org>
34142
34143         strtod: Avoid a possible C++ test error.
34144         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34145         set REPLACE_STRTOD.
34146
34147 2010-04-04  Bruno Haible  <bruno@clisp.org>
34148
34149         strerror: Update documentation.
34150         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34151
34152 2010-04-04  Bruno Haible  <bruno@clisp.org>
34153
34154         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34155         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34156         _GL_CXXALIAS_SYS_CAST.
34157
34158 2010-04-04  Bruno Haible  <bruno@clisp.org>
34159
34160         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34161         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34162         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34163         REPLACE_FREXPL to 1.
34164         * doc/posix-functions/frexpl.texi: Update documentation.
34165
34166 2010-04-04  Bruno Haible  <bruno@clisp.org>
34167
34168         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34169         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34170
34171 2010-04-04  Bruno Haible  <bruno@clisp.org>
34172
34173         Implement nanosleep for native Windows.
34174         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34175
34176 2010-04-04  Bruno Haible  <bruno@clisp.org>
34177
34178         math: Fix some C++ test errors on Solaris 8.
34179         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34180
34181 2010-04-04  Bruno Haible  <bruno@clisp.org>
34182
34183         math: Fix some C++ test errors on Cygwin.
34184         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34185         truncl): Provide declaration if the system does not have it.
34186         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34187         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34188         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34189         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34190         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34191         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34192         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34193         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34194         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34195         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34196         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34197         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34198         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34199         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34200         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34201         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34202         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34203         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34204         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34205         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34206         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34207         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34208
34209 2010-04-04  Bruno Haible  <bruno@clisp.org>
34210
34211         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34212         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34213         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34214         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34215         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34216         * m4/isinf.m4 (gl_ISINF): Likewise.
34217         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34218
34219 2010-04-04  Bruno Haible  <bruno@clisp.org>
34220
34221         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34222         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34223
34224 2010-04-04  Bruno Haible  <bruno@clisp.org>
34225
34226         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34227         * modules/tmpfile (configure.ac): Update.
34228
34229         tmpfile: Fix C++ test error on mingw.
34230         * lib/stdio.in.h (tmpfile): New declaration.
34231         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34232         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34233         * modules/tmpfile (Depends-on): Add stdio.
34234         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34235         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34236         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34237         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34238         REPLACE_TMPFILE.
34239         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34240
34241 2010-04-04  Bruno Haible  <bruno@clisp.org>
34242
34243         ioctl: Fix C++ test error on mingw.
34244         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34245         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34246         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34247
34248 2010-04-03  Bruno Haible  <bruno@clisp.org>
34249
34250         wcwidth: Fix C++ test error on mingw.
34251         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34252         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34253         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34254
34255 2010-04-03  Bruno Haible  <bruno@clisp.org>
34256
34257         nanosleep: Fix C++ test error on mingw.
34258         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34259         * lib/time.in.h (nanosleep): Use modern idiom.
34260         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34261         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34262         REPLACE_NANOSLEEP to 1.
34263         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34264         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34265
34266 2010-04-03  Bruno Haible  <bruno@clisp.org>
34267
34268         strptime: Fix C++ test error on mingw.
34269         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34270         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34271         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34272         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34273         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34274         not REPLACE_STRPTIME.
34275         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34276         REPLACE_STRPTIME.
34277
34278 2010-04-03  Bruno Haible  <bruno@clisp.org>
34279
34280         timegm: Fix C++ test error on mingw.
34281         * lib/time.in.h (timegm): Use modern idiom.
34282         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34283         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34284         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34285         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34286
34287 2010-04-03  Bruno Haible  <bruno@clisp.org>
34288
34289         timegm: Assume declaration if function exists.
34290         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34291         if it exists. Don't clobber ac_cv_func_timegm.
34292
34293 2010-04-03  Bruno Haible  <bruno@clisp.org>
34294
34295         time_r: Fix C++ test error on mingw.
34296         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34297         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34298         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34299         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34300         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34301
34302 2010-04-03  Bruno Haible  <bruno@clisp.org>
34303
34304         time_r: Minor updates.
34305         * modules/time_r (Description): Mention the provided functions.
34306         * lib/time_r.c: Don't include <string.h>.
34307         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34308         * doc/posix-functions/localtime_r.texi: Likewise.
34309
34310 2010-04-03  Bruno Haible  <bruno@clisp.org>
34311
34312         time: Fix regression introduced on 2010-03-08.
34313         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34314         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34315
34316 2010-04-03  Jim Meyering  <meyering@redhat.com>
34317
34318         maint.mk: don't silently disable project-specific syntax-check rules
34319         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34320         that they need to convert their project-specific syntax-check rules
34321         to use the new _sc_search_regexp.
34322
34323 2010-04-03  Bruno Haible  <bruno@clisp.org>
34324
34325         fchdir: Fix regression introduced on 2010-03-08.
34326         * lib/unistd.in.h (fchdir): Fix declaration.
34327         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34329         REPLACE_FCHDIR.
34330         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34331         REPLACE_FCHDIR.
34332
34333 2010-04-03  Bruno Haible  <bruno@clisp.org>
34334
34335         getpagesize: Fix C++ test error on mingw.
34336         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34337         system does not declare the function.
34338         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34339         declared.
34340         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34341         HAVE_DECL_GETPAGESIZE.
34342         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34343
34344 2010-04-03  Bruno Haible  <bruno@clisp.org>
34345
34346         stdio: Make C++ tests work on mingw.
34347         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34348         does not declare the function.
34349
34350 2010-04-03  Bruno Haible  <bruno@clisp.org>
34351
34352         ftello: Fix C++ test error on mingw.
34353         * lib/stdio.in.h (ftello): Use modern idiom.
34354         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34355         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34356         is missing and that it needs to be replaced.
34357         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34358         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34359         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34360
34361 2010-04-03  Bruno Haible  <bruno@clisp.org>
34362
34363         fseeko: Fix C++ test error on mingw.
34364         * lib/stdio.in.h (fseeko): Use modern idiom.
34365         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34366         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34367         is missing and that it needs to be replaced.
34368         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34370         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34371
34372 2010-04-03  Bruno Haible  <bruno@clisp.org>
34373
34374         mkstemp: Fix C++ test error on mingw.
34375         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34376         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34377         function is missing and that it needs to be replaced.
34378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34379         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34380
34381 2010-04-03  Bruno Haible  <bruno@clisp.org>
34382
34383         stpncpy: Fix C++ test error on mingw.
34384         * lib/string.in.h (stpncpy): Use modern idiom.
34385         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34386         function is missing and that it needs to be replaced.
34387         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34388         REPLACE_STPNCPY.
34389         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34390
34391 2010-04-03  Bruno Haible  <bruno@clisp.org>
34392
34393         sys_stat: Fix C++ test error on mingw.
34394         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34395         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34396
34397 2010-04-03  Bruno Haible  <bruno@clisp.org>
34398
34399         pty: Update doc.
34400         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34401
34402 2010-04-03  Bruno Haible  <bruno@clisp.org>
34403
34404         unistd: Fix C++ test error on mingw.
34405         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34406
34407 2010-04-03  Bruno Haible  <bruno@clisp.org>
34408
34409         Update doc regarding mingw.
34410         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34411         * doc/glibc-functions/login_tty.texi: Likewise.
34412         * doc/glibc-functions/forkpty.texi: Likewise.
34413
34414 2010-04-03  Bruno Haible  <bruno@clisp.org>
34415
34416         stdlib: Avoid compilation failure of c-strtold on mingw.
34417         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34418
34419 2010-04-03  Bruno Haible  <bruno@clisp.org>
34420
34421         locale: Make C++ tests work on Cygwin and mingw.
34422         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34423         cannot provide the function.
34424         Reported by Simon Josefsson.
34425
34426 2010-04-03  Bruno Haible  <bruno@clisp.org>
34427
34428         localename: Port to MacOS X 10.6.
34429         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34430         memory layout of the locales in MacOS X 10.6 as well.
34431         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34432
34433 2010-04-02  Bruno Haible  <bruno@clisp.org>
34434
34435         gnulib-tool: Ensure that long-running tests are executed last.
34436         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34437         running tests after the one for the other tests.
34438
34439 2010-04-02  Bruno Haible  <bruno@clisp.org>
34440
34441         gnulib-tool: Ensure the tests in the main directory are executed first.
34442         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34443         start with the current directory.
34444
34445 2010-04-02  Bruno Haible  <bruno@clisp.org>
34446
34447         Tests for module 'havelib', moved here from GNU gettext.
34448         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34449         modifications.
34450         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34451         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34452         with modifications.
34453         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34454         modifications.
34455         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34456         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34457         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34458         with modifications.
34459         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34460         with modifications.
34461         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34462         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34463         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34464         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34465         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34466         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34467         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34468         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34469         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34470         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34471         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34472         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34473         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34474         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34475         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34476         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34477         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34478         with modifications.
34479         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34480         with modifications.
34481         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34482         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34483         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34484         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34485         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34486         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34487         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34488         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34489         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34490         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34491         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34492         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34493         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34494         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34495         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34496         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34497         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34498         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34499         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34500         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34501         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34502         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34503         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34504         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34505         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34506         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34507         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34508         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34509         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34510         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34511         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34512         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34513         * tests/havelib/rpathx/rpathx.c: New file, from
34514         gettext/autoconf-lib-link.
34515         * tests/havelib/rpathx/Makefile.am: New file, from
34516         gettext/autoconf-lib-link.
34517         * tests/havelib/rpathx/configure.ac: New file, from
34518         gettext/autoconf-lib-link with modifications.
34519         * tests/havelib/rpathy/rpathy.c: New file, from
34520         gettext/autoconf-lib-link.
34521         * tests/havelib/rpathy/Makefile.am: New file, from
34522         gettext/autoconf-lib-link.
34523         * tests/havelib/rpathy/configure.ac: New file, from
34524         gettext/autoconf-lib-link with modifications.
34525         * tests/havelib/rpathz/rpathz.c: New file, from
34526         gettext/autoconf-lib-link.
34527         * tests/havelib/rpathz/Makefile.am: New file, from
34528         gettext/autoconf-lib-link.
34529         * tests/havelib/rpathz/configure.ac: New file, from
34530         gettext/autoconf-lib-link with modifications.
34531         * tests/havelib/rpathlx/usex.c: New file, from
34532         gettext/autoconf-lib-link.
34533         * tests/havelib/rpathlx/Makefile.am: New file, from
34534         gettext/autoconf-lib-link.
34535         * tests/havelib/rpathlx/configure.ac: New file, from
34536         gettext/autoconf-lib-link with modifications.
34537         * tests/havelib/rpathly/usey.c: New file, from
34538         gettext/autoconf-lib-link.
34539         * tests/havelib/rpathly/Makefile.am: New file, from
34540         gettext/autoconf-lib-link.
34541         * tests/havelib/rpathly/configure.ac: New file, from
34542         gettext/autoconf-lib-link with modifications.
34543         * tests/havelib/rpathlz/usez.c: New file, from
34544         gettext/autoconf-lib-link.
34545         * tests/havelib/rpathlz/Makefile.am: New file, from
34546         gettext/autoconf-lib-link.
34547         * tests/havelib/rpathlz/configure.ac: New file, from
34548         gettext/autoconf-lib-link with modifications.
34549         * tests/havelib/rpathlyx/usey.c: New file, from
34550         gettext/autoconf-lib-link.
34551         * tests/havelib/rpathlyx/Makefile.am: New file, from
34552         gettext/autoconf-lib-link.
34553         * tests/havelib/rpathlyx/configure.ac: New file, from
34554         gettext/autoconf-lib-link with modifications.
34555         * tests/havelib/rpathlzyx/usez.c: New file, from
34556         gettext/autoconf-lib-link.
34557         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34558         gettext/autoconf-lib-link.
34559         * tests/havelib/rpathlzyx/configure.ac: New file, from
34560         gettext/autoconf-lib-link with modifications.
34561         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34562         with modifications.
34563
34564 2010-04-02  Bruno Haible  <bruno@clisp.org>
34565
34566         gnulib-tool: Create distributed built sources also for the tests.
34567         * gnulib-tool (func_create_testdir): Also generate distributed built
34568         sources in the tests directory.
34569
34570 2010-04-02  Bruno Haible  <bruno@clisp.org>
34571
34572         gnulib-tool: Obey user's environment variables.
34573         * gnulib-tool (func_create_testdir): When creating built sources,
34574         respect the environment variables for autoconf, automake, etc. given by
34575         the user.
34576
34577 2010-04-02  Bruno Haible  <bruno@clisp.org>
34578
34579         gnulib-tool: Provide the value of --m4-base to modules.
34580         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34581         of gl_m4_base.
34582
34583 2010-04-02  Eric Blake  <eblake@redhat.com>
34584
34585         maint.mk: fix some fallout
34586         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34587         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34588
34589 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34590
34591         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34592         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34593         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34594         (sc_cast_of_x_alloc_return_value): Likewise.
34595         (sc_cast_of_alloca_return_value): Likewise.
34596         (sc_space_tab): Likewise.
34597         (sc_prohibit_atoi_atof): Likewise.
34598         (sc_prohibit_magic_number_exit): Likewise.
34599         (sc_error_exit_success): Likewise.
34600         (sc_file_system): Likewise.
34601         (sc_prohibit_have_config_h): Likewise.
34602         (sc_require_config_h): Likewise.
34603         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34604         (sc_obsolete_symbols): Likewise.
34605         (sc_changelog): Likewise.
34606         (sc_program_name): Likewise.
34607         (sc_the_the): Likewise.
34608         (sc_trailing_blank): Likewise.
34609         (sc_two_space_separator_in_usage): Likewise.
34610         (sc_useless_cpp_parens): Likewise.
34611         (sc_GPL_version): Likewise.
34612         (sc_GFDL_version): Likewise.
34613         (sc_texinfo_acronym): Likewise.
34614         (sc_prohibit_cvs_keyword): Likewise.
34615         (sc_prohibit_stat_st_blocks): Likewise.
34616         (sc_prohibit_S_IS_definition): Likewise.
34617         (sc_redundant_const): Likewise.
34618         (sc_makefile_TAB_only_indentation): Likewise.
34619         (sc_m4_quote_check): Likewise.
34620         (sc_makefile_path_separator_check): Likewise.
34621         (sc_copyright_check): Likewise.
34622         (sc_Wundef_boolean): Likewise.
34623         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34624
34625         maint.mk: match 0 or more whitespace-before-function-call '('
34626         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34627         that have zero or two-and-more spaces between the function name
34628         and the open parenthesis.
34629         (sc_error_message_warn_fatal): Likewise.
34630         (sc_error_message_uppercase): Likewise.
34631         (sc_error_message_period): Likewise.
34632
34633 2010-03-31  Eric Blake  <eblake@redhat.com>
34634
34635         maint.mk: check for [ as well as test
34636         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34637         Based on a libvirt report by Matthias Bolte.
34638
34639         gnumakefile: don't squelch _version output
34640         * top/GNUmakefile (_version): Create one-shot dependency rather
34641         than using $(shell) when version must be regenerated.
34642         (_autoreconf): Run verbosely, by default.
34643
34644         sys_time: avoid compiler warnings
34645         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34646         unconditional, fixing regression from 2010-03-29.
34647         Reported by Simon Josefsson.
34648
34649 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34650
34651         maint.mk: s/_header_without_use/_sc_header_without_use/
34652         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34653         (sc_prohibit_assert_without_use): Use the new name.
34654         (sc_prohibit_close_stream_without_use): Likewise.
34655         (sc_prohibit_getopt_without_use): Likewise.
34656         (sc_prohibit_quotearg_without_use): Likewise.
34657         (sc_prohibit_quote_without_use): Likewise.
34658         (sc_prohibit_long_options_without_use): Likewise.
34659         (sc_prohibit_inttostr_without_use): Likewise.
34660         (sc_prohibit_ignore_value_without_use): Likewise.
34661         (sc_prohibit_error_without_use): Likewise.
34662         (sc_prohibit_xalloc_without_use): Likewise.
34663         (sc_prohibit_hash_without_use): Likewise.
34664         (sc_prohibit_hash_pjw_without_use): Likewise.
34665         (sc_prohibit_safe_read_without_use): Likewise.
34666         (sc_prohibit_argmatch_without_use): Likewise.
34667         (sc_prohibit_canonicalize_without_use): Likewise.
34668         (sc_prohibit_root_dev_ino_without_use): Likewise.
34669         (sc_prohibit_openat_without_use): Likewise.
34670         (sc_prohibit_c_ctype_without_use): Likewise.
34671         (sc_prohibit_signal_without_use): Likewise.
34672         (sc_prohibit_intprops_without_use): Likewise.
34673
34674 2010-03-30  Eric Blake  <eblake@redhat.com>
34675
34676         maint: improve module indicators
34677         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34678         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34679         columns, and avoid extra macro expansion.
34680
34681         fdopendir: work around FreeBSD bug
34682         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34683         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34684         * modules/dirent (Makefile.am): Substitute it.
34685         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34686         declaration.
34687         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34688         fix.
34689         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34690
34691 2010-03-29  Bruno Haible  <bruno@clisp.org>
34692
34693         Emit #pragma system_header after the inclusion guard, not before.
34694         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34695         guard that spans the entire file, not before. This enables an
34696         optimization in GCC's preprocessor.
34697         * lib/ctype.in.h: Likewise.
34698         * lib/dirent.in.h: Likewise.
34699         * lib/errno.in.h: Likewise.
34700         * lib/float.in.h: Likewise.
34701         * lib/getopt.in.h: Likewise.
34702         * lib/iconv.in.h: Likewise.
34703         * lib/langinfo.in.h: Likewise.
34704         * lib/locale.in.h: Likewise.
34705         * lib/math.in.h: Likewise.
34706         * lib/netdb.in.h: Likewise.
34707         * lib/netinet_in.in.h: Likewise.
34708         * lib/pty.in.h: Likewise.
34709         * lib/sched.in.h: Likewise.
34710         * lib/se-selinux.in.h: Likewise.
34711         * lib/search.in.h: Likewise.
34712         * lib/spawn.in.h: Likewise.
34713         * lib/stdarg.in.h: Likewise.
34714         * lib/stdint.in.h: Likewise.
34715         * lib/string.in.h: Likewise.
34716         * lib/strings.in.h: Likewise.
34717         * lib/sys_file.in.h: Likewise.
34718         * lib/sys_ioctl.in.h: Likewise.
34719         * lib/sys_time.in.h: Likewise.
34720         * lib/sys_times.in.h: Likewise.
34721         * lib/sys_utsname.in.h: Likewise.
34722         * lib/sys_wait.in.h: Likewise.
34723         * lib/sysexits.in.h: Likewise.
34724         * lib/wctype.in.h: Likewise.
34725
34726 2010-03-28  James Youngman  <jay@gnu.org>
34727
34728         save-cwd: don't leak a file descriptor when the caller execs.
34729         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
34730         saved file descriptor.
34731         * modules/save-cwd (Depends-on): Depend on cloexec.
34732
34733 2010-03-29  Bruno Haible  <bruno@clisp.org>
34734
34735         Remove vestiges of fts-lgpl module.
34736         * lib/fts_.h: Assume GNULIB_FTS is 1.
34737         * lib/fts.c: Likewise.
34738         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34739
34740 2010-03-28  Bruno Haible  <bruno@clisp.org>
34741
34742         Fix definition of tests witness macro.
34743         * gnulib-tool (func_import): Fix definition of witness macro.
34744
34745 2010-03-28  Bruno Haible  <bruno@clisp.org>
34746
34747         Fix ioctl's protoype on glibc systems.
34748         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
34749         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
34750         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
34751         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
34752         signature. If not, arrange to replace the ioctl function.
34753         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34754         REPLACE_IOCTL.
34755         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
34756         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
34757         Reported by Ludovic Courtès <ludo@gnu.org>.
34758
34759 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
34760
34761         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
34762         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
34763         made it so grep -r --include=GLOB* ... did not work.
34764
34765 2010-03-26  Jim Meyering  <meyering@redhat.com>
34766             Eric Blake  <eblake@redhat.com>
34767
34768         maint.mk: prohibit use of test's -o and -a operators
34769         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
34770
34771 2010-03-28  Bruno Haible  <bruno@clisp.org>
34772
34773         Remove unused GNULIB_XYZ macro definitions.
34774         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
34775         invocation.
34776
34777 2010-03-28  Bruno Haible  <bruno@clisp.org>
34778
34779         Mark privileged tests modules.
34780         * modules/idpriv-drop-tests (Status): New section.
34781         * modules/idpriv-droptemp-tests (Status): New section.
34782
34783 2010-03-28  Bruno Haible  <bruno@clisp.org>
34784
34785         Split C++ tests into separate tests modules.
34786         * modules/dirent-c++-tests: New file, extracted from
34787         modules/dirent-tests.
34788         * modules/dirent-tests: Depend on it.
34789         * modules/fcntl-h-c++-tests: New file, extracted from
34790         modules/fcntl-h-tests.
34791         * modules/fcntl-h-tests: Depend on it.
34792         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
34793         * modules/glob-tests: Depend on it.
34794         * modules/iconv-h-c++-tests: New file, extracted from
34795         modules/iconv-h-tests.
34796         * modules/iconv-h-tests: Depend on it.
34797         * modules/langinfo-c++-tests: New file, extracted from
34798         modules/langinfo-tests.
34799         * modules/langinfo-tests: Depend on it.
34800         * modules/locale-c++-tests: New file, extracted from
34801         modules/locale-tests.
34802         * modules/locale-tests: Depend on it.
34803         * modules/math-c++-tests: New file, extracted from modules/math-tests.
34804         * modules/math-tests: Depend on it.
34805         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
34806         * modules/pty-tests: Depend on it.
34807         * modules/search-c++-tests: New file, extracted from
34808         modules/search-tests.
34809         * modules/search-tests: Depend on it.
34810         * modules/signal-c++-tests: New file, extracted from
34811         modules/signal-tests.
34812         * modules/signal-tests: Depend on it.
34813         * modules/spawn-c++-tests: New file, extracted from
34814         modules/spawn-tests.
34815         * modules/spawn-tests: Depend on it.
34816         * modules/stdio-c++-tests: New file, extracted from
34817         modules/stdio-tests.
34818         * modules/stdio-tests: Depend on it.
34819         * modules/stdlib-c++-tests: New file, extracted from
34820         modules/stdlib-tests.
34821         * modules/stdlib-tests: Depend on it.
34822         * modules/string-c++-tests: New file, extracted from
34823         modules/string-tests.
34824         * modules/string-tests: Depend on it.
34825         * modules/sys_ioctl-c++-tests: New file, extracted from
34826         modules/sys_ioctl-tests.
34827         * modules/sys_ioctl-tests: Depend on it.
34828         * modules/sys_select-c++-tests: New file, extracted from
34829         modules/sys_select-tests.
34830         * modules/sys_select-tests: Depend on it.
34831         * modules/sys_socket-c++-tests: New file, extracted from
34832         modules/sys_socket-tests.
34833         * modules/sys_socket-tests: Depend on it.
34834         * modules/sys_stat-c++-tests: New file, extracted from
34835         modules/sys_stat-tests.
34836         * modules/sys_stat-tests: Depend on it.
34837         * modules/sys_time-c++-tests: New file, extracted from
34838         modules/sys_time-tests.
34839         * modules/sys_time-tests: Depend on it.
34840         * modules/time-c++-tests: New file, extracted from modules/time-tests.
34841         * modules/time-tests: Depend on it.
34842         * modules/unistd-c++-tests: New file, extracted from
34843         modules/unistd-tests.
34844         * modules/unistd-tests: Depend on it.
34845         * modules/wchar-c++-tests: New file, extracted from
34846         modules/wchar-tests.
34847         * modules/wchar-tests: Depend on it.
34848         * modules/wctype-c++-tests: New file, extracted from
34849         modules/wctype-tests.
34850         * modules/wctype-tests: Depend on it.
34851         Reported by Simon Josefsson.
34852
34853 2010-03-28  Bruno Haible  <bruno@clisp.org>
34854
34855         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
34856         * gnulib-tool (func_exists_module): New function, extracted from
34857         func_verify_module.
34858         (func_verify_module): Use it.
34859         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
34860         'foo' only if 'foo' exists.
34861         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
34862         module.
34863
34864 2010-03-28  Bruno Haible  <bruno@clisp.org>
34865
34866         gnulib-tool: Add support for special categories of tests.
34867         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
34868         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
34869         (func_usage): Document them.
34870         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
34871         inc_unportable_tests, inc_all_tests): New variables.
34872         (func_acceptable): Consider these variables.
34873         (func_modules_transitive_closure): Make it work when the 'Status' field
34874         consists of multiple words.
34875         (func_import): Store and restore the values of inc_cxx_tests,
34876         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34877         inc_all_tests in gnulib-comp.m4.
34878         (func_create_testdir): Set inc_all_tests to true.
34879         * doc/gnulib.texi (Extra tests modules): New section.
34880         Suggested by Jim Meyering.
34881
34882 2010-03-28  Bruno Haible  <bruno@clisp.org>
34883
34884         ansi-c++-opt: Allow turning off the C++ build by default.
34885         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
34886         gl_CXX_CHOICE_DEFAULT_NO is defined.
34887         Requested by Eric Blake.
34888
34889 2010-03-28  Bruno Haible  <bruno@clisp.org>
34890
34891         unistd: Avoid #define replacements in C++ mode.
34892         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34893         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34894         setsockopt, shutdown, select): In C++, attach a warning to the function
34895         if possible, rather than #defining the symbol to a dysfunctional alias.
34896         Reported by John W. Eaton <jwe@gnu.org>.
34897
34898 2010-03-28  Bruno Haible  <bruno@clisp.org>
34899
34900         Fix link errors on mingw.
34901         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
34902         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
34903         $(LIBSOCKET).
34904         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
34905         $(LIBSOCKET).
34906
34907 2010-03-28  Bruno Haible  <bruno@clisp.org>
34908             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34909
34910         lib-ignore: Determine different options for different compilers.
34911         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
34912         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
34913         Add comments.
34914         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
34915         * NEWS: Mention the change.
34916
34917 2010-03-27  Bruno Haible  <bruno@clisp.org>
34918
34919         Remove unused GNULIB_XYZ macro definitions.
34920         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34921         * modules/fseek (configure.ac): Likewise.
34922         * modules/ioctl (configure.ac): Likewise.
34923         * modules/open (configure.ac): Likewise.
34924         * modules/stdlib-safer (configure.ac): Likewise.
34925
34926 2010-03-27  Bruno Haible  <bruno@clisp.org>
34927
34928         Add a remark about certain modules.
34929         * modules/malloc (Comment): New section.
34930         * modules/realloc (Comment): Likewise.
34931         * modules/sigpipe (Comment): Likewise.
34932
34933 2010-03-27  Bruno Haible  <bruno@clisp.org>
34934
34935         Resolve conflict between the two kinds of module indicators.
34936         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
34937         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
34938         * modules/canonicalize (configure.ac): Invoke
34939         gl_MODULE_INDICATOR_FOR_TESTS.
34940         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
34941         GNULIB_XYZ.
34942         * tests/test-dirent-c++.cc: Likewise.
34943         * tests/test-dirent-safer.c: Likewise.
34944         * tests/test-dup2.c: Likewise.
34945         * tests/test-fchdir.c: Likewise.
34946         * tests/test-fcntl-h-c++.cc: Likewise.
34947         * tests/test-getopt.c: Likewise.
34948         * tests/test-getopt.h: Likewise.
34949         * tests/test-langinfo-c++.cc: Likewise.
34950         * tests/test-locale-c++.cc: Likewise.
34951         * tests/test-math-c++.cc: Likewise.
34952         * tests/test-pty-c++.cc: Likewise.
34953         * tests/test-search-c++.cc: Likewise.
34954         * tests/test-signal-c++.cc: Likewise.
34955         * tests/test-spawn-c++.cc: Likewise.
34956         * tests/test-stdio-c++.cc: Likewise.
34957         * tests/test-stdlib-c++.cc: Likewise.
34958         * tests/test-string-c++.cc: Likewise.
34959         * tests/test-sys_ioctl-c++.cc: Likewise.
34960         * tests/test-sys_select-c++.cc: Likewise.
34961         * tests/test-sys_socket-c++.cc: Likewise.
34962         * tests/test-sys_stat-c++.cc: Likewise.
34963         * tests/test-sys_time-c++.cc: Likewise.
34964         * tests/test-time-c++.cc: Likewise.
34965         * tests/test-unistd-c++.cc: Likewise.
34966         * tests/test-wchar-c++.cc: Likewise.
34967         * tests/uninorm/test-u8-nfc.c: Likewise.
34968         * tests/uninorm/test-u8-nfd.c: Likewise.
34969         * tests/uninorm/test-u8-nfkc.c: Likewise.
34970         * tests/uninorm/test-u8-nfkd.c: Likewise.
34971         * tests/uninorm/test-u16-nfc.c: Likewise.
34972         * tests/uninorm/test-u16-nfd.c: Likewise.
34973         * tests/uninorm/test-u16-nfkc.c: Likewise.
34974         * tests/uninorm/test-u16-nfkd.c: Likewise.
34975         * tests/uninorm/test-u32-nfc.c: Likewise.
34976         * tests/uninorm/test-u32-nfc-big.c: Likewise.
34977         * tests/uninorm/test-u32-nfd.c: Likewise.
34978         * tests/uninorm/test-u32-nfd-big.c: Likewise.
34979         * tests/uninorm/test-u32-nfkc.c: Likewise.
34980         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
34981         * tests/uninorm/test-u32-nfkd.c: Likewise.
34982         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
34983         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34984
34985 2010-03-27  Bruno Haible  <bruno@clisp.org>
34986
34987         Distinguish two kinds of module indicators.
34988         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
34989         gl_MODULE_INDICATOR.
34990         (gl_MODULE_INDICATOR): New macro.
34991         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34992         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
34993         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34994         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34995         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34996         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34997         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34998         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34999         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35000         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35001         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35002         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35003         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35004         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35005         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35006         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35007         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35008         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35009         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35010         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35011         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35012         * modules/cloexec (configure.ac): Likewise.
35013         * modules/getopt-gnu (configure.ac): Likewise.
35014         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35015         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35016         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35017         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35018
35019 2010-03-27  Bruno Haible  <bruno@clisp.org>
35020
35021         New module description field 'Comment'.
35022         * gnulib-tool: New option --extract-comment.
35023         (func_usage): Document it.
35024         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35025         (func_get_comment): New function.
35026         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35027
35028 2010-03-27  Bruno Haible  <bruno@clisp.org>
35029
35030         Addendum to 2010-02-07 commit.
35031         * gnulib-tool (func_usage): Document --extract-applicability option.
35032
35033 2010-03-27  Bruno Haible  <bruno@clisp.org>
35034
35035         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35036         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35037         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35038         rather than link errors.
35039
35040 2010-03-27  Bruno Haible  <bruno@clisp.org>
35041
35042         Avoid side effects from tests-related modules on the compilation of lib.
35043         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35044         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35045         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35046         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35047         macro.
35048         (func_import): Define a witness macro. Assign it a value that depends
35049         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35050         tests-related modules.
35051         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35052         Reported by Jim Meyering.
35053
35054 2010-03-27  Bruno Haible  <bruno@clisp.org>
35055
35056         Factorize common .m4 code.
35057         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35058         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35059         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35060         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35061         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35062         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35063         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35064         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35065         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35066         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35067         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35068         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35069         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35070         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35071         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35072         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35073         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35074         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35075         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35076         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35077         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35078         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35079         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35080         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35081         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35082         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35083         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35084         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35085         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35086         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35087         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35088         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35089
35090 2010-03-27  Bruno Haible  <bruno@clisp.org>
35091
35092         Fix a compilation error on Cygwin with g++ >= 4.3.
35093         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35094         if it is undefined or if we alias it to chmod.
35095         (lstat): Don't warn about the use of this function if it is undefined
35096         or if we alias it to stat.
35097         Reported by Simon Josefsson.
35098
35099 2010-03-27  Bruno Haible  <bruno@clisp.org>
35100
35101         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35102         * modules/getlogin (configure.ac): Update.
35103
35104         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35105         * modules/getlogin_r (configure.ac): Update.
35106
35107         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35108         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35109         * modules/inet_ntop (configure.ac): Update.
35110
35111         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35112         * modules/inet_pton (configure.ac): Update.
35113
35114         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35115         * modules/mbslen (configure.ac): Update.
35116
35117         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35118         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35119         * modules/forkpty (configure.ac): Update.
35120         * modules/openpty (configure.ac): Update.
35121
35122 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35123
35124         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35125         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35126
35127 2010-03-25  Eric Blake  <eblake@redhat.com>
35128
35129         maint: use pragma consistently across replacement headers
35130         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35131         * lib/dirent.in.h (system_header): Likewise.
35132         * lib/errno.in.h (system_header): Likewise.
35133         * lib/float.in.h (system_header): Likewise.
35134         * lib/getopt.in.h (system_header): Likewise.
35135         * lib/iconv.in.h (system_header): Likewise.
35136         * lib/inttypes.in.h (system_header): Likewise.
35137         * lib/langinfo.in.h (system_header): Likewise.
35138         * lib/locale.in.h (system_header): Likewise.
35139         * lib/math.in.h (system_header): Likewise.
35140         * lib/netdb.in.h (system_header): Likewise.
35141         * lib/netinet_in.in.h (system_header): Likewise.
35142         * lib/pty.in.h (system_header): Likewise.
35143         * lib/sched.in.h (system_header): Likewise.
35144         * lib/se-selinux.in.h (system_header): Likewise.
35145         * lib/search.in.h (system_header): Likewise.
35146         * lib/spawn.in.h (system_header): Likewise.
35147         * lib/stdarg.in.h (system_header): Likewise.
35148         * lib/stdint.in.h (system_header): Likewise.
35149         * lib/string.in.h (system_header): Likewise.
35150         * lib/strings.in.h (system_header): Likewise.
35151         * lib/sys_file.in.h (system_header): Likewise.
35152         * lib/sys_ioctl.in.h (system_header): Likewise.
35153         * lib/sys_socket.in.h (system_header): Likewise.
35154         * lib/sys_times.in.h (system_header): Likewise.
35155         * lib/sys_utsname.in.h (system_header): Likewise.
35156         * lib/sys_wait.in.h (system_header): Likewise.
35157         * lib/sysexits.in.h (system_header): Likewise.
35158         * lib/unistd.in.h (system_header): Likewise.
35159         * lib/wctype.in.h (system_header): Likewise.
35160
35161         arpa/inet: fix mingw compilation warning
35162         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35163         Reported by Matthew Bolte.
35164
35165 2010-03-25  Bruno Haible  <bruno@clisp.org>
35166
35167         Avoid collision between gnulib wrapper and libintl wrapper.
35168         * lib/printf.c (printf): Don't define if a printf wrapper is already
35169         defined in intl/printf.c.
35170         Reported by Michel Boaventura <michel@michelboaventura.com>.
35171
35172 2010-03-25  Bruno Haible  <bruno@clisp.org>
35173
35174         Use ANSI C.
35175         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35176
35177 2010-03-25  Bruno Haible  <bruno@clisp.org>
35178
35179         Minor formatting changes.
35180         * lib/acosl.c: Insert space before function argument list.
35181         * lib/argz.c: Likewise.
35182         * lib/asinl.c: Likewise.
35183         * lib/expl.c: Likewise.
35184         * lib/gen-uni-tables.c: Likewise.
35185         * lib/gettext.h: Likewise.
35186         * lib/glthread/lock.h: Likewise.
35187         * lib/tanl.c: Likewise.
35188         * lib/uniname/uniname.c: Likewise.
35189         * tests/test-idpriv-drop.c: Likewise.
35190         * tests/test-idpriv-droptemp.c: Likewise.
35191         * tests/test-lock.c: Likewise.
35192         * tests/test-tls.c: Likewise.
35193         * lib/argp-help.c: Insert space before function-like macro argument
35194         list.
35195         * lib/memcmp.c: Likewise.
35196         * tests/test-base64.c: Likewise.
35197         * lib/localename.c: Insert space before sizeof's argument list.
35198         * lib/safe-alloc.h: Likewise.
35199         * lib/file-set.h: Insert space before macro argument list.
35200         * tests/test-argp.c: Likewise.
35201         * lib/argp-namefrob.h: Insert space before function parameter list.
35202         * lib/getaddrinfo.c: Likewise.
35203         * lib/netdb.in.h: Likewise.
35204         * lib/parse-duration.h: Likewise.
35205         * lib/parse-duration.c: Likewise.
35206         * lib/poll.c: Likewise.
35207         * lib/select.c: Likewise.
35208         * lib/trim.h: Likewise.
35209         * tests/test-usleep.c: Likewise.
35210         * lib/ldexpl.c: Insert space before function parameter list and before
35211         function argument list.
35212         * lib/logl.c: Likewise.
35213         * lib/sqrtl.c: Likewise.
35214         * lib/trim.c: Likewise.
35215         * lib/cosl.c: Use GNU style indentation. Insert space before function
35216         argument list.
35217         * lib/sinl.c: Likewise.
35218         * lib/tsearch.c: Insert space after 'for'.
35219         Reported by Jim Meyering.
35220
35221 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35222
35223         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35224         config header before grepping, as it's not present before
35225         autoreconf/configure are run.  Reported by Simon Josefsson.
35226
35227 2010-03-23  Bruno Haible  <bruno@clisp.org>
35228
35229         pt_chown: Make it work with automake < 1.11.
35230         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35231         Reported by Simon Josefsson.
35232
35233 2010-03-23  Bruno Haible  <bruno@clisp.org>
35234
35235         pt_chown: Don't depend on GPLed modules.
35236         * lib/pt_chown.c: Don't include idpriv.h.
35237         (main): Don't drop privileges.
35238         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35239         Reported by Simon Josefsson.
35240
35241 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35242
35243         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35244         suggestions from karl@freefriends.org (Karl Berry).
35245
35246 2010-03-22  Eric Blake  <eblake@redhat.com>
35247
35248         gethostname: further tweaks
35249         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35250         are overriding gethostname.
35251         Suggested by Bruno Haible.
35252
35253 2010-03-21  Bruno Haible  <bruno@clisp.org>
35254
35255         Fix comments.
35256         * lib/forkpty.c (rpl_forkpty): Fix comment.
35257         * lib/openpty.c (rpl_openpty): Likewise.
35258         Reported by Eric Blake.
35259
35260 2010-03-22  Eric Blake  <eblake@redhat.com>
35261
35262         gethostname: fix build on mingw
35263         * lib/unistd.in.h (includes): Work around fact that mingw
35264         <winsock2.h> re-includes <unistd.h>, by avoiding any
35265         redeclarations if we are being included by <winsock2.h>.
35266         Reported by Matthias Bolte.
35267
35268 2010-03-21  Bruno Haible  <bruno@clisp.org>
35269
35270         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35271         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35272         modifications.
35273         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35274         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35275         provide the replacement.
35276         * modules/forkpty (Depends-on): Add openpty, login_tty.
35277         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35278         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35279         * doc/glibc-functions/forkpty.texi: More supported platforms.
35280         * config/srclist.txt: Add forkpty.c (commented).
35281
35282 2010-03-21  Bruno Haible  <bruno@clisp.org>
35283
35284         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35285         (Makefile.am): Verify that PTY_LIB is defined.
35286
35287         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35288
35289 2010-03-21  Bruno Haible  <bruno@clisp.org>
35290
35291         Tests for module 'login_tty'.
35292         * modules/login_tty-tests: New file.
35293         * tests/test-login_tty.c: New file.
35294
35295         New module 'login_tty'.
35296         * lib/login_tty.c: New file.
35297         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35298         * modules/login_tty: New file.
35299         * doc/glibc-functions/login_tty.texi: Mention the new module.
35300
35301 2010-03-21  Bruno Haible  <bruno@clisp.org>
35302
35303         login_tty: Documentation.
35304         * doc/glibc-functions/login_tty.texi: New file.
35305         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35306
35307 2010-03-21  Bruno Haible  <bruno@clisp.org>
35308
35309         pty: Consistent macro naming.
35310         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35311         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35312         * modules/pty (configure.ac): Update.
35313
35314 2010-03-21  Bruno Haible  <bruno@clisp.org>
35315
35316         Tests for openpty: Make stricter.
35317         * tests/test-openpty.c (main): Add test of canonical processing and
35318         erase.
35319         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35320
35321         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35322         * lib/openpty.c (openpty): New replacement function.
35323         * lib/pty.in.h: Include <termios.h>.
35324         (openpty): Update declaration. Add comments.
35325         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35326         is not declared, arrange to provide the replacement. Check for _getpty
35327         and posix_openpt.
35328         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35329         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35330         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35331         * modules/pty-tests (test_pty_c___LDADD): New variable.
35332         * doc/glibc-functions/openpty.texi: More supported platforms.
35333
35334 2010-03-21  Bruno Haible  <bruno@clisp.org>
35335
35336         setenv: Tweaks.
35337         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35338         the test program.
35339         * doc/posix-functions/setenv.texi: Update platforms list.
35340
35341 2010-03-21  Bruno Haible  <bruno@clisp.org>
35342
35343         New module 'unlockpt'.
35344         * lib/unlockpt.c: New file, from glibc with modifications.
35345         * m4/unlockpt.m4: New file.
35346         * modules/unlockpt: New file.
35347         * lib/stdlib.in.h (unlockpt): New declaration.
35348         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35349         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35350         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35351         HAVE_UNLOCKPT.
35352         * doc/posix-functions/unlockpt.texi: Mention the new module.
35353         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35354         * config/srclist.txt: Add unlockpt.c (commented).
35355
35356 2010-03-21  Jim Meyering  <meyering@redhat.com>
35357
35358         maint.mk: prohibit inclusion of "intprops.h" without use
35359         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35360
35361 2010-03-21  Bruno Haible  <bruno@clisp.org>
35362
35363         New module 'grantpt'.
35364         * lib/grantpt.c: New file, from glibc with modifications.
35365         * m4/grantpt.m4: New file.
35366         * modules/grantpt: New file.
35367         * lib/stdlib.in.h (grantpt): New declaration.
35368         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35369         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35370         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35371         HAVE_GRANTPT.
35372         * doc/posix-functions/grantpt.texi: Mention the new module.
35373         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35374         * config/srclist.txt: Add grantpt.c (commented).
35375
35376 2010-03-21  Bruno Haible  <bruno@clisp.org>
35377
35378         New module 'pt_chown'.
35379         * lib/pt_chown.c: New file, from glibc with modifications.
35380         * lib/pty-private.h: New file, from glibc with modifications.
35381         * modules/pt_chown: New file.
35382         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35383
35384 2010-03-21  Bruno Haible  <bruno@clisp.org>
35385
35386         Tests for module 'ptsname'.
35387         * modules/ptsname-tests: New file.
35388         * tests/test-ptsname.c: New file.
35389
35390         New module 'ptsname'.
35391         * lib/ptsname.c: New file, from glibc with modifications.
35392         * m4/ptsname.m4: New file.
35393         * modules/ptsname: New file.
35394         * lib/stdlib.in.h (ptsname): New declaration.
35395         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35396         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35397         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35398         HAVE_PTSNAME.
35399         * doc/posix-functions/ptsname.texi: Mention the new module.
35400         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35401         * config/srclist.txt: Add ptsname.c (commented).
35402
35403 2010-03-21  Bruno Haible  <bruno@clisp.org>
35404
35405         Tests for module 'ttyname_r'.
35406         * modules/ttyname_r-tests: New file.
35407         * tests/test-ttyname_r.c: New file.
35408
35409         New module 'ttyname_r'.
35410         * lib/ttyname_r.c: New file.
35411         * m4/ttyname_r.m4: New file.
35412         * modules/ttyname_r: New file.
35413         * lib/unistd.in.h (ttyname_r): New declaration.
35414         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35415         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35416         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35417         HAVE_TTYNAME_R.
35418         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35419         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35420
35421 2010-03-20  Bruno Haible  <bruno@clisp.org>
35422
35423         signal: Undefine macro definitions in C++ mode.
35424         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35425         sigfillset): Undefine macro definitions from the system header in C++
35426         mode.
35427         Reported by John W. Eaton <jwe@gnu.org>.
35428
35429 2010-03-20  Bruno Haible  <bruno@clisp.org>
35430
35431         Ensure no #include statements inside extern "C" { ... }.
35432         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35433         contain #include statements.
35434         * lib/time.in.h: Likewise.
35435
35436 2010-03-20  Bruno Haible  <bruno@clisp.org>
35437
35438         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35439         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35440         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35441         Reported by John W. Eaton <jwe@gnu.org>.
35442
35443 2010-03-20  Bruno Haible  <bruno@clisp.org>
35444
35445         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35446         Reported by Jim Meyering.
35447
35448 2010-03-20  Bruno Haible  <bruno@clisp.org>
35449
35450         pipe: Set errno upon failure.
35451         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35452         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35453         errno value in error message.
35454
35455 2010-03-20  Bruno Haible  <bruno@clisp.org>
35456             Jim Meyering  <meyering@redhat.com>
35457
35458         lchown: Avoid "unused variable" warning.
35459         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35460
35461 2010-03-20  Bruno Haible  <bruno@clisp.org>
35462
35463         Work around unlink() bug on MacOS X 10.5.6.
35464         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35465         attempting to unlink a parent directory.
35466         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35467         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35468         activate for the replacement function.
35469         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35470
35471 2010-03-20  Bruno Haible  <bruno@clisp.org>
35472
35473         Fix link errors on Solaris 8.
35474         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35475         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35476
35477 2010-03-19  Jim Meyering  <meyering@redhat.com>
35478
35479         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35480         The _LIBC implementation of build_range_exp correctly honors the
35481         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35482         However, the non-_LIBC implementation would ignore that syntax-bit
35483         flag and return REG_ERANGE unconditionally.
35484         This change makes it honor that flag.
35485         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35486         Make two pointer parameters "const".
35487         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35488         (parse_bracket_exp): Update caller.
35489
35490         regex.m4: correct the reversed range endpoint ([b-a]) test
35491         * m4/regex.m4: When requiring that [b-a] evoke failure,
35492         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35493         test pass once again for x86-based systems.
35494
35495 2010-03-19  Bruno Haible  <bruno@clisp.org>
35496
35497         scandir: Fix link error on Solaris 8.
35498         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35499         macros.
35500
35501 2010-03-19  Bruno Haible  <bruno@clisp.org>
35502
35503         getusershell: Fix documentation.
35504         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35505         module.
35506         * doc/glibc-functions/setusershell.texi: Likewise.
35507
35508         getusershell: Provide declaration, missing on Solaris 9.
35509         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35510         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35511         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35512         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35514         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35515         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35516         HAVE_GETUSERSHELL.
35517         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35518
35519 2010-03-19  Bruno Haible  <bruno@clisp.org>
35520
35521         wctype: Provide iswblank function.
35522         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35523         exists and is fine.
35524         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35525         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35526         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35527         * doc/posix-functions/iswblank.texi: Update.
35528
35529 2010-03-19  Bruno Haible  <bruno@clisp.org>
35530
35531         Tests of module 'pty' in C++ mode.
35532         * modules/pty-tests: New file.
35533         * tests/test-pty-c++.cc: New file.
35534         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35535
35536 2010-03-19  Eric Blake  <eblake@redhat.com>
35537
35538         logb: fix documentation
35539         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35540         1.5 declaration bug.
35541
35542         forkpty, openpty: prefer glibc's const-safe prototype
35543         * lib/forkpty.c (rpl_forkpty): New file.
35544         * lib/openpty.c (rpl_openpty): Likewise.
35545         * modules/forkpty (Files): Distribute it.
35546         * modules/openpty (Files): Likewise.
35547         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35548         check...
35549         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35550         replacement for for non-const BSD signature.
35551         * modules/pty (Makefile.am): Substitute witnesses.
35552         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35553         * tests/test-forkpty.c: Update signature check.
35554         * tests/test-openpty.c: Likewise.
35555         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35556         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35557
35558         forkpty, openpty: split functions into new modules
35559         * modules/pty (Makefile.am): Substitute new witnesses.
35560         (Libraries): Move library detection...
35561         * modules/forkpty: ...into new module.
35562         * modules/openpty: Another new module.
35563         * modules/pty-tests: Rename and split...
35564         * modules/forkpty-tests: ...to this...
35565         * modules/openpty-tests: ...and this.
35566         * tests/test-pty.c: Rename and split...
35567         * tests/test-forkpty.c: ...to this...
35568         * tests/test-openpty.c: ...and this.
35569         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35570         (gl_PTY): Split library searching...
35571         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35572         (gl_FORKPTY, gl_OPENPTY): New macros.
35573         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35574         * NEWS: Mention the split.
35575         * MODULES.html.sh (Misc): Document the modules.
35576         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35577         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35578
35579         pty: improve replacement header
35580         * lib/pty.in.h: New file.
35581         * modules/pty (Files): Ship it.
35582         (Makefile.am): Always build replacement.
35583         * m4/pty.m4: Rename...
35584         * m4/pty_h.m4: ...to this.
35585         (gl_PTY): Modernize setting of witness macros; update check of
35586         forkpty to take proper advantage of cache.
35587         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35588
35589         getopt: avoid compiler warning
35590         * lib/getopt.c (attribute_hidden): Remove unused macro.
35591
35592 2010-03-18  Bruno Haible  <bruno@clisp.org>
35593
35594         Fix link errors on Solaris 8.
35595         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35596         * modules/search-tests (test_search_c___LDADD): Likewise.
35597         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35598         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35599         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35600         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35601         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35602         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35603         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35604
35605 2010-03-18  Bruno Haible  <bruno@clisp.org>
35606
35607         Fix bug introduced on 2010-03-14.
35608         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35609         (gl_SPAWN_H): Require it.
35610         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35611         Reported by Simon Josefsson.
35612
35613 2010-03-18  Bruno Haible  <bruno@clisp.org>
35614
35615         Fix typo introduced on 2009-12-31.
35616         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35617         posix_spawn_file_actions_adddup2.
35618
35619 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35620         and Eric Blake  <eblake@redhat.com>
35621
35622         test-vc-list-files-git: make more robust
35623         * tests/test-vc-list-files-git.sh: Unset problematic environment
35624         variables.  Chain commands together.
35625
35626 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35627
35628         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35629         `AC_CHECK_DECL' invocation.
35630
35631 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35632
35633         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35634         appears before executable statements. Suggested by Petr Sumbera
35635         <Petr.Sumbera@Sun.COM>.
35636
35637 2010-03-14  Bruno Haible  <bruno@clisp.org>
35638
35639         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35640         portability problems. Instead use a simpler test.
35641         (main): Check that invalid arguments are rejected only on Linux.
35642
35643 2010-03-14  Bruno Haible  <bruno@clisp.org>
35644
35645         Fix bug introduced on 2009-12-31.
35646         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35647         gl_PREREQ_SYS_H_WINSOCK2 always.
35648         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35649         SYS_SOCKET_H variable.
35650         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35651         Update comments.
35652         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35653         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35654         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35655         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35656         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35657
35658 2010-03-14  Bruno Haible  <bruno@clisp.org>
35659
35660         Fix values returned by sinl, cosl.
35661         * lib/trigl.h: Add specification comments.
35662         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35663         that combines the values from the precomputed table with the values of
35664         the Chebyshev polynomials.
35665
35666 2010-03-14  Bruno Haible  <bruno@clisp.org>
35667
35668         Fix compilation error when modules 'posix_spawn[p]' are not used.
35669         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35670         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35671
35672 2010-03-14  Bruno Haible  <bruno@clisp.org>
35673
35674         Fix compilation error on mingw when module 'time_r' is not used.
35675         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35676         is 1.
35677         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35678         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35679         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35680         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35681
35682 2010-03-14  Bruno Haible  <bruno@clisp.org>
35683
35684         Fix compilation error with Sun C.
35685         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35686         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35687         instead of GCC specific ULONG_LONG_MAX.
35688         * lib/xstrtoll.c: Likewise.
35689         * lib/xstrtoull.c: Likewise.
35690
35691 2010-03-13  Bruno Haible  <bruno@clisp.org>
35692
35693         Allow the user to disable C++ code and tests.
35694         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35695         (gl_PROG_ANSI_CXX): Require it.
35696
35697 2010-03-13  Bruno Haible  <bruno@clisp.org>
35698
35699         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35700         cases.
35701
35702 2010-03-13  Bruno Haible  <bruno@clisp.org>
35703
35704         Test that gnulib does not break the standard C++ headers.
35705         * tests/test-locale-c++2.cc: New file.
35706         * modules/locale-tests (Files): Add it.
35707         (Makefile.am): Compile it for test-locale-c++.
35708         * tests/test-math-c++2.cc: New file.
35709         * modules/math-tests (Files): Add it.
35710         (Makefile.am): Compile it for test-math-c++.
35711         * tests/test-signal-c++2.cc: New file.
35712         * modules/signal-tests (Files): Add it.
35713         (Makefile.am): Compile it for test-signal-c++.
35714         * tests/test-stdio-c++2.cc: New file.
35715         * modules/stdio-tests (Files): Add it.
35716         (Makefile.am): Compile it for test-stdio-c++.
35717         * tests/test-stdlib-c++2.cc: New file.
35718         * modules/stdlib-tests (Files): Add it.
35719         (Makefile.am): Compile it for test-stdlib-c++.
35720         * tests/test-string-c++2.cc: New file.
35721         * modules/string-tests (Files): Add it.
35722         (Makefile.am): Compile it for test-string-c++.
35723         * tests/test-time-c++2.cc: New file.
35724         * modules/time-tests (Files): Add it.
35725         (Makefile.am): Compile it for test-time-c++.
35726         Reported by John W. Eaton <jwe@gnu.org>.
35727
35728 2010-03-13  Bruno Haible  <bruno@clisp.org>
35729
35730         * gnulib-tool (func_usage): Clarify which options are available for
35731         --create-testdir and --create-megatestdir.
35732
35733 2010-03-13  Bruno Haible  <bruno@clisp.org>
35734
35735         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
35736         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
35737         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
35738         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
35739         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
35740         when appropriate.
35741         Reported by Jim Meyering.
35742
35743 2010-03-12  Simon Josefsson  <simon@josefsson.org>
35744
35745         * gnulib-tool (func_import): Explain origin of code.
35746
35747 2010-03-12  Bruno Haible  <bruno@clisp.org>
35748
35749         Fix problem with automake's definition of CXXLINK.
35750         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
35751         Reported by Simon Josefsson and Ludovic Courtès.
35752
35753 2010-03-12  Bruno Haible  <bruno@clisp.org>
35754
35755         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
35756         stable releases.
35757
35758 2010-03-11  Bruno Haible  <bruno@clisp.org>
35759
35760         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
35761         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
35762         whether the system provides one variant or multiple variants of the
35763         function.
35764         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
35765         C++ compilers.
35766         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
35767         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
35768         Reported by Jim Meyering.
35769
35770 2010-03-09  Simon Josefsson  <simon@josefsson.org>
35771
35772         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
35773
35774 2010-03-08  Bruno Haible  <bruno@clisp.org>
35775
35776         gnulib-tool: Add support for --libtool in --create-testdir.
35777         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
35778         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
35779
35780 2010-03-08  Eric Blake  <eblake@redhat.com>
35781
35782         gnulib-tool.texi: mention possibility of git submodule
35783         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
35784         submodules.
35785         * doc/.gitignore: Ignore another generated file.
35786
35787 2010-03-08  Karl Berry  <karl@gnu.org>
35788
35789         * doc/gnulib-tool.texi (VCS Issues): Mention third option
35790         of committing gnulib files while skipping others.
35791
35792 2010-03-07  Bruno Haible  <bruno@clisp.org>
35793
35794         Tests of module 'wctype' in C++ mode.
35795         * tests/test-wctype-c++.cc: New file.
35796         * modules/wctype-tests (Files): Add it and tests/signature.h.
35797         (Depends-on): Add ansi-c++-opt.
35798         (Makefile.am): Arrange to compile and run test-wctype-c++.
35799
35800         Tests of module 'wchar' in C++ mode.
35801         * tests/test-wchar-c++.cc: New file.
35802         * modules/wchar-tests (Files): Add it and tests/signature.h.
35803         (Depends-on): Add ansi-c++-opt.
35804         (Makefile.am): Arrange to compile and run test-wchar-c++.
35805         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
35806         gl_MODULE_INDICATOR.
35807
35808         Tests of module 'unistd' in C++ mode.
35809         * tests/test-unistd-c++.cc: New file.
35810         * modules/unistd-tests (Files): Add it and tests/signature.h.
35811         (Depends-on): Add ansi-c++-opt.
35812         (Makefile.am): Arrange to compile and run test-unistd-c++.
35813         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
35814         gl_MODULE_INDICATOR.
35815
35816         Tests of module 'time' in C++ mode.
35817         * tests/test-time-c++.cc: New file.
35818         * modules/time-tests (Files): Add it and tests/signature.h.
35819         (Depends-on): Add ansi-c++-opt.
35820         (Makefile.am): Arrange to compile and run test-time-c++.
35821         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35822
35823         Tests of module 'sys_time' in C++ mode.
35824         * tests/test-sys_time-c++.cc: New file.
35825         * modules/sys_time-tests (Files): Add it and tests/signature.h.
35826         (Depends-on): Add ansi-c++-opt.
35827         (Makefile.am): Arrange to compile and run test-sys_time-c++.
35828         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
35829         gl_MODULE_INDICATOR.
35830
35831         Tests of module 'sys_stat' in C++ mode.
35832         * tests/test-sys_stat-c++.cc: New file.
35833         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
35834         (Depends-on): Add ansi-c++-opt.
35835         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
35836         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
35837         gl_MODULE_INDICATOR.
35838
35839         Tests of module 'sys_socket' in C++ mode.
35840         * tests/test-sys_socket-c++.cc: New file.
35841         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
35842         (Depends-on): Add ansi-c++-opt.
35843         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
35844         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
35845         gl_MODULE_INDICATOR.
35846
35847         Tests of module 'sys_select' in C++ mode.
35848         * tests/test-sys_select-c++.cc: New file.
35849         * modules/sys_select-tests (Files): Add it and tests/signature.h.
35850         (Depends-on): Add ansi-c++-opt.
35851         (Makefile.am): Arrange to compile and run test-sys_select-c++.
35852         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
35853         gl_MODULE_INDICATOR.
35854
35855         Tests of module 'sys_ioctl' in C++ mode.
35856         * tests/test-sys_ioctl-c++.cc: New file.
35857         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
35858         (Depends-on): Add ansi-c++-opt.
35859         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
35860         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
35861         gl_MODULE_INDICATOR.
35862
35863         Tests of module 'string' in C++ mode.
35864         * tests/test-string-c++.cc: New file.
35865         * modules/string-tests (Files): Add it and tests/signature.h.
35866         (Depends-on): Add ansi-c++-opt.
35867         (Makefile.am): Arrange to compile and run test-string-c++.
35868         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
35869         gl_MODULE_INDICATOR.
35870
35871         Tests of module 'stdlib' in C++ mode.
35872         * tests/test-stdlib-c++.cc: New file.
35873         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35874         (Depends-on): Add ansi-c++-opt.
35875         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35876         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35877         gl_MODULE_INDICATOR.
35878
35879         Tests of module 'stdio' in C++ mode.
35880         * tests/test-stdio-c++.cc: New file.
35881         * modules/stdio-tests (Files): Add it and tests/signature.h.
35882         (Depends-on): Add ansi-c++-opt.
35883         (Makefile.am): Arrange to compile and run test-stdio-c++.
35884         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
35885         gl_MODULE_INDICATOR.
35886
35887         Tests of module 'spawn' in C++ mode.
35888         * tests/test-spawn-c++.cc: New file.
35889         * modules/spawn-tests (Files): Add it and tests/signature.h.
35890         (Depends-on): Add ansi-c++-opt.
35891         (Makefile.am): Arrange to compile and run test-spawn-c++.
35892         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
35893         gl_MODULE_INDICATOR.
35894
35895         Tests of module 'signal' in C++ mode.
35896         * tests/test-signal-c++.cc: New file.
35897         * modules/signal-tests (Files): Add it and tests/signature.h.
35898         (Depends-on): Add ansi-c++-opt.
35899         (Makefile.am): Arrange to compile and run test-signal-c++.
35900         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
35901         gl_MODULE_INDICATOR.
35902
35903         Tests of module 'search' in C++ mode.
35904         * tests/test-search-c++.cc: New file.
35905         * modules/search-tests (Files): Add it and tests/signature.h.
35906         (Depends-on): Add ansi-c++-opt.
35907         (Makefile.am): Arrange to compile and run test-search-c++.
35908         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
35909         gl_MODULE_INDICATOR.
35910
35911         Tests of module 'math' in C++ mode.
35912         * tests/test-math-c++.cc: New file.
35913         * modules/math-tests (Files): Add it and tests/signature.h.
35914         (Depends-on): Add ansi-c++-opt.
35915         (Makefile.am): Arrange to compile and run test-math-c++.
35916         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35917
35918         Tests of module 'locale' in C++ mode.
35919         * tests/test-locale-c++.cc: New file.
35920         * modules/locale-tests (Files): Add it and tests/signature.h.
35921         (Depends-on): Add ansi-c++-opt.
35922         (Makefile.am): Arrange to compile and run test-locale-c++.
35923         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
35924         gl_MODULE_INDICATOR.
35925
35926         Tests of module 'langinfo' in C++ mode.
35927         * tests/test-langinfo-c++.cc: New file.
35928         * modules/langinfo-tests (Files): Add it and tests/signature.h.
35929         (Depends-on): Add ansi-c++-opt.
35930         (Makefile.am): Arrange to compile and run test-langinfo-c++.
35931         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
35932         gl_MODULE_INDICATOR.
35933
35934         Tests of module 'iconv-h' in C++ mode.
35935         * tests/test-iconv-h-c++.cc: New file.
35936         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
35937         (Depends-on): Add ansi-c++-opt.
35938         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
35939
35940         Tests of module 'glob' in C++ mode.
35941         * tests/test-glob-c++.cc: New file.
35942         * modules/glob-tests (Files): Add it.
35943         (Depends-on): Add ansi-c++-opt.
35944         (Makefile.am): Arrange to compile and run test-glob-c++.
35945
35946         Tests of module 'fcntl-h' in C++ mode.
35947         * tests/test-fcntl-h-c++.cc: New file.
35948         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
35949         (Depends-on): Add ansi-c++-opt.
35950         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
35951         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
35952         gl_MODULE_INDICATOR.
35953
35954         Tests of module 'dirent' in C++ mode.
35955         * tests/test-dirent-c++.cc: New file.
35956         * modules/dirent-tests (Files): Add it and tests/signature.h.
35957         (Depends-on): Add ansi-c++-opt.
35958         (Makefile.am): Arrange to compile and run test-dirent-c++.
35959         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35960         gl_MODULE_INDICATOR.
35961
35962         New module 'ansi-c++-opt'.
35963         * modules/ansi-c++-opt: New file.
35964         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
35965
35966         Document C++ namespace mode.
35967         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
35968
35969         wctype: Avoid #define replacements in C++ mode.
35970         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
35971         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
35972         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
35973         In C++, define a namespaced alias symbol.
35974         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
35975         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
35976         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
35977         rule.
35978
35979         wchar: Avoid #define replacements in C++ mode.
35980         * lib/wchar.in.h: Include c++defs.h.
35981         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
35982         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
35983         symbol.
35984         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
35985         * modules/wchar (Depends-on): Add c++defs.
35986         (Makefile.am): Update wchar.h rule.
35987
35988         unistd: Avoid #define replacements in C++ mode.
35989         * lib/unistd.in.h: Include c++defs.h.
35990         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
35991         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
35992         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
35993         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
35994         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
35995         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
35996         symbol.
35997         (environ): Update.
35998         * modules/unistd (Depends-on): Add c++defs.
35999         (Makefile.am): Update unistd.h rule.
36000
36001         time: Avoid #define replacements in C++ mode.
36002         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36003         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36004         define a namespaced alias symbol.
36005         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36006         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36007         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36008         * modules/time (Depends-on): Add c++defs, warn-on-use.
36009         (Makefile.am): Update time.h rule.
36010         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36011         * modules/nanosleep (configure.ac): Likewise.
36012         * modules/strptime (configure.ac): Likewise.
36013         * modules/timegm (configure.ac): Likewise.
36014
36015         sys_time: Avoid #define replacements in C++ mode.
36016         * lib/sys_time.in.h: Include c++defs.h.
36017         (gettimeofday): In C++, define a namespaced alias symbol.
36018         * modules/sys_time (Depends-on): Add c++defs.
36019         (Makefile.am): Update sys/time.h rule.
36020
36021         sys_stat: Avoid #define replacements in C++ mode.
36022         * lib/sys_stat.in.h: Include c++defs.h.
36023         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36024         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36025         namespaced alias symbol.
36026         In C++, define a namespaced alias symbol.
36027         * modules/sys_stat (Depends-on): Add c++defs.
36028         (Makefile.am): Update sys/stat.h rule.
36029
36030         sys_socket: Avoid #define replacements in C++ mode.
36031         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36032         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36033         definitions also when the system has a <sys/socket.h>.
36034         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36035         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36036         In C++, define a namespaced alias symbol.
36037         * modules/sys_socket (Depends-on): Add c++defs.
36038         (Makefile.am): Update sys/socket.h rule.
36039
36040         sys_select: Avoid #define replacements in C++ mode.
36041         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36042         definitions also when the system has a <sys/select.h>.
36043         (select): In C++, define a namespaced alias symbol.
36044         * modules/sys_select (Depends-on): Add c++defs.
36045         (Makefile.am): Update sys/select.h rule.
36046
36047         sys_ioctl: Avoid #define replacements in C++ mode.
36048         * lib/sys_ioctl.in.h: Include c++defs.h.
36049         (ioctl): In C++, define a namespaced alias symbol.
36050         * modules/sys_ioctl (Depends-on): Add c++defs.
36051         (Makefile.am): Update sys/ioctl.h rule.
36052
36053         string: Avoid #define replacements in C++ mode.
36054         * lib/string.in.h: Include c++defs.h.
36055         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36056         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36057         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36058         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36059         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36060         * modules/string (Depends-on): Add c++defs.
36061         (Makefile.am): Update string.h rule.
36062
36063         stdlib: Avoid #define replacements in C++ mode.
36064         * lib/stdlib.in.h: Include c++defs.h.
36065         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36066         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36067         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36068         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36069         symbol.
36070         * modules/stdlib (Depends-on): Add c++defs.
36071         (Makefile.am): Update stdlib.h rule.
36072
36073         stdio: Avoid #define replacements in C++ mode.
36074         * lib/stdio.in.h: Include c++defs.h.
36075         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36076         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36077         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36078         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36079         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36080         namespaced alias symbol.
36081         * modules/stdio (Depends-on): Add c++defs.
36082         (Makefile.am): Update stdio.h rule.
36083
36084         spawn: Avoid #define replacements in C++ mode.
36085         * lib/spawn.in.h: Include c++defs.h.
36086         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36087         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36088         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36089         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36090         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36091         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36092         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36093         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36094         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36095         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36096         In C++, define a namespaced alias symbol.
36097         * modules/spawn (Depends-on): Add c++defs.
36098         (Makefile.am): Update spawn.h rule.
36099
36100         signal: Avoid #define replacements in C++ mode.
36101         * lib/signal.in.h: Include c++defs.h.
36102         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36103         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36104         namespaced alias symbol.
36105         * modules/signal (Depends-on): Add c++defs.
36106         (Makefile.am): Update signal.h rule.
36107
36108         search: Avoid #define replacements in C++ mode.
36109         * lib/search.in.h: Include c++defs.h.
36110         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36111         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36112         symbol.
36113         * modules/search (Depends-on): Add c++defs.
36114         (Makefile.am): Update search.h rule.
36115
36116         math: Avoid #define replacements in C++ mode.
36117         * lib/math.in.h: Include c++defs.h.
36118         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36119         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36120         trunc, truncl): In C++, define a namespaced alias symbol.
36121         * modules/math (Depends-on): Add c++defs.
36122         (Makefile.am): Update math.h rule.
36123
36124         locale: Avoid #define replacements in C++ mode.
36125         * lib/locale.in.h: Include c++defs.h.
36126         (duplocale): In C++, define a namespaced alias symbol.
36127         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36128         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36129         * modules/locale (Depends-on): Add c++defs.
36130         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36131
36132         langinfo: Avoid #define replacements in C++ mode.
36133         * lib/langinfo.in.h: Include c++defs.h.
36134         (nl_langinfo): In C++, define a namespaced alias symbol.
36135         * modules/langinfo (Depends-on): Add c++defs.
36136         (Makefile.am): Update langinfo.h rule.
36137
36138         iconv-h: Avoid #define replacements in C++ mode.
36139         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36140         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36141         symbol.
36142         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36143         whenever iconv is present.
36144         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36145         (Makefile.am): Update iconv.h rule.
36146
36147         glob: Avoid #define replacements in C++ mode.
36148         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36149         (_gl_glob_errfunc_fn): New type.
36150         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36151         symbol.
36152         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36153         (Makefile.am): Update glob.h rule.
36154
36155         fcntl-h: Avoid #define replacements in C++ mode.
36156         * lib/fcntl.in.h: Include c++defs.h.
36157         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36158         * modules/fcntl-h (Depends-on): Add c++defs.
36159         (Makefile.am): Update fcntl.h rule.
36160
36161         dirent: Avoid #define replacements in C++ mode.
36162         * lib/dirent.in.h: Include c++defs.h.
36163         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36164         namespaced alias symbol.
36165         (dirfd): Update declaration.
36166         * modules/dirent (Depends-on): Add c++defs.
36167         (Makefile.am): Update dirent.h rule.
36168
36169         ctype: Make it usable in C++ code.
36170         * lib/ctype.in.h: Include c++defs.h.
36171         (isblank): Declare as extern "C".
36172         * modules/ctype (Depends-on): Add c++defs.
36173         (Makefile.am): Update ctype.h rule.
36174
36175         New module 'c++defs'.
36176         * modules/c++defs: New file.
36177         * build-aux/c++defs.h: New file.
36178         Reported by John W. Eaton <jwe@gnu.org>.
36179
36180 2010-03-07  Bruno Haible  <bruno@clisp.org>
36181
36182         logb: Provide missing declaration for Cygwin.
36183         * lib/math.in.h (logb): New declaration.
36184         * m4/logb.m4: New file.
36185         * modules/logb (Files): Add m4/logb.m4.
36186         (Depends-on): Add math.
36187         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36188         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36190         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36191         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36192
36193 2010-03-07  Bruno Haible  <bruno@clisp.org>
36194
36195         Fix test-cond link error.
36196         * tests/test-cond.c: Include <stdio.h>.
36197
36198 2010-03-07  Bruno Haible  <bruno@clisp.org>
36199
36200         Fix test-dirent-safer link error.
36201         * modules/dirent-safer-tests (Makefile.am): Define
36202         test_dirent_safer_LDADD.
36203
36204 2010-03-07  Bruno Haible  <bruno@clisp.org>
36205
36206         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36207         among default module list.
36208
36209 2010-03-07  Bruno Haible  <bruno@clisp.org>
36210
36211         Fix link error on platforms with GNU libiconv.
36212         * modules/unistr/u8-strcoll-tests (Makefile): Define
36213         test_u8_strcoll_LDADD.
36214         * modules/unistr/u16-strcoll-tests (Makefile): Define
36215         test_u16_strcoll_LDADD.
36216         * modules/unistr/u32-strcoll-tests (Makefile): Define
36217         test_u32_strcoll_LDADD.
36218
36219 2010-03-07  Bruno Haible  <bruno@clisp.org>
36220
36221         Use POSIX declarations for socket functions.
36222         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36223         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36224         rpl_sendto): Change declaration to match POSIX.
36225         * lib/connect.c (rpl_connect): Likewise.
36226         * lib/accept.c (rpl_accept): Likewise.
36227         * lib/bind.c (rpl_bind): Likewise.
36228         * lib/getpeername.c (rpl_getpeername): Likewise.
36229         * lib/getsockname.c (rpl_getsockname): Likewise.
36230         * lib/recv.c (rpl_recv): Likewise.
36231         * lib/send.c (rpl_send): Likewise.
36232         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36233         * lib/sendto.c (rpl_sendto): Likewise.
36234
36235 2010-03-06  Bruno Haible  <bruno@clisp.org>
36236
36237         Clarify access, euidaccess, faccessat.
36238         * doc/posix-functions/faccessat.texi: Mention security problem under
36239         "Other problems", not "Portability problems".
36240         * doc/posix-functions/access.texi: Likewise. Mention a related security
36241         problem.
36242         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36243         * lib/euidaccess.c: Add comments about platforms.
36244         * lib/unistd.in.h (access, euidaccess): Add warnings.
36245
36246 2010-03-07  Bruno Haible  <bruno@clisp.org>
36247
36248         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36249         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36250         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36251         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36252         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36253         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36254         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36255         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36256         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36257         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36258         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36259         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36260         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36261         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36262         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36263         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36264         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36265         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36266         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36267         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36268         Likewise.
36269         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36270         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36271         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36272         Likewise.
36273         * tests/test-spawn.c (main): Make it work when
36274         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36275
36276 2010-03-07  Bruno Haible  <bruno@clisp.org>
36277
36278         Fix incorrect Makefile.am generation in German locale.
36279         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36280         Execute sed command with character range in C locale.
36281
36282 2010-03-06  Bruno Haible  <bruno@clisp.org>
36283
36284         Tests for module 'iconv-h'.
36285         * modules/iconv-h-tests: New file.
36286         * tests/test-iconv-h.c: New file.
36287
36288         New module 'iconv-h'.
36289         * modules/iconv-h: New file.
36290         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36291         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36292         (configure.ac): Remove gl_ICONV_H.
36293         (Makefile.am): Remove rule for iconv.h.
36294
36295 2010-03-06  Bruno Haible  <bruno@clisp.org>
36296
36297         More consistent naming of *.m4 files.
36298         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36299         * modules/wctype (Files): Update.
36300
36301         More consistent naming of *.m4 files.
36302         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36303         * modules/wchar (Files): Update.
36304
36305 2010-03-06  Jim Meyering  <meyering@redhat.com>
36306
36307         euidaccess: relax license to LGPLv2+
36308         * modules/euidaccess (License): Relax to LGPLv2+.
36309
36310 2010-03-06  Bruno Haible  <bruno@clisp.org>
36311
36312         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36313         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36314         (Makefile.am): Augment lib_SOURCES instead.
36315
36316 2010-03-04  Jim Meyering  <meyering@redhat.com>
36317
36318         utime: remove obsolete module
36319         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36320         unnecessary for years, and has been marked as obsolete for 10 months.
36321         * modules/utime: Remove file.
36322         * lib/utime.c: Remove file.
36323         * m4/utime.m4: Remove file.
36324         * m4/utimes-null.m4: Remove file.
36325         * doc/posix-functions/utime.texi (utime): Remove reference to
36326         the module.  Move the sole "fixed by gnulib" item into the
36327         "problems not fixed by Gnulib" list.
36328         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36329
36330 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36331
36332         * modules/exit (License): Relax license to LGPLv2+.
36333         (Status): Mark as obsolete.
36334         * NEWS: Mention deprecated 'exit' module.
36335         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36336         of now obsolete 'exit'.
36337
36338 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36339
36340         fts-lgpl: remove unused module
36341         * modules/fts-lgpl: Remove.
36342         * MODULES.html.sh (func_all_modules): Adjust.
36343         * check-module (find_included_lib_files): Adjust.
36344         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36345
36346 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36347
36348         copy-acl: enhance Solaris ACL error handling
36349         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36350         * lib/set-mode-acl.c (qset_acl): Likewise.
36351
36352 2010-03-02  Bruno Haible  <bruno@clisp.org>
36353
36354         spawn: Don't override the system defined values on FreeBSD 8.
36355         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36356         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36357         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36358         if HAVE_POSIX_SPAWN is 1.
36359         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36360
36361 2010-03-01  Bruno Haible  <bruno@clisp.org>
36362
36363         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36364         regarding Automake.
36365
36366 2010-02-25  Bruno Haible  <bruno@clisp.org>
36367
36368         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36369         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36370         setting, not afterwards.
36371         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36372
36373 2010-02-24  Eric Blake  <eblake@redhat.com>
36374
36375         bootstrap, git-version-gen: use timestamp
36376         * build-aux/git-version-gen (scriptversion): Force UTC.
36377         * build-aux/bootstrap (scriptversion): New variable.
36378
36379         bootstrap: allow older git
36380         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36381         older than 1.6.4.  Requested by the libvirt project.
36382
36383 2010-02-23  Eric Blake  <eblake@redhat.com>
36384
36385         warn-on-use: work with old autoconf
36386         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36387         AS_VAR semantics of autoconf 2.60.
36388         Reported by Bruno Haible.
36389
36390         bootstrap: improve some comments
36391         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36392         clarification comments.
36393
36394         gettimeofday: provide correct function
36395         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36396         when replacement is declared, otherwise provide gettimeofday.
36397         Reported by Michael Goffioul.
36398
36399 2010-02-23  Jim Meyering  <meyering@redhat.com>
36400
36401         lib-ignore: relax license to "unlimited", not LGPLv2+
36402         * modules/lib-ignore (License): Relax to "unlimited".
36403
36404 2010-02-23  Jim Meyering  <meyering@redhat.com>
36405
36406         lib-ignore: relax license to LGPLv2+
36407         * modules/lib-ignore (License): Relax to LGPLv2+.
36408
36409 2010-02-22  Eric Blake  <eblake@redhat.com>
36410
36411         lseek: avoid bash 3.2 broken pipe bug
36412         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36413         warning from bash 3.2.
36414         Reported by Ben Pfaff, with analysis from Bruno Haible.
36415
36416         bootstrap: support non-FSF copyright holder
36417         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36418         bootstrap.conf override of COPYRIGHT_HOLDER.
36419         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36420
36421         bootstrap: interoperate with gettext 0.14.1
36422         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36423
36424         bootstrap: allow for alternate submodule location
36425         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36426         hardcoding submodule location.
36427         (gnulib_mk): Allow direct use of Makefile.am.
36428
36429         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36430         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36431         rather than reconfiguring where the submodule points.
36432
36433         gettimeofday: restore support for platforms that lack function
36434         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36435         replacement if function is missing.
36436         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36437         * modules/sys_time (Makefile.am): Substitute it.
36438         * lib/sys_time.in.h (gettimeofday): Check it.
36439         Reported by Michael Goffioul.
36440
36441 2010-02-21  Bruno Haible  <bruno@clisp.org>
36442
36443         * lib/stdio.in.h (obstack_printf): Fix typo.
36444
36445 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36446
36447         vc-list-files: use bzr ls's -R option
36448         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36449         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36450
36451 2010-02-21  Jim Meyering  <meyering@redhat.com>
36452
36453         init.sh: fix EXEEXT shims to work also for names like test-prog
36454         * tests/init.sh: Re-exec a better shell, when needed.
36455         If the current shell lacks support for posix $(...), an init.sh-using
36456         test will now try to find a shell that supports that.  If EXEEXT is
36457         nonempty, we also require support for hyphen-in-alias-name and shell
36458         substitutions like ${var#glob}.  Failure to find such a shell results
36459         in a skipped test.
36460
36461 2010-02-21  Bruno Haible  <bruno@clisp.org>
36462
36463         Really work around around "broken pipe" error message from bash 3.2.
36464         * gnulib-tool (func_reset_sigpipe): Remove function.
36465         (echo): In bash 3.2, define to a function that uses printf.
36466         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36467
36468 2010-02-20  Bruno Haible  <bruno@clisp.org>
36469
36470         Restore support for automake 1.9.6 with autoconf 2.61.
36471         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36472         Reported by James Youngman <jay@gnu.org>.
36473
36474 2010-02-20  Bruno Haible  <bruno@clisp.org>
36475
36476         Improve *printf warning condition.
36477         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36478         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36479         and the function is overridden due to SIGPIPE emulation.
36480
36481 2010-02-20  Bruno Haible  <bruno@clisp.org>
36482
36483         * lib/stdio.in.h: Tweak comments.
36484
36485 2010-02-19  Bruno Haible  <bruno@clisp.org>
36486
36487         Make it easier to find modules. New gnulib-tool option '--find'.
36488         * gnulib-tool: New option --find.
36489         (func_usage): Document it.
36490         (func_sanitize_modulelist): New function, extracted from
36491         func_all_modules.
36492         (func_all_modules): Invoke it.
36493         * doc/gnulib-tool.texi (Which modules?): New node.
36494
36495 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36496
36497         * lib/sys_select.in.h: Provide select replacement even if
36498         sys/select.h exists on a system, for Interix.
36499
36500 2010-02-18  Jim Meyering  <meyering@redhat.com>
36501
36502         init.sh: don't use $(...) just yet
36503         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36504         to accommodate e.g., Solaris' /bin/sh.
36505
36506 2010-02-17  Bruno Haible  <bruno@clisp.org>
36507
36508         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36509         Reported by Ludovic Courtès <ludo@gnu.org>.
36510
36511 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36512
36513         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36514         linking with -lintl.
36515
36516 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36517
36518         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36519         if not provided by the system's netdb.h.  Reported by
36520         ludo@gnu.org (Ludovic Courtès).
36521
36522 2010-02-15  Jim Meyering  <meyering@redhat.com>
36523
36524         init.sh: improve portability and efficiency
36525         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36526         "dummy" in a for loop.
36527         Use '!', not '^' to select the complement of a character set used
36528         in a "case" statement.
36529         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36530         Suggestions from Eric Blake.
36531
36532         init.sh: automatically accommodate programs with the .exe suffix
36533         Automatically arrange for an invocation of "prog" to execute the
36534         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36535         may use the simpler "prog", yet still work when built on a system
36536         that requires specifying the added suffix.
36537         Do this by constructing a function named "prog" that invokes
36538         "prog.exe" for each .exe file in selected directories.
36539         * tests/init.sh (find_exe_basenames_): New function.
36540         (create_exe_shim_functions_): New function.
36541         (path_prepend_): Use it.
36542
36543         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36544         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36545         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36546
36547 2010-02-14  Jim Meyering  <meyering@redhat.com>
36548
36549         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36550         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36551         (sc_prohibit_hash_pjw_without_use): New rule.
36552
36553         maint.mk: allow the default upload destination dir to be overridden
36554         * top/maint.mk (upload_dest_dir_): Define with a default that
36555         preserves the status quo.
36556         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36557         Reported by Peter Simons.
36558
36559         maint.mk: prohibit inclusion of "hash.h" without_use
36560         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36561
36562 2010-02-10  Jim Meyering  <meyering@redhat.com>
36563
36564         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36565         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36566
36567 2010-02-09  Eric Blake  <ebb9@byu.net>
36568         and Bruno Haible  <bruno@clisp.org>
36569
36570         obstack-printf-posix: ensure declaration
36571         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36572         extracted from gl_FUNC_OBSTACK_PRINTF.
36573         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36574         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36575         Likewise.
36576         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36577         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36578         0.
36579
36580 2010-02-08  Bruno Haible  <bruno@clisp.org>
36581
36582         gnulib-tool: Fix typo in 2010-02-07 commit.
36583         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36584         Reported by Eric Blake.
36585
36586 2010-02-07  Bruno Haible  <bruno@clisp.org>
36587
36588         gnulib-tool: Fix up caching patches.
36589         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36590         option --no-cache. Use associative arrays when supported by the shell.
36591         (sed_comments): New variable.
36592         (modcache): Renamed from do_cache.
36593         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36594         abbreviate unnecessarily.
36595         (have_associative): New variable.
36596         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36597         way also for ksh and zsh.
36598         (func_init_sed_convert_to_cache_statements): New function, extracted
36599         from func_cache_lookup_module. Add support for associative arrays.
36600         Don't set the c_MODULE_cached variable here. Ignore all lines before
36601         the first field header. Remove only the final newline, not all trailing
36602         newlines. Support empty fields correctly. Limit the use of 'eval' to
36603         assignments.
36604         (func_get_description, func_get_status, func_get_notice,
36605         func_get_applicability, func_get_filelist, func_get_dependencies,
36606         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36607         func_get_automake_snippet, func_get_include_directive,
36608         func_get_link_directive, func_get_license, func_get_maintainer):
36609         Update documentation. List the unoptimized code first. Add support for
36610         associative arrays. Limit the use of 'eval' to assignments.
36611         (func_get_applicability): Undo stylistic pessimisations.
36612         (func_get_automake_snippet, func_get_include_directive): Reduce code
36613         duplication.
36614         (func_modules_transitive_closure, func_modules_add_dummy,
36615         func_modules_notice, func_modules_to_filelist, func_add_file,
36616         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36617         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36618         func_create_testdir, func_create_megatestdir): Update documentation.
36619
36620 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36621
36622         * gnulib-tool (func_cache_lookup_module): Store the module name
36623         belonging to the cache variable; error out if two different
36624         module names map to the same cache variable name.
36625
36626 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36627
36628         gnulib-tool: Make caching optional.
36629         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36630         Update matching short versions of --no-changelog.
36631         (func_usage): Update.
36632         (sed_extract_cache_prog): Renamed from ...
36633         (sed_extract_prog): ... this; revert to old extraction script.
36634         (func_get_description, func_get_status)
36635         (func_get_notice, func_get_applicability, func_get_filelist)
36636         (func_get_dependencies, func_get_autoconf_early_snippet)
36637         (func_get_autoconf_snippet, func_get_automake_snippet)
36638         (func_get_include_directive, func_get_link_directive)
36639         (func_get_license, func_get_maintainer): If $do_cache is false,
36640         use old, non-caching extraction scripts.
36641         Suggestion by Bruno Haible.
36642
36643 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36644
36645         gnulib-tool: cache module metainformation.
36646         * gnulib-tool (sed_extract_prog): Match newline before each
36647         header, and rewrite header to a shell variable suffix.
36648         (func_cache_var, func_cache_lookup_module): New functions,
36649         to turn a module name into a cache variable prefix, and to
36650         look up and cache module metainformation.
36651         (func_get_description, func_get_status)
36652         (func_get_notice, func_get_applicability, func_get_filelist)
36653         (func_get_dependencies, func_get_autoconf_early_snippet)
36654         (func_get_autoconf_snippet, func_get_automake_snippet)
36655         (func_get_include_directive, func_get_link_directive)
36656         (func_get_license, func_get_maintainer): Use
36657         func_cache_lookup_module.
36658
36659 2010-02-07  Bruno Haible  <bruno@clisp.org>
36660
36661         fnctl: Fix missing dependency.
36662         * modules/fcntl (Depends-on): Add getdtablesize.
36663         Reported by John W. Eaton <jwe@gnu.org>.
36664
36665 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36666
36667         Argp: fix recognition of short alias options.
36668
36669         * lib/argp-parse.c (convert_options): Fix improper use of
36670         `|' between character values.
36671         * tests/test-argp.c (group1_option): New alias option
36672         --read (-r).
36673         (group1_parser): Special handling for 'r'.
36674         (test15): New test case.
36675         (test_fun): Add test15.
36676         * tests/test-argp-2.sh: Update expected --help and --usage
36677         outputs.
36678
36679 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36680
36681         * tests/test-argp.c: Fix indentation.
36682
36683 2010-02-04  Eric Blake  <ebb9@byu.net>
36684
36685         gettimeofday: expose type of second argument
36686         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36687         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36688         * tests/test-gettimeofday.c: Use it to silence warning.
36689         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36690         the issue.
36691
36692 2010-02-03  Jim Meyering  <meyering@redhat.com>
36693
36694         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36695         * lib/regcomp.c (TYPE_SIGNED): Define.
36696         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36697
36698         regcomp.c: avoid a new -Wshadow warning
36699         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36700
36701 2010-02-01  Jim Meyering  <meyering@redhat.com>
36702
36703         removing useless parentheses in cpp #define directives
36704         For motivation, see commit c0221df4, "define STREQ(a,b)
36705         consistently, removing useless parentheses"
36706         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36707         * lib/mountlist.c (MNT_IGNORE): Likewise.
36708         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
36709
36710 2010-02-01  Eric Blake  <ebb9@byu.net>
36711
36712         sys_time: use link-warning
36713         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
36714         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
36715         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
36716         * modules/sys_time (Depends-on): Add warn-on-use.
36717         (Makefile.am): Always build replacement.
36718         (configure.ac): Update substitutions.
36719         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
36720         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
36721         bother with SYS_TIME_H.
36722         * modules/gettimeofday (configure.ac): Declare indicator.
36723         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
36724         in use.
36725
36726         closein-tests: silence compiler warning
36727         * tests/test-closein.c (main): Ignore fread result.
36728         * modules/closein-tests (Depends-on): Add ignore-value.
36729
36730         tests: silence warning about system return
36731         * tests/test-areadlink-with-size.c (main): Ignore system result.
36732         * tests/test-areadlink.c (main): Likewise.
36733         * tests/test-areadlinkat-with-size.c (main): Likewise.
36734         * tests/test-areadlinkat.c (main): Likewise.
36735         * tests/test-canonicalize-lgpl.c (main): Likewise.
36736         * tests/test-canonicalize.c (main): Likewise.
36737         * tests/test-chown.c (main): Likewise.
36738         * tests/test-fchownat.c (main): Likewise.
36739         * tests/test-fdutimensat.c (main): Likewise.
36740         * tests/test-fstatat.c (main): Likewise.
36741         * tests/test-futimens.c (main): Likewise.
36742         * tests/test-lchown.c (main): Likewise.
36743         * tests/test-link.c (main): Likewise.
36744         * tests/test-linkat.c (main): Likewise.
36745         * tests/test-lstat.c (main): Likewise.
36746         * tests/test-mkdir.c (main): Likewise.
36747         * tests/test-mkdirat.c (main): Likewise.
36748         * tests/test-mkfifo.c (main): Likewise.
36749         * tests/test-mkfifoat.c (main): Likewise.
36750         * tests/test-mknod.c (main): Likewise.
36751         * tests/test-readlink.c (main): Likewise.
36752         * tests/test-remove.c (main): Likewise.
36753         * tests/test-rename.c (main): Likewise.
36754         * tests/test-renameat.c (main): Likewise.
36755         * tests/test-rmdir.c (main): Likewise.
36756         * tests/test-symlink.c (main): Likewise.
36757         * tests/test-symlinkat.c (main): Likewise.
36758         * tests/test-unlink.c (main): Likewise.
36759         * tests/test-unlinkat.c (main): Likewise.
36760         * tests/test-utimens.c (main): Likewise.
36761         * tests/test-utimensat.c (main): Likewise.
36762         * modules/areadlink-tests (Depends-on): Add ignore-value.
36763         * modules/areadlink-with-size-tests (Depends-on): Likewise.
36764         * modules/areadlinkat-tests (Depends-on): Likewise.
36765         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
36766         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36767         * modules/canonicalize-tests (Depends-on): Likewise.
36768         * modules/chown-tests (Depends-on): Likewise.
36769         * modules/fdutimensat-tests (Depends-on): Likewise.
36770         * modules/futimens-tests (Depends-on): Likewise.
36771         * modules/lchown-tests (Depends-on): Likewise.
36772         * modules/link-tests (Depends-on): Likewise.
36773         * modules/linkat-tests (Depends-on): Likewise.
36774         * modules/lstat-tests (Depends-on): Likewise.
36775         * modules/mkdir-tests (Depends-on): Likewise.
36776         * modules/mkfifo-tests (Depends-on): Likewise.
36777         * modules/mkfifoat-tests (Depends-on): Likewise.
36778         * modules/mknod-tests (Depends-on): Likewise.
36779         * modules/openat-tests (Depends-on): Likewise.
36780         * modules/readlink-tests (Depends-on): Likewise.
36781         * modules/remove-tests (Depends-on): Likewise.
36782         * modules/rename-tests (Depends-on): Likewise.
36783         * modules/renameat-tests (Depends-on): Likewise.
36784         * modules/rmdir-tests (Depends-on): Likewise.
36785         * modules/symlink-tests (Depends-on): Likewise.
36786         * modules/symlinkat-tests (Depends-on): Likewise.
36787         * modules/unlink-tests (Depends-on): Likewise.
36788         * modules/utimens-tests (Depends-on): Likewise.
36789         * modules/utimensat-tests (Depends-on): Likewise.
36790
36791 2010-01-31  Bruno Haible  <bruno@clisp.org>
36792
36793         Perform the same test for many <math.h> functions.
36794         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
36795         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
36796         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
36797         of gl_MATHFUNC.
36798         * modules/acos (configure.ac): Likewise.
36799         * modules/asin (configure.ac): Likewise.
36800         * modules/atan (configure.ac): Likewise.
36801         * modules/atan2 (configure.ac): Likewise.
36802         * modules/cbrt (configure.ac): Likewise.
36803         * modules/copysign (configure.ac): Likewise.
36804         * modules/cos (configure.ac): Likewise.
36805         * modules/cosh (configure.ac): Likewise.
36806         * modules/erf (configure.ac): Likewise.
36807         * modules/erfc (configure.ac): Likewise.
36808         * modules/exp (configure.ac): Likewise.
36809         * modules/fmod (configure.ac): Likewise.
36810         * modules/hypot (configure.ac): Likewise.
36811         * modules/j0 (configure.ac): Likewise.
36812         * modules/j1 (configure.ac): Likewise.
36813         * modules/jn (configure.ac): Likewise.
36814         * modules/lgamma (configure.ac): Likewise.
36815         * modules/log (configure.ac): Likewise.
36816         * modules/log10 (configure.ac): Likewise.
36817         * modules/log1p (configure.ac): Likewise.
36818         * modules/pow (configure.ac): Likewise.
36819         * modules/remainder (configure.ac): Likewise.
36820         * modules/sin (configure.ac): Likewise.
36821         * modules/sinh (configure.ac): Likewise.
36822         * modules/tan (configure.ac): Likewise.
36823         * modules/tanh (configure.ac): Likewise.
36824         * modules/y0 (configure.ac): Likewise.
36825         * modules/y1 (configure.ac): Likewise.
36826         * modules/yn (configure.ac): Likewise.
36827         Suggested by Paolo Bonzini.
36828
36829 2010-01-31  Bruno Haible  <bruno@clisp.org>
36830
36831         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
36832
36833 2010-01-31  Bruno Haible  <bruno@clisp.org>
36834
36835         Work around getdelim() bug on FreeBSD 8.0.
36836         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
36837         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
36838         not work.
36839         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
36840         is 1.
36841         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
36842         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
36843         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
36844         a non-zero size.
36845         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
36846
36847 2010-01-31  Bruno Haible  <bruno@clisp.org>
36848
36849         Work around getline() bug on FreeBSD 8.0.
36850         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
36851         and a non-zero size.
36852         * tests/test-getline.c (main): Likewise.
36853         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
36854         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
36855
36856 2010-01-28  Eric Blake  <ebb9@byu.net>
36857
36858         regex: fix build failure
36859         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
36860         platforms.
36861
36862 2010-01-28  Jim Meyering  <meyering@redhat.com>
36863
36864         regex: do not ignore memory allocation failure
36865         * lib/regex_internal.c (create_cd_newstate): Detect
36866         re_node_set_init_copy failure.   Extracted from glibc commit
36867         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36868
36869         regex: sync more white-space changes from libc
36870         * lib/regex_internal.c: White-space only changes.
36871         * lib/regexec.c: Likewise.
36872
36873         regex: add many uses of __attribute_warn_unused_result__
36874         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36875         * lib/regexec.c: Likewise.
36876         Extracted from a messy glibc commit.
36877
36878         regcomp.c: spelling and merge-artifact from glibc
36879         * lib/regcomp.c: Merge remainder of glibc's
36880         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36881
36882         regcomp.c: sync white-space changes from glibc
36883         * lib/regcomp.c: Merge to accommodate white space
36884         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36885
36886         regcomp.c: do not ignore internal return values
36887         * lib/regcomp.c: Do not ignore internal return values.
36888         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
36889         but without its white-space changes and spelling fixes.
36890
36891         regex_internal.h: define __attribute_warn_unused_result__
36892         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
36893
36894         maint: add a syntax-check rule to check for vulnerable Makefile.in
36895         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
36896
36897 2010-01-27  Jim Meyering  <meyering@redhat.com>
36898
36899         ncftpput-ftp: clean up spaces
36900         * build-aux/ncftpput-ftp: Make Copyright line consistent.
36901         Remove trailing blanks.
36902
36903 2010-01-27  Simon Josefsson  <simon@josefsson.org>
36904
36905         * build-aux/git-version-gen: Fix copyright statement.
36906         * build-aux/gnupload: Likewise.
36907         * tests/test-arcfour.c: Likewise.
36908         * tests/test-arctwo.c: Likewise.
36909         * tests/test-count-one-bits.c: Likewise.
36910         * tests/test-crc.c: Likewise.
36911         * tests/test-des.c: Likewise.
36912         * tests/test-gc-arcfour.c: Likewise.
36913         * tests/test-gc-arctwo.c: Likewise.
36914         * tests/test-gc-des.c: Likewise.
36915         * tests/test-gc-hmac-md5.c: Likewise.
36916         * tests/test-gc-hmac-sha1.c: Likewise.
36917         * tests/test-gc-md2.c: Likewise.
36918         * tests/test-gc-md4.c: Likewise.
36919         * tests/test-gc-md5.c: Likewise.
36920         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36921         * tests/test-gc-rijndael.c: Likewise.
36922         * tests/test-gc-sha1.c: Likewise.
36923         * tests/test-gc.c: Likewise.
36924         * tests/test-gethostname.c: Likewise.
36925         * tests/test-gettimeofday.c: Likewise.
36926         * tests/test-hash.c: Likewise.
36927         * tests/test-hmac-md5.c: Likewise.
36928         * tests/test-hmac-sha1.c: Likewise.
36929         * tests/test-md2.c: Likewise.
36930         * tests/test-md4.c: Likewise.
36931         * tests/test-md5.c: Likewise.
36932         * tests/test-memchr.c: Likewise.
36933         * tests/test-memchr2.c: Likewise.
36934         * tests/test-memcmp.c: Likewise.
36935         * tests/test-memmem.c: Likewise.
36936         * tests/test-memrchr.c: Likewise.
36937         * tests/test-rawmemchr.c: Likewise.
36938         * tests/test-read-file.c: Likewise.
36939         * tests/test-rijndael.c: Likewise.
36940         * tests/test-sockets.c: Likewise.
36941         * tests/test-strchrnul.c: Likewise.
36942         * tests/test-strstr.c: Likewise.
36943         * tests/test-strtod.c: Likewise.
36944         * build-aux/ncftpput-ftp: Likewise.
36945
36946 2010-01-26  Eric Blake  <ebb9@byu.net>
36947
36948         ignore-value: update recommended header name
36949         * modules/ignore-value (Include): Only use <> for headers that
36950         exist in glibc.
36951
36952 2010-01-26  Jim Meyering  <meyering@redhat.com>
36953
36954         test-userspec.c: avoid compiler warnings
36955         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
36956         and "initialization discards qualifiers..." warnings.
36957         Put the first "uid" in its own scope, and make char* members "const".
36958
36959 2010-01-25  Bruno Haible  <bruno@clisp.org>
36960
36961         gnulib-tool: Make warning diagnostics consistent.
36962         * gnulib-tool (func_warning): New function.
36963         Use it everywhere where gnulib-tool produces output to stderr and it is
36964         not a fatal error.
36965
36966 2010-01-25  Bruno Haible  <bruno@clisp.org>
36967
36968         Fix test dependencies.
36969         * modules/xstrtol-tests (Depends-on): Add inttypes.
36970         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
36971
36972 2010-01-25 Pádraig Brady <P@draigBrady.com>
36973
36974         syntax-check: detect incorrect boolean macro values in config.h
36975         * modules/maintainer-makefile (configure.ac): Parameterize the location
36976         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
36977         The logic is from Eric Blake and the location indicated by Jim Meyering.
36978         Note the more natural CONFIG_HEADER name is prohibited by automake
36979         for backwards compatibility reasons.
36980         * top/maint.mk (sc_Wundef_boolean): New rule.
36981
36982 2010-01-25  Jim Meyering  <meyering@redhat.com>
36983
36984         bootstrap: detect MacOS 10.6's shasum, too
36985         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
36986         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
36987
36988 2010-01-23  Jim Meyering  <meyering@redhat.com>
36989
36990         xstrtoll: new module
36991         * modules/xstrtoll: New file.
36992         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
36993         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
36994         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
36995         ./configure fails if you use this module and lack "long long".
36996         * modules/xstrtoll-tests: New module.
36997         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
36998         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
36999         new init.sh-based test framework.
37000
37001 2010-01-24  Bruno Haible  <bruno@clisp.org>
37002
37003         Tests for module 'yn'.
37004         * modules/yn-tests: New file.
37005         * tests/test-yn.c: New file.
37006
37007         Tests for module 'y1'.
37008         * modules/y1-tests: New file.
37009         * tests/test-y1.c: New file.
37010
37011         Tests for module 'y0'.
37012         * modules/y0-tests: New file.
37013         * tests/test-y0.c: New file.
37014
37015         Tests for module 'tanh'.
37016         * modules/tanh-tests: New file.
37017         * tests/test-tanh.c: New file.
37018
37019         Tests for module 'tan'.
37020         * modules/tan-tests: New file.
37021         * tests/test-tan.c: New file.
37022
37023         Tests for module 'sqrt'.
37024         * modules/sqrt-tests: New file.
37025         * tests/test-sqrt.c: New file.
37026
37027         Tests for module 'sinh'.
37028         * modules/sinh-tests: New file.
37029         * tests/test-sinh.c: New file.
37030
37031         Tests for module 'sin'.
37032         * modules/sin-tests: New file.
37033         * tests/test-sin.c: New file.
37034
37035         Tests for module 'rint'.
37036         * modules/rint-tests: New file.
37037         * tests/test-rint.c: New file.
37038
37039         Tests for module 'remainder'.
37040         * modules/remainder-tests: New file.
37041         * tests/test-remainder.c: New file.
37042
37043         Tests for module 'pow'.
37044         * modules/pow-tests: New file.
37045         * tests/test-pow.c: New file.
37046
37047         Tests for module 'nextafter'.
37048         * modules/nextafter-tests: New file.
37049         * tests/test-nextafter.c: New file.
37050
37051         Tests for module 'modf'.
37052         * modules/modf-tests: New file.
37053         * tests/test-modf.c: New file.
37054
37055         Tests for module 'logb'.
37056         * modules/logb-tests: New file.
37057         * tests/test-logb.c: New file.
37058
37059         Tests for module 'log1p'.
37060         * modules/log1p-tests: New file.
37061         * tests/test-log1p.c: New file.
37062
37063         Tests for module 'log10'.
37064         * modules/log10-tests: New file.
37065         * tests/test-log10.c: New file.
37066
37067         Tests for module 'log'.
37068         * modules/log-tests: New file.
37069         * tests/test-log.c: New file.
37070
37071         Tests for module 'lgamma'.
37072         * modules/lgamma-tests: New file.
37073         * tests/test-lgamma.c: New file.
37074
37075         Tests for module 'ldexp'.
37076         * modules/ldexp-tests: New file.
37077         * tests/test-ldexp.c: New file.
37078
37079         Tests for module 'jn'.
37080         * modules/jn-tests: New file.
37081         * tests/test-jn.c: New file.
37082
37083         Tests for module 'j1'.
37084         * modules/j1-tests: New file.
37085         * tests/test-j1.c: New file.
37086
37087         Tests for module 'j0'.
37088         * modules/j0-tests: New file.
37089         * tests/test-j0.c: New file.
37090
37091         Tests for module 'hypot'.
37092         * modules/hypot-tests: New file.
37093         * tests/test-hypot.c: New file.
37094
37095         Tests for module 'fmod'.
37096         * modules/fmod-tests: New file.
37097         * tests/test-fmod.c: New file.
37098
37099         Tests for module 'fabs'.
37100         * modules/fabs-tests: New file.
37101         * tests/test-fabs.c: New file.
37102
37103         Tests for module 'exp'.
37104         * modules/exp-tests: New file.
37105         * tests/test-exp.c: New file.
37106
37107         Tests for module 'erfc'.
37108         * modules/erfc-tests: New file.
37109         * tests/test-erfc.c: New file.
37110
37111         Tests for module 'erf'.
37112         * modules/erf-tests: New file.
37113         * tests/test-erf.c: New file.
37114
37115         Tests for module 'cosh'.
37116         * modules/cosh-tests: New file.
37117         * tests/test-cosh.c: New file.
37118
37119         Tests for module 'cos'.
37120         * modules/cos-tests: New file.
37121         * tests/test-cos.c: New file.
37122
37123         Tests for module 'copysign'.
37124         * modules/copysign-tests: New file.
37125         * tests/test-copysign.c: New file.
37126
37127         Tests for module 'cbrt'.
37128         * modules/cbrt-tests: New file.
37129         * tests/test-cbrt.c: New file.
37130
37131         Tests for module 'atan2'.
37132         * modules/atan2-tests: New file.
37133         * tests/test-atan2.c: New file.
37134
37135         Tests for module 'atan'.
37136         * modules/atan-tests: New file.
37137         * tests/test-atan.c: New file.
37138
37139         Tests for module 'asin'.
37140         * modules/asin-tests: New file.
37141         * tests/test-asin.c: New file.
37142
37143         Tests for module 'acos'.
37144         * modules/acos-tests: New file.
37145         * tests/test-acos.c: New file.
37146
37147 2010-01-24  Bruno Haible  <bruno@clisp.org>
37148
37149         Fix tests for common <math.h> functions.
37150         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37151         code snippet that references the function pointer, rather than merely
37152         calling the function. Substitute the FUNC_LIBM variable.
37153         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37154         * modules/acos (configure.ac): Likewise.
37155         * modules/asin (configure.ac): Likewise.
37156         * modules/atan (configure.ac): Likewise.
37157         * modules/atan2 (configure.ac): Likewise.
37158         * modules/cbrt (configure.ac): Likewise.
37159         * modules/copysign (configure.ac): Likewise.
37160         * modules/cos (configure.ac): Likewise.
37161         * modules/cosh (configure.ac): Likewise.
37162         * modules/erf (configure.ac): Likewise.
37163         * modules/erfc (configure.ac): Likewise.
37164         * modules/exp (configure.ac): Likewise.
37165         * modules/fabs (configure.ac): Likewise.
37166         * modules/fmod (configure.ac): Likewise.
37167         * modules/hypot (configure.ac): Likewise.
37168         * modules/j0 (configure.ac): Likewise.
37169         * modules/j1 (configure.ac): Likewise.
37170         * modules/jn (configure.ac): Likewise.
37171         * modules/ldexp (configure.ac): Likewise.
37172         * modules/lgamma (configure.ac): Likewise.
37173         * modules/log (configure.ac): Likewise.
37174         * modules/log10 (configure.ac): Likewise.
37175         * modules/log1p (configure.ac): Likewise.
37176         * modules/logb (configure.ac): Likewise.
37177         * modules/modf (configure.ac): Likewise.
37178         * modules/nextafter (configure.ac): Likewise.
37179         * modules/pow (configure.ac): Likewise.
37180         * modules/remainder (configure.ac): Likewise.
37181         * modules/rint (configure.ac): Likewise.
37182         * modules/sin (configure.ac): Likewise.
37183         * modules/sinh (configure.ac): Likewise.
37184         * modules/tan (configure.ac): Likewise.
37185         * modules/tanh (configure.ac): Likewise.
37186         * modules/y0 (configure.ac): Likewise.
37187         * modules/y1 (configure.ac): Likewise.
37188         * modules/yn (configure.ac): Likewise.
37189
37190 2010-01-24  Bruno Haible  <bruno@clisp.org>
37191
37192         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37193         * tests/test-acosl.c (x): New variable.
37194         (main): Store argument in x and fetch it from x.
37195         * tests/test-asinl.c (x): New variable.
37196         (main): Store argument in x and fetch it from x.
37197         * tests/test-atanl.c (x): New variable.
37198         (main): Store argument in x and fetch it from x.
37199         * tests/test-cosl.c (x): New variable.
37200         (main): Store argument in x and fetch it from x.
37201         * tests/test-expl.c (x): New variable.
37202         (main): Store argument in x and fetch it from x.
37203         * tests/test-logl.c (x): New variable.
37204         (main): Store argument in x and fetch it from x.
37205         * tests/test-sinl.c (x): New variable.
37206         (main): Store argument in x and fetch it from x.
37207         * tests/test-sqrtl.c (x): New variable.
37208         (main): Store argument in x and fetch it from x.
37209         * tests/test-tanl.c (x): New variable.
37210         (main): Store argument in x and fetch it from x.
37211
37212 2010-01-24  Bruno Haible  <bruno@clisp.org>
37213
37214         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37215         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37216         assignments to the initial TESTS_ENVIRONMENT.
37217         * doc/gnulib.texi (Unit test modules): Document it.
37218         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37219         TESTS_ENVIRONMENT.
37220         * modules/btowc-tests (Makefile.am): Likewise.
37221         * modules/c-stack-tests (Makefile.am): Likewise.
37222         * modules/c-strcase-tests (Makefile.am): Likewise.
37223         * modules/copy-file-tests (Makefile.am): Likewise.
37224         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37225         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37226         * modules/mbrtowc-tests (Makefile.am): Likewise.
37227         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37228         * modules/mbscasestr-tests (Makefile.am): Likewise.
37229         * modules/mbschr-tests (Makefile.am): Likewise.
37230         * modules/mbscspn-tests (Makefile.am): Likewise.
37231         * modules/mbsinit-tests (Makefile.am): Likewise.
37232         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37233         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37234         * modules/mbspbrk-tests (Makefile.am): Likewise.
37235         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37236         * modules/mbsrchr-tests (Makefile.am): Likewise.
37237         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37238         * modules/mbsspn-tests (Makefile.am): Likewise.
37239         * modules/mbsstr-tests (Makefile.am): Likewise.
37240         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37241         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37242         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37243         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37244         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37245         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37246         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37247         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37248         * modules/wcrtomb-tests (Makefile.am): Likewise.
37249         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37250         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37251         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37252         assignments from TESTS_ENVIRONMENT.
37253         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37254         augmentation.
37255         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37256         * modules/atexit-tests (Makefile.am): Likewise.
37257         * modules/binary-io-tests (Makefile.am): Likewise.
37258         * modules/closein-tests (Makefile.am): Likewise.
37259         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37260         * modules/exclude-tests (Makefile.am): Likewise.
37261         * modules/fflush-tests (Makefile.am): Likewise.
37262         * modules/fpending-tests (Makefile.am): Likewise.
37263         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37264         * modules/freadahead-tests (Makefile.am): Likewise.
37265         * modules/freadptr-tests (Makefile.am): Likewise.
37266         * modules/freadseek-tests (Makefile.am): Likewise.
37267         * modules/fseek-tests (Makefile.am): Likewise.
37268         * modules/fseeko-tests (Makefile.am): Likewise.
37269         * modules/ftell-tests (Makefile.am): Likewise.
37270         * modules/ftello-tests (Makefile.am): Likewise.
37271         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37272         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37273         * modules/lseek-tests (Makefile.am): Likewise.
37274         * modules/parse-duration-tests (Makefile.am): Likewise.
37275         * modules/perror-tests (Makefile.am): Likewise.
37276         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37277         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37278         * modules/pipe-tests (Makefile.am): Likewise.
37279         * modules/pread-tests (Makefile.am): Likewise.
37280         * modules/printf-posix-tests (Makefile.am): Likewise.
37281         * modules/select-tests (Makefile.am): Likewise.
37282         * modules/sigpipe-tests (Makefile.am): Likewise.
37283         * modules/tsearch-tests (Makefile.am): Likewise.
37284         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37285         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37286         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37287         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37288         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37289         * modules/version-etc-tests (Makefile.am): Likewise.
37290         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37291         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37292         * modules/xalloc-die-tests (Makefile.am): Likewise.
37293         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37294         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37295         * modules/xstrtol-tests (Makefile.am): Likewise.
37296         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37297         * modules/yesno-tests (Makefile.am): Likewise.
37298         Suggested by Jim Meyering.
37299
37300 2010-01-24  Bruno Haible  <bruno@clisp.org>
37301
37302         More documentation.
37303         * doc/gnulib.texi (Writing modules): New chapter.
37304         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37305         the new chapter.
37306
37307 2010-01-24  Jim Meyering  <meyering@redhat.com>
37308
37309         maint.mk: do not prepend "./" after filtering
37310         * top/maint.mk (_prepend_srcdir_prefix): New variable
37311         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37312         "./" when $(srcdir) is ".".
37313
37314         define STREQ(a,b) consistently, removing useless parentheses
37315         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37316         since the only risk is that "a" or "b" contains an unparenthesized
37317         comma, but if either did that, STREQ would have 3 or more arguments.
37318         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37319         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37320         * lib/hash-triple.c (STREQ): Likewise.
37321         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37322         * lib/getugroups.c (STREQ): Likewise.
37323
37324 2010-01-23  Jim Meyering  <meyering@redhat.com>
37325
37326         maint.mk: fix syntax-check in a non-srcdir build directory
37327         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37328         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37329
37330 2010-01-22  Jim Meyering  <meyering@redhat.com>
37331
37332         userspec: add unit tests
37333         * tests/test-userspec.c: New file.
37334         * modules/userspec-tests: Likewise.
37335
37336 2010-01-21  Jim Meyering  <meyering@redhat.com>
37337
37338         maint.mk: handle source file names containing "." robustly
37339         * top/maint.mk (_dot_escaped_srcdir): Define.
37340         (VC_LIST): Use it in LHS of sed substitution.
37341
37342 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37343
37344         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37345         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37346         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37347         from a non-srcdir build.
37348
37349 2010-01-20  Eric Blake  <ebb9@byu.net>
37350
37351         warn-on-use: use instead of link-warning
37352         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37353         * modules/unistd (Depends-on, Makefile.am): Likewise.
37354         * modules/arpa_inet (Depends-on): Replace link-warning with
37355         warn-on-use.
37356         (Makefile.am): Update rules accordingly.
37357         * modules/ctype (Depends-on, Makefile.am): Likewise.
37358         * modules/dirent (Depends-on, Makefile.am): Likewise.
37359         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37360         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37361         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37362         * modules/locale (Depends-on, Makefile.am): Likewise.
37363         * modules/math (Depends-on, Makefile.am): Likewise.
37364         * modules/search (Depends-on, Makefile.am): Likewise.
37365         * modules/signal (Depends-on, Makefile.am): Likewise.
37366         * modules/spawn (Depends-on, Makefile.am): Likewise.
37367         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37368         * modules/string (Depends-on, Makefile.am): Likewise.
37369         * modules/strings (Depends-on, Makefile.am): Likewise.
37370         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37371         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37372         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37373         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37374         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37375         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37376         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37377         * modules/wchar (Depends-on, Makefile.am): Likewise.
37378         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37379         should be poisoned.
37380         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37381         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37382         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37383         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37384         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37385         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37386         * m4/math_h.m4 (gl_MATH_H): Likewise.
37387         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37388         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37389         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37390         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37391         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37392         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37393         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37394         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37395         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37396         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37397         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37398         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37399         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37400         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37401         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37402         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37403         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37404         GL_LINK_WARNING.
37405         * lib/ctype.in.h: Likewise.
37406         * lib/dirent.in.h: Likewise.
37407         * lib/fcntl.in.h: Likewise.
37408         * lib/inttypes.in.h: Likewise.
37409         * lib/langinfo.in.h: Likewise.
37410         * lib/locale.in.h: Likewise.
37411         * lib/math.in.h: Likewise.
37412         * lib/search.in.h: Likewise.
37413         * lib/signal.in.h: Likewise.
37414         * lib/spawn.in.h: Likewise.
37415         * lib/stdio.in.h: Likewise.
37416         * lib/stdlib.in.h: Likewise.
37417         * lib/string.in.h: Likewise.
37418         * lib/strings.in.h: Likewise.
37419         * lib/sys_file.in.h: Likewise.
37420         * lib/sys_ioctl.in.h: Likewise.
37421         * lib/sys_select.in.h: Likewise.
37422         * lib/sys_socket.in.h: Likewise.
37423         * lib/sys_stat.in.h: Likewise.
37424         * lib/sys_times.in.h: Likewise.
37425         * lib/sys_utsname.in.h: Likewise.
37426         * lib/unistd.in.h: Likewise.
37427         * lib/wchar.in.h: Likewise.
37428
37429 2010-01-20  Bruno Haible  <bruno@clisp.org>
37430
37431         Avoid duplicate -lm.
37432         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37433         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37434         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37435         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37436         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37437         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37438         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37439         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37440         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37441         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37442         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37443         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37444         Reported by Paolo Bonzini.
37445
37446 2010-01-19  Bruno Haible  <bruno@clisp.org>
37447
37448         langinfo, nl_langinfo: Relicense under LGPLv2+.
37449         * modules/langinfo (License): Change to LGPLv2+.
37450         * modules/nl_langinfo (License): Likewise.
37451         Patch by David Lutterkort <lutter@redhat.com>.
37452
37453 2010-01-19  Bruno Haible  <bruno@clisp.org>
37454
37455         Avoid compilation error with cc on OSF/1 5.1.
37456         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37457         statement, not before.
37458         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37459
37460 2010-01-18  Bruno Haible  <bruno@clisp.org>
37461
37462         Avoid a link error due to the __printf__ symbol.
37463         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37464         and 2.6.x.
37465         (__format__, __printf__): Remove definitions.
37466         * lib/argp-fmtstream.h: Likewise.
37467         * lib/argp.h: Likewise.
37468         * lib/error.h: Likewise.
37469         * lib/vasnprintf.h: Likewise.
37470         * lib/xprintf.h: Likewise.
37471         * lib/xvasprintf.h: Likewise.
37472         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37473
37474 2010-01-18  Bruno Haible  <bruno@clisp.org>
37475
37476         Tests for module 'tanl'.
37477         * modules/tanl-tests: New file.
37478         * tests/test-tanl.c: New file.
37479
37480         Tests for module 'sqrtl'.
37481         * modules/sqrtl-tests: New file.
37482         * tests/test-sqrtl.c: New file.
37483
37484         Tests for module 'sinl'.
37485         * modules/sinl-tests: New file.
37486         * tests/test-sinl.c: New file.
37487
37488         Tests for module 'logl'.
37489         * modules/logl-tests: New file.
37490         * tests/test-logl.c: New file.
37491
37492         Tests for module 'expl'.
37493         * modules/expl-tests: New file.
37494         * tests/test-expl.c: New file.
37495
37496         Tests for module 'cosl'.
37497         * modules/cosl-tests: New file.
37498         * tests/test-cosl.c: New file.
37499
37500         Tests for module 'atanl'.
37501         * modules/atanl-tests: New file.
37502         * tests/test-atanl.c: New file.
37503
37504         Tests for module 'asinl'.
37505         * modules/asinl-tests: New file.
37506         * tests/test-asinl.c: New file.
37507
37508         Tests for module 'acosl'.
37509         * modules/acosl-tests: New file.
37510         * tests/test-acosl.c: New file.
37511
37512         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37513         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37514         tanl): Use the standard gnulib idiom.
37515         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37516         * lib/sinl.c: Likewise.
37517         * lib/tanl.c: Don't include trigl.c.
37518         (kernel_tanl): Make static.
37519         * lib/sincosl.c: Include trigl.h first.
37520         * lib/trigl.c: Likewise.
37521         * m4/acosl.m4: New file.
37522         * m4/asinl.m4: New file.
37523         * m4/atanl.m4: New file.
37524         * m4/cosl.m4: New file.
37525         * m4/expl.m4: New file.
37526         * m4/logl.m4: New file.
37527         * m4/sinl.m4: New file.
37528         * m4/sqrtl.m4: New file.
37529         * m4/tanl.m4: New file.
37530         * m4/mathl.m4: Remove file.
37531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37532         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37533         Don't initialize GNULIB_MATHL.
37534         * modules/acosl: New file.
37535         * modules/asinl: New file.
37536         * modules/atanl: New file.
37537         * modules/cosl: New file.
37538         * modules/expl: New file.
37539         * modules/logl: New file.
37540         * modules/sinl: New file.
37541         * modules/sqrtl: New file.
37542         * modules/tanl: New file.
37543         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37544         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37545         substitute GNULIB_MATHL.
37546         * modules/mathl: Rewritten.
37547         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37548         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37549         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37550         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37551         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37552         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37553         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37554         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37555         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37556
37557 2010-01-18  Bruno Haible  <bruno@clisp.org>
37558
37559         sqrt: Make gl_FUNC_SQRT requirable.
37560         * m4/sqrt.m4: New file.
37561         * modules/sqrt (Files): Add it.
37562         (configure.ac): Invoke gl_FUNC_SQRT.
37563
37564 2010-01-18  Bruno Haible  <bruno@clisp.org>
37565
37566         New modules for common <math.h> functions.
37567         * m4/mathfunc.m4: New file.
37568         * modules/acos: New file.
37569         * modules/asin: New file.
37570         * modules/atan: New file.
37571         * modules/atan2: New file.
37572         * modules/cbrt: New file.
37573         * modules/copysign: New file.
37574         * modules/cos: New file.
37575         * modules/cosh: New file.
37576         * modules/erf: New file.
37577         * modules/erfc: New file.
37578         * modules/exp: New file.
37579         * modules/fabs: New file.
37580         * modules/fmod: New file.
37581         * modules/hypot: New file.
37582         * modules/j0: New file.
37583         * modules/j1: New file.
37584         * modules/jn: New file.
37585         * modules/ldexp: New file.
37586         * modules/lgamma: New file.
37587         * modules/log: New file.
37588         * modules/log10: New file.
37589         * modules/log1p: New file.
37590         * modules/logb: New file.
37591         * modules/modf: New file.
37592         * modules/nextafter: New file.
37593         * modules/pow: New file.
37594         * modules/remainder: New file.
37595         * modules/rint: New file.
37596         * modules/sin: New file.
37597         * modules/sinh: New file.
37598         * modules/sqrt: New file.
37599         * modules/tan: New file.
37600         * modules/tanh: New file.
37601         * modules/y0: New file.
37602         * modules/y1: New file.
37603         * modules/yn: New file.
37604         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37605         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37606         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37607         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37608         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37609         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37610         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37611         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37612         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37613         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37614         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37615         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37616         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37617         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37618         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37619         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37620         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37621         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37622         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37623         * doc/posix-functions/log.texi: Mention the 'log' module.
37624         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37625         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37626         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37627         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37628         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37629         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37630         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37631         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37632         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37633         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37634         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37635         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37636         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37637         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37638         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37639         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37640
37641 2010-01-18  Jim Meyering  <meyering@redhat.com>
37642
37643         ignore-value: relax license to LGPLv2+
37644         * modules/ignore-value (License): Relax to LGPLv2+.
37645
37646         getdate: don't leak when TZ contains two or more '"'s
37647         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37648         double quote in TZ after the first one.
37649
37650         readtokens: do not leak internal token_lengths buffer
37651         * lib/readtokens.c (readtokens): Free the local, lengths,
37652         when the supplied "token_lengths" parameter is NULL.
37653
37654 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37655
37656         Fix a couple of missing LIBTHREAD link failures on AIX.
37657         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37658         $(LIBTHREAD).
37659         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37660
37661         Link test-poll against INET_PTON_LIB.
37662         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37663         for inet_pton on Solaris 10.
37664
37665 2010-01-17  Bruno Haible  <bruno@clisp.org>
37666
37667         unistdio/*-sprintf: Fix typo in module description.
37668         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37669         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37670         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37671         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37672         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37673         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37674         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37675         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37676
37677 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37678
37679         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37680         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37681         variables in shell case patterns, for AIX and HP-UX ksh.
37682
37683         Split large sed scripts, for HP-UX sed.
37684         * modules/stdio: Split sed scripts around 50 sed commands,
37685         to avoid HP-UX limit of 99 commands, in the near future.
37686         * modules/string: Likewise.
37687         * modules/unistd: Likewise.
37688
37689         gnulib-tool: avoid writing in the current directory.
37690         * gnulib-tool (func_emit_lib_Makefile_am)
37691         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37692         not in the current directory, so concurrent gnulib-tool
37693         instances do not interfere.
37694
37695 2010-01-16  Jim Meyering  <meyering@redhat.com>
37696
37697         doc: update users.txt
37698         * users.txt: Add grep.
37699         (diffutils, gzip): Update URLs.
37700
37701 2010-01-12  Bruno Haible  <bruno@clisp.org>
37702
37703         posix_spawn: Avoid test failure on Cygwin.
37704         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37705         characters.
37706         Reported by Simon Josefsson.
37707
37708 2010-01-12  Bruno Haible  <bruno@clisp.org>
37709
37710         * tests/test-cond.c (main): When skipping the test, show the reason.
37711
37712 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37713
37714         * lib/striconv.c (str_cd_iconv): Avoid if before free.
37715
37716 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37717
37718         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
37719         VC_LIST_ALWAYS_EXCLUDE_REGEX.
37720
37721 2010-01-12  Eric Blake  <ebb9@byu.net>
37722
37723         build: guarantee AS_VAR_IF
37724         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
37725         (gl_AS_VAR_IF): Move...
37726         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
37727         Reported by Simon Josefsson.
37728
37729 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37730
37731         * lib/stdio.in.h: Fix typo.
37732
37733 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37734
37735         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
37736         libgpg-error.
37737
37738 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37739
37740         * tests/test-xalloc-die.sh: Use $EXEEXT.
37741
37742 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37743             Bruno Haible  <bruno@clisp.org>
37744
37745         getlogin, getlogin_r: Avoid test failure.
37746         * tests/test-getlogin.c: Include <stdio.h>.
37747         (main): Skip the test when the function fails because stdin is not a
37748         tty.
37749         * tests/test-getlogin_r.c: Include <stdio.h>.
37750         (main): Skip the test when the function fails because stdin is not a
37751         tty.
37752
37753 2010-01-11  Eric Blake  <ebb9@byu.net>
37754
37755         tests: avoid more large file warnings
37756         * tests/test-fflush.c: Avoid warning about ftell use.
37757         * tests/test-fseek.c: Avoid warning about fseek use.
37758
37759 2010-01-10  Bruno Haible  <bruno@clisp.org>
37760
37761         nproc: Work better on Linux when /proc and /sys are not mounted.
37762         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
37763         as lower bound when, on glibc/Linux systems,
37764         sysconf (_SC_NPROCESSORS_CONF) returns 1.
37765         Suggested by Pádraig Brady <P@draigbrady.com>.
37766         Reported by Dmitry V. Levin <ldv@altlinux.org>.
37767
37768         nproc: Refactor.
37769         * lib/nproc.c (num_processors_via_affinity_mask): New function,
37770         extracted from num_processors.
37771         (num_processors): Call it.
37772
37773 2010-01-11  Jim Meyering  <meyering@redhat.com>
37774
37775         utimecmp: avoid new warning from upcoming gcc-4.5.0
37776         * lib/utimecmp.c (BILLION): Define using #define rather than an
37777         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
37778
37779 2010-01-11  Eric Blake  <ebb9@byu.net>
37780
37781         math: add portability warnings for classification macros
37782         * modules/math (Depends-on): Add warn-on-use.
37783         (Makefile.am): Provide new substitutions.
37784         * m4/math_h.m4 (gl_MATH_H): Require inline.
37785         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
37786         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
37787         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
37788         implement warnings.
37789
37790         unistd: warn on use of environ without module
37791         * modules/unistd (Depends-on): Add warn-on-use.
37792         (Makefile.am): Provide new substitutions.
37793         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
37794         * lib/unistd.in.h (environ): Wrap with a warning helper function.
37795
37796         stdio: warn on suspicious uses
37797         * modules/stdio (Depends-on): Add warn-on-use.
37798         (Makefile.am): Provide new substitutions.
37799         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
37800         fseeko.
37801         * lib/stdio.in.h (gets): Always warn on use.
37802         (fseek, ftell): Adjust when warnings are issued, and honor
37803         _GL_NO_LARGE_FILES as a way to silence the warning.
37804         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
37805         any warning about large file offsets.
37806         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
37807         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
37808         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
37809         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
37810         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
37811         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
37812         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
37813         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
37814
37815         warn-on-use: new module
37816         * modules/warn-on-use: New file.
37817         * build-aux/warn-on-use.h: Likewise.
37818         * m4/warn-on-use.m4: Likewise.
37819         * MODULES.html.sh (Support for building): Mention it.
37820
37821 2010-01-10  Bruno Haible  <bruno@clisp.org>
37822
37823         Tests for module 'unistr/u32-strdup'.
37824         * modules/unistr/u32-strdup-tests: New file.
37825         * tests/unistr/test-u32-strdup.c: New file.
37826
37827         Tests for module 'unistr/u16-strdup'.
37828         * modules/unistr/u16-strdup-tests: New file.
37829         * tests/unistr/test-u16-strdup.c: New file.
37830
37831         Tests for module 'unistr/u8-strdup'.
37832         * modules/unistr/u8-strdup-tests: New file.
37833         * tests/unistr/test-u8-strdup.c: New file.
37834         * tests/unistr/test-strdup.h: New file.
37835
37836         Tests for module 'unistr/u32-strncmp'.
37837         * modules/unistr/u32-strncmp-tests: New file.
37838         * tests/unistr/test-u32-strncmp.c: New file.
37839
37840         Tests for module 'unistr/u16-strncmp'.
37841         * modules/unistr/u16-strncmp-tests: New file.
37842         * tests/unistr/test-u16-strncmp.c: New file.
37843
37844         Tests for module 'unistr/u8-strncmp'.
37845         * modules/unistr/u8-strncmp-tests: New file.
37846         * tests/unistr/test-u8-strncmp.c: New file.
37847         * tests/unistr/test-strncmp.h: New file.
37848
37849         Tests for module 'unistr/u32-strcoll'.
37850         * modules/unistr/u32-strcoll-tests: New file.
37851         * tests/unistr/test-u32-strcoll.c: New file.
37852
37853         Tests for module 'unistr/u16-strcoll'.
37854         * modules/unistr/u16-strcoll-tests: New file.
37855         * tests/unistr/test-u16-strcoll.c: New file.
37856
37857         Tests for module 'unistr/u8-strcoll'.
37858         * modules/unistr/u8-strcoll-tests: New file.
37859         * tests/unistr/test-u8-strcoll.c: New file.
37860
37861         Tests for module 'unistr/u32-strcmp'.
37862         * modules/unistr/u32-strcmp-tests: New file.
37863         * tests/unistr/test-u32-strcmp.c: New file.
37864         * tests/unistr/test-u32-strcmp.h: New file.
37865
37866         Tests for module 'unistr/u16-strcmp'.
37867         * modules/unistr/u16-strcmp-tests: New file.
37868         * tests/unistr/test-u16-strcmp.c: New file.
37869         * tests/unistr/test-u16-strcmp.h: New file.
37870
37871         Tests for module 'unistr/u8-strcmp'.
37872         * modules/unistr/u8-strcmp-tests: New file.
37873         * tests/unistr/test-u8-strcmp.c: New file.
37874         * tests/unistr/test-u8-strcmp.h: New file.
37875         * tests/unistr/test-strcmp.h: New file.
37876
37877         Tests for module 'unistr/u32-strncat'.
37878         * modules/unistr/u32-strncat-tests: New file.
37879         * tests/unistr/test-u32-strncat.c: New file.
37880
37881         Tests for module 'unistr/u16-strncat'.
37882         * modules/unistr/u16-strncat-tests: New file.
37883         * tests/unistr/test-u16-strncat.c: New file.
37884
37885         Tests for module 'unistr/u8-strncat'.
37886         * modules/unistr/u8-strncat-tests: New file.
37887         * tests/unistr/test-u8-strncat.c: New file.
37888         * tests/unistr/test-strncat.h: New file.
37889
37890         Tests for module 'unistr/u32-strcat'.
37891         * modules/unistr/u32-strcat-tests: New file.
37892         * tests/unistr/test-u32-strcat.c: New file.
37893
37894         Tests for module 'unistr/u16-strcat'.
37895         * modules/unistr/u16-strcat-tests: New file.
37896         * tests/unistr/test-u16-strcat.c: New file.
37897
37898         Tests for module 'unistr/u8-strcat'.
37899         * modules/unistr/u8-strcat-tests: New file.
37900         * tests/unistr/test-u8-strcat.c: New file.
37901         * tests/unistr/test-strcat.h: New file.
37902
37903         Tests for module 'unistr/u32-stpncpy'.
37904         * modules/unistr/u32-stpncpy-tests: New file.
37905         * tests/unistr/test-u32-stpncpy.c: New file.
37906
37907         Tests for module 'unistr/u16-stpncpy'.
37908         * modules/unistr/u16-stpncpy-tests: New file.
37909         * tests/unistr/test-u16-stpncpy.c: New file.
37910
37911         Tests for module 'unistr/u8-stpncpy'.
37912         * modules/unistr/u8-stpncpy-tests: New file.
37913         * tests/unistr/test-u8-stpncpy.c: New file.
37914         * tests/unistr/test-stpncpy.h: New file.
37915
37916         Tests for module 'unistr/u32-strncpy'.
37917         * modules/unistr/u32-strncpy-tests: New file.
37918         * tests/unistr/test-u32-strncpy.c: New file.
37919
37920         Tests for module 'unistr/u16-strncpy'.
37921         * modules/unistr/u16-strncpy-tests: New file.
37922         * tests/unistr/test-u16-strncpy.c: New file.
37923
37924         Tests for module 'unistr/u8-strncpy'.
37925         * modules/unistr/u8-strncpy-tests: New file.
37926         * tests/unistr/test-u8-strncpy.c: New file.
37927         * tests/unistr/test-strncpy.h: New file.
37928
37929         Tests for module 'unistr/u32-stpcpy'.
37930         * modules/unistr/u32-stpcpy-tests: New file.
37931         * tests/unistr/test-u32-stpcpy.c: New file.
37932
37933         Tests for module 'unistr/u16-stpcpy'.
37934         * modules/unistr/u16-stpcpy-tests: New file.
37935         * tests/unistr/test-u16-stpcpy.c: New file.
37936
37937         Tests for module 'unistr/u8-stpcpy'.
37938         * modules/unistr/u8-stpcpy-tests: New file.
37939         * tests/unistr/test-u8-stpcpy.c: New file.
37940         * tests/unistr/test-stpcpy.h: New file.
37941
37942         Tests for module 'unistr/u32-strcpy'.
37943         * modules/unistr/u32-strcpy-tests: New file.
37944         * tests/unistr/test-u32-strcpy.c: New file.
37945
37946         Tests for module 'unistr/u16-strcpy'.
37947         * modules/unistr/u16-strcpy-tests: New file.
37948         * tests/unistr/test-u16-strcpy.c: New file.
37949
37950         Tests for module 'unistr/u8-strcpy'.
37951         * modules/unistr/u8-strcpy-tests: New file.
37952         * tests/unistr/test-u8-strcpy.c: New file.
37953         * tests/unistr/test-strcpy.h: New file.
37954
37955         Tests for module 'unistr/u32-strnlen'.
37956         * modules/unistr/u32-strnlen-tests: New file.
37957         * tests/unistr/test-u32-strnlen.c: New file.
37958
37959         Tests for module 'unistr/u16-strnlen'.
37960         * modules/unistr/u16-strnlen-tests: New file.
37961         * tests/unistr/test-u16-strnlen.c: New file.
37962
37963         Tests for module 'unistr/u8-strnlen'.
37964         * modules/unistr/u8-strnlen-tests: New file.
37965         * tests/unistr/test-u8-strnlen.c: New file.
37966         * tests/unistr/test-strnlen.h: New file.
37967
37968         Tests for module 'unistr/u32-strlen'.
37969         * modules/unistr/u32-strlen-tests: New file.
37970         * tests/unistr/test-u32-strlen.c: New file.
37971
37972         Tests for module 'unistr/u16-strlen'.
37973         * modules/unistr/u16-strlen-tests: New file.
37974         * tests/unistr/test-u16-strlen.c: New file.
37975
37976         Tests for module 'unistr/u8-strlen'.
37977         * modules/unistr/u8-strlen-tests: New file.
37978         * tests/unistr/test-u8-strlen.c: New file.
37979
37980         Tests for module 'unistr/u32-prev'.
37981         * modules/unistr/u32-prev-tests: New file.
37982         * tests/unistr/test-u32-prev.c: New file.
37983
37984         Tests for module 'unistr/u16-prev'.
37985         * modules/unistr/u16-prev-tests: New file.
37986         * tests/unistr/test-u16-prev.c: New file.
37987
37988         Tests for module 'unistr/u8-prev'.
37989         * modules/unistr/u8-prev-tests: New file.
37990         * tests/unistr/test-u8-prev.c: New file.
37991
37992         Tests for module 'unistr/u32-next'.
37993         * modules/unistr/u32-next-tests: New file.
37994         * tests/unistr/test-u32-next.c: New file.
37995
37996         Tests for module 'unistr/u16-next'.
37997         * modules/unistr/u16-next-tests: New file.
37998         * tests/unistr/test-u16-next.c: New file.
37999
38000         Tests for module 'unistr/u8-next'.
38001         * modules/unistr/u8-next-tests: New file.
38002         * tests/unistr/test-u8-next.c: New file.
38003
38004         Tests for module 'unistr/u32-strmbtouc'.
38005         * modules/unistr/u32-strmbtouc-tests: New file.
38006         * tests/unistr/test-u32-strmbtouc.c: New file.
38007
38008         Tests for module 'unistr/u16-strmbtouc'.
38009         * modules/unistr/u16-strmbtouc-tests: New file.
38010         * tests/unistr/test-u16-strmbtouc.c: New file.
38011
38012         Tests for module 'unistr/u8-strmbtouc'.
38013         * modules/unistr/u8-strmbtouc-tests: New file.
38014         * tests/unistr/test-u8-strmbtouc.c: New file.
38015
38016         Tests for module 'unistr/u32-strmblen'.
38017         * modules/unistr/u32-strmblen-tests: New file.
38018         * tests/unistr/test-u32-strmblen.c: New file.
38019
38020         Tests for module 'unistr/u16-strmblen'.
38021         * modules/unistr/u16-strmblen-tests: New file.
38022         * tests/unistr/test-u16-strmblen.c: New file.
38023
38024         Tests for module 'unistr/u8-strmblen'.
38025         * modules/unistr/u8-strmblen-tests: New file.
38026         * tests/unistr/test-u8-strmblen.c: New file.
38027
38028         Tests for module 'unistr/u32-cpy-alloc'.
38029         * modules/unistr/u32-cpy-alloc-tests: New file.
38030         * tests/unistr/test-u32-cpy-alloc.c: New file.
38031
38032         Tests for module 'unistr/u16-cpy-alloc'.
38033         * modules/unistr/u16-cpy-alloc-tests: New file.
38034         * tests/unistr/test-u16-cpy-alloc.c: New file.
38035
38036         Tests for module 'unistr/u8-cpy-alloc'.
38037         * modules/unistr/u8-cpy-alloc-tests: New file.
38038         * tests/unistr/test-u8-cpy-alloc.c: New file.
38039         * tests/unistr/test-cpy-alloc.h: New file.
38040
38041         Tests for module 'unistr/u32-mbsnlen'.
38042         * modules/unistr/u32-mbsnlen-tests: New file.
38043         * tests/unistr/test-u32-mbsnlen.c: New file.
38044
38045         Tests for module 'unistr/u16-mbsnlen'.
38046         * modules/unistr/u16-mbsnlen-tests: New file.
38047         * tests/unistr/test-u16-mbsnlen.c: New file.
38048
38049         Tests for module 'unistr/u8-mbsnlen'.
38050         * modules/unistr/u8-mbsnlen-tests: New file.
38051         * tests/unistr/test-u8-mbsnlen.c: New file.
38052
38053         Tests for module 'unistr/u32-chr'.
38054         * modules/unistr/u32-chr-tests: New file.
38055         * tests/unistr/test-u32-chr.c: New file.
38056
38057         Tests for module 'unistr/u16-chr'.
38058         * modules/unistr/u16-chr-tests: New file.
38059         * tests/unistr/test-u16-chr.c: New file.
38060
38061         Tests for module 'unistr/u8-chr'.
38062         * modules/unistr/u8-chr-tests: New file.
38063         * tests/unistr/test-u8-chr.c: New file.
38064         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38065
38066         Tests for module 'unistr/u32-cmp2'.
38067         * modules/unistr/u32-cmp2-tests: New file.
38068         * tests/unistr/test-u32-cmp2.c: New file.
38069
38070         Tests for module 'unistr/u16-cmp2'.
38071         * modules/unistr/u16-cmp2-tests: New file.
38072         * tests/unistr/test-u16-cmp2.c: New file.
38073
38074         Tests for module 'unistr/u8-cmp2'.
38075         * modules/unistr/u8-cmp2-tests: New file.
38076         * tests/unistr/test-u8-cmp2.c: New file.
38077         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38078
38079         Tests for module 'unistr/u32-cmp'.
38080         * modules/unistr/u32-cmp-tests: New file.
38081         * tests/unistr/test-u32-cmp.c: New file.
38082
38083         Tests for module 'unistr/u16-cmp'.
38084         * modules/unistr/u16-cmp-tests: New file.
38085         * tests/unistr/test-u16-cmp.c: New file.
38086
38087         Tests for module 'unistr/u8-cmp'.
38088         * modules/unistr/u8-cmp-tests: New file.
38089         * tests/unistr/test-u8-cmp.c: New file.
38090         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38091
38092         Tests for module 'unistr/u32-set'.
38093         * modules/unistr/u32-set-tests: New file.
38094         * tests/unistr/test-u32-set.c: New file.
38095
38096         Tests for module 'unistr/u16-set'.
38097         * modules/unistr/u16-set-tests: New file.
38098         * tests/unistr/test-u16-set.c: New file.
38099
38100         Tests for module 'unistr/u8-set'.
38101         * modules/unistr/u8-set-tests: New file.
38102         * tests/unistr/test-u8-set.c: New file.
38103         * tests/unistr/test-set.h: New file.
38104
38105         Tests for module 'unistr/u32-move'.
38106         * modules/unistr/u32-move-tests: New file.
38107         * tests/unistr/test-u32-move.c: New file.
38108
38109         Tests for module 'unistr/u16-move'.
38110         * modules/unistr/u16-move-tests: New file.
38111         * tests/unistr/test-u16-move.c: New file.
38112
38113         Tests for module 'unistr/u8-move'.
38114         * modules/unistr/u8-move-tests: New file.
38115         * tests/unistr/test-u8-move.c: New file.
38116         * tests/unistr/test-move.h: New file.
38117
38118         Tests for module 'unistr/u32-cpy'.
38119         * modules/unistr/u32-cpy-tests: New file.
38120         * tests/unistr/test-u32-cpy.c: New file.
38121
38122         Tests for module 'unistr/u16-cpy'.
38123         * modules/unistr/u16-cpy-tests: New file.
38124         * tests/unistr/test-u16-cpy.c: New file.
38125
38126         Tests for module 'unistr/u8-cpy'.
38127         * modules/unistr/u8-cpy-tests: New file.
38128         * tests/unistr/test-u8-cpy.c: New file.
38129         * tests/unistr/test-cpy.h: New file.
38130
38131 2010-01-09  Bruno Haible  <bruno@clisp.org>
38132
38133         Tests for module 'unistr/u32-uctomb'.
38134         * modules/unistr/u32-uctomb-tests: New file.
38135         * tests/unistr/test-u32-uctomb.c: New file.
38136
38137         Tests for module 'unistr/u16-uctomb'.
38138         * modules/unistr/u16-uctomb-tests: New file.
38139         * tests/unistr/test-u16-uctomb.c: New file.
38140
38141         Tests for module 'unistr/u8-uctomb'.
38142         * modules/unistr/u8-uctomb-tests: New file.
38143         * tests/unistr/test-u8-uctomb.c: New file.
38144
38145         Tests for module 'unistr/u32-mbtoucr'.
38146         * modules/unistr/u32-mbtoucr-tests: New file.
38147         * tests/unistr/test-u32-mbtoucr.c: New file.
38148
38149         Tests for module 'unistr/u16-mbtoucr'.
38150         * modules/unistr/u16-mbtoucr-tests: New file.
38151         * tests/unistr/test-u16-mbtoucr.c: New file.
38152
38153         Tests for module 'unistr/u8-mbtoucr'.
38154         * modules/unistr/u8-mbtoucr-tests: New file.
38155         * tests/unistr/test-u8-mbtoucr.c: New file.
38156
38157         Tests for module 'unistr/u32-mbtouc'.
38158         * modules/unistr/u32-mbtouc-tests: New file.
38159         * tests/unistr/test-u32-mbtouc.c: New file.
38160
38161         Tests for module 'unistr/u16-mbtouc'.
38162         * modules/unistr/u16-mbtouc-tests: New file.
38163         * tests/unistr/test-u16-mbtouc.c: New file.
38164
38165         Tests for module 'unistr/u8-mbtouc'.
38166         * modules/unistr/u8-mbtouc-tests: New file.
38167         * tests/unistr/test-u8-mbtouc.c: New file.
38168
38169         Tests for module 'unistr/u32-mbtouc-unsafe'.
38170         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38171         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38172         * tests/unistr/test-u32-mbtouc.h: New file.
38173
38174         Tests for module 'unistr/u16-mbtouc-unsafe'.
38175         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38176         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38177         * tests/unistr/test-u16-mbtouc.h: New file.
38178
38179         Tests for module 'unistr/u8-mbtouc-unsafe'.
38180         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38181         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38182         * tests/unistr/test-u8-mbtouc.h: New file.
38183
38184         Tests for module 'unistr/u32-mblen'.
38185         * modules/unistr/u32-mblen-tests: New file.
38186         * tests/unistr/test-u32-mblen.c: New file.
38187
38188         Tests for module 'unistr/u16-mblen'.
38189         * modules/unistr/u16-mblen-tests: New file.
38190         * tests/unistr/test-u16-mblen.c: New file.
38191
38192         Tests for module 'unistr/u8-mblen'.
38193         * modules/unistr/u8-mblen-tests: New file.
38194         * tests/unistr/test-u8-mblen.c: New file.
38195
38196         Tests for module 'unistr/u32-to-u16'.
38197         * modules/unistr/u32-to-u16-tests: New file.
38198         * tests/unistr/test-u32-to-u16.c: New file.
38199
38200         Tests for module 'unistr/u32-to-u8'.
38201         * modules/unistr/u32-to-u8-tests: New file.
38202         * tests/unistr/test-u32-to-u8.c: New file.
38203
38204         Tests for module 'unistr/u16-to-u32'.
38205         * modules/unistr/u16-to-u32-tests: New file.
38206         * tests/unistr/test-u16-to-u32.c: New file.
38207
38208         Tests for module 'unistr/u16-to-u8'.
38209         * modules/unistr/u16-to-u8-tests: New file.
38210         * tests/unistr/test-u16-to-u8.c: New file.
38211
38212         Tests for module 'unistr/u8-to-u32'.
38213         * modules/unistr/u8-to-u32-tests: New file.
38214         * tests/unistr/test-u8-to-u32.c: New file.
38215
38216         Tests for module 'unistr/u8-to-u16'.
38217         * modules/unistr/u8-to-u16-tests: New file.
38218         * tests/unistr/test-u8-to-u16.c: New file.
38219
38220         Tests for module 'unistr/u32-check'.
38221         * modules/unistr/u32-check-tests: New file.
38222         * tests/unistr/test-u32-check.c: New file.
38223
38224         Tests for module 'unistr/u16-check'.
38225         * modules/unistr/u16-check-tests: New file.
38226         * tests/unistr/test-u16-check.c: New file.
38227
38228         Tests for module 'unistr/u8-check'.
38229         * modules/unistr/u8-check-tests: New file.
38230         * tests/unistr/test-u8-check.c: New file.
38231
38232         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38233         (category_equals): New function.
38234         (main): Add more tests.
38235         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38236
38237         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38238
38239 2010-01-10  Bruno Haible  <bruno@clisp.org>
38240
38241         unistr/u*-strcoll: Try harder to distinguish different strings.
38242         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38243         compare s1 and s2 to see if they are different.
38244
38245 2010-01-10  Bruno Haible  <bruno@clisp.org>
38246
38247         unistr/u*-stpncpy: Fix the return value.
38248         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38249         description of the return value consistent with stpncpy in glibc.
38250         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38251         written non-NUL unit.
38252
38253 2010-01-10  Bruno Haible  <bruno@clisp.org>
38254
38255         unistr/u*-next: Add missing dependencies.
38256         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38257         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38258         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38259
38260 2010-01-10  Bruno Haible  <bruno@clisp.org>
38261
38262         unistr/u8-mbsnlen: Fix return value for incomplete character.
38263         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38264         u8_mblen.
38265         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38266         Remove unistr/u8-mblen.
38267         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38268         u16_mblen.
38269         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38270         Remove unistr/u16-mblen.
38271
38272 2010-01-10  Bruno Haible  <bruno@clisp.org>
38273
38274         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38275         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38276         Reported by Brian Gough <bjg@gnu.org> and
38277         Chris Clayton <chris2553@googlemail.com> via
38278         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38279
38280 2010-01-09  Bruno Haible  <bruno@clisp.org>
38281
38282         unistr/u16-to-u32: Reject invalid input.
38283         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38284         u16_mbtouc.
38285         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38286         Remove unistr/u16-mbtouc.
38287
38288         unistr/u16-to-u8: Reject invalid input.
38289         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38290         u16_mbtouc.
38291         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38292         Remove unistr/u16-mbtouc.
38293
38294         unistr/u8-to-u32: Reject invalid input.
38295         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38296         u8_mbtouc.
38297         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38298         Remove unistr/u8-mbtouc.
38299
38300         unistr/u8-to-u16: Reject invalid input.
38301         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38302         u8_mbtouc.
38303         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38304         Remove unistr/u8-mbtouc.
38305
38306 2010-01-09  Bruno Haible  <bruno@clisp.org>
38307
38308         Tests for module 'getlogin'.
38309         * modules/getlogin-tests: New file.
38310         * tests/test-getlogin.c: New file.
38311
38312         New module 'getlogin'.
38313         * lib/unistd.in.h (getlogin): New declaration.
38314         * lib/getlogin.c: New file.
38315         * m4/getlogin.m4: New file.
38316         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38317         HAVE_GETLOGIN.
38318         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38319         HAVE_GETLOGIN.
38320         * modules/getlogin: New file.
38321         * doc/posix-functions/getlogin.texi: Mention the new module.
38322         Reported by John W. Eaton <jwe@gnu.org>.
38323
38324 2010-01-09  Bruno Haible  <bruno@clisp.org>
38325
38326         getlogin_r: Support for native Windows.
38327         * lib/getlogin_r.c: Include <windows.h>
38328         (getlogin_r): Implement for native Windows.
38329         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38330         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38331         via John W. Eaton <jwe@gnu.org>.
38332
38333 2010-01-09  Bruno Haible  <bruno@clisp.org>
38334
38335         getlogin_r: Small fixes.
38336         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38337         succeeds.
38338         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38339         before testing whether getlogin_r is declared. No need to set
38340         HAVE_DECL_GETLOGIN_R to 1.
38341         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38342
38343 2010-01-09  Bruno Haible  <bruno@clisp.org>
38344
38345         * lib/unistd.in.h (getlogin_r): Add comment.
38346
38347 2010-01-09  Bruno Haible  <bruno@clisp.org>
38348
38349         Tests for module 'getlogin_r'.
38350         * modules/getlogin_r-tests: New file.
38351         * tests/test-getlogin_r.c: New file.
38352
38353 2010-01-09  Jim Meyering  <meyering@redhat.com>
38354
38355         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38356         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38357         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38358
38359 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38360
38361         * lib/dup2.c (rpl_dup2): Improve comment.
38362
38363 2010-01-08  Eric Blake  <ebb9@byu.net>
38364
38365         maint.mk: allow packages to add makefile @@ exceptions
38366         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38367         (sc_makefile_check): Rename...
38368         (sc_makefile_at_at_check): ...to this, and use hook.
38369
38370         dup2: work around mingw bug
38371         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38372         Reported by Simon Josefsson.
38373
38374 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38375
38376         glob: Fix C++ compilation.
38377         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38378         C++.
38379
38380 2010-01-07  Bruno Haible  <bruno@clisp.org>
38381
38382         Fix indentation of wctype.in.h, broken since 2007-01-06.
38383         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38384
38385 2010-01-07  Bruno Haible  <bruno@clisp.org>
38386
38387         mbslen: Avoid collision with system function.
38388         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38389         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38390         * m4/mbslen.m4: New file.
38391         * modules/mbslen (Files): Add it.
38392         (configure.ac): Invoke gl_MBSLEN.
38393         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38394         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38395         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38396         via Ian Beckwith <ianb@erislabs.net>.
38397
38398 2010-01-07  Bruno Haible  <bruno@clisp.org>
38399
38400         dirent: Document the last fix.
38401         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38402
38403 2010-01-07  Bruno Haible  <bruno@clisp.org>
38404
38405         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38406         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38407         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38408         va_list are defined.
38409         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38410         Reported by Eric Blake.
38411
38412 2010-01-07  Bruno Haible  <bruno@clisp.org>
38413
38414         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38415         * modules/xlist (Depends-on): Add 'list',
38416         * modules/xoset (Depends-on): Add 'oset'.
38417         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38418
38419 2010-01-07  Bruno Haible  <bruno@clisp.org>
38420
38421         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38422         * doc/posix-functions/strncasecmp.texi: Likewise.
38423
38424 2010-01-07  Bruno Haible  <bruno@clisp.org>
38425
38426         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38427
38428 2010-01-07  John W. Eaton  <jwe@octave.org>
38429
38430         wctype: allow C++ use
38431         * lib/wctype.in.h: Add extern "C" block for C++.
38432
38433 2010-01-06  Eric Blake  <ebb9@byu.net>
38434
38435         maint.mk: detect incorrect GFDL usage
38436         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38437
38438 2010-01-06  Jim Meyering  <meyering@redhat.com>
38439         and Eric Blake  <ebb9@byu.net>
38440
38441         maint.mk: ignore multi-line copyright in NEWS
38442         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38443
38444 2010-01-06  Eric Blake  <ebb9@byu.net>
38445
38446         select: add missing dependency
38447         * modules/select-tests (Depends-on): Move sockets dependency...
38448         * modules/select (Depends-on): ...here.
38449         Reported by Ian Beckwith.
38450
38451         doc: regenerate INSTALL
38452         * doc/INSTALL: Reflect recent autoconf update.
38453         * doc/INSTALL.ISO: Likewise.
38454         * doc/INSTALL.UTF-8: Likewise.
38455
38456         pread: fix compilation on glibc
38457         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38458         Reported by Ralf Wildenhues.
38459
38460         dirent: fix test failure
38461         * lib/dirent.in.h (includes): Guarantee ino_t.
38462         Reported by Ralf Wildenhues.
38463
38464 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38465
38466         linkat, renameat: avoid bad free
38467         * lib/at-func2.c (at_func2): Fix typo.
38468         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38469
38470 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38471
38472         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38473         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38474         to avoid failure of symlink test later.
38475
38476 2010-01-06  Eric Blake  <ebb9@byu.net>
38477
38478         stdio, unistd: guarantee ssize_t
38479         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38480         2008 are exposed when needed.
38481         * lib/stdio.in.h (includes): Likewise.
38482         Reported by Ralf Wildenhues.
38483
38484 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38485
38486         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38487         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38488         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38489
38490 2010-01-06  Jim Meyering  <meyering@redhat.com>
38491
38492         readtokens: this module *does* require xalloc.h
38493         It uses only functions that were omitted by the old syntax-check rule.
38494         * lib/readtokens.c: Include "xalloc.h" once again.
38495         * modules/readtokens (Depends-on): Add xalloc.
38496         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38497
38498 2010-01-05  Eric Blake  <ebb9@byu.net>
38499
38500         maint: support 'make announcement' from a VPATH build
38501         * top/maint.mk (announcement): Look for correct NEWS file.
38502
38503 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38504
38505         utimens (fdutimens): ignore a negative FD, per contract
38506         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38507         when we have a valid file descriptor.  Otherwise, using a brand
38508         new glibc (with just-patched futimens that now fails with EBADF)
38509         would cause this function to fail with ENOSYS.
38510         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38511         See also http://bugzilla.redhat.com/552320.
38512
38513 2010-01-05  Eric Blake  <ebb9@byu.net>
38514
38515         strcase: document what it provides
38516         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38517         gnulib module.
38518         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38519         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38520
38521 2010-01-05  Jim Meyering  <meyering@redhat.com>
38522
38523         maint: remove useless inclusions of "xalloc.h"
38524         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38525         * lib/readtokens.c: Likewise.
38526         * lib/same.c: Likewise.
38527         * modules/getloadavg (Depends-on): Remove xalloc.
38528         * modules/readtokens: Likewise.
38529         * modules/same: Likewise.
38530
38531         maint.mk: include 4 more function names in alloca.h-checking regexp
38532         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38533         regexp.  Before, we would give a false-positive (saying alloca.h
38534         is included unnecessarily) when the only uses involved omitted symbols.
38535
38536         xalloc.h: use consistent formatting
38537         * lib/xalloc.h: Move declarations to start in the first column.
38538
38539 2010-01-05  Eric Blake  <ebb9@byu.net>
38540
38541         mkdir: avoid xalloc
38542         * lib/mkdir.c (includes): Drop unused header.
38543         Reported by John W. Eaton.
38544
38545 2010-01-04  Jim Meyering  <meyering@redhat.com>
38546
38547         nl_langinfo: avoid configure-time syntax error
38548         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38549         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38550         the empty string.  Don't let that provoke a shell syntax error.
38551
38552         regcomp, regexec, fnmatch: avoid array bounds read error
38553         * lib/regcomp.c (build_equiv_class): From glibc:
38554         Use only the low 24 bits of a findidx return value as an index
38555         into the weights array.  Patch by Ulrich Drepper:
38556         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38557         * lib/regexec.c (check_node_accept_bytes): Likewise.
38558         * lib/fnmatch_loop.c (FCT): Likewise.
38559
38560         regcomp: skip collseq lookup when there are no rules
38561         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38562         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38563
38564         regcomp: recognize ill-formed { } expressions
38565         * lib/regcomp.c (parse_dup_op): From glibc:
38566         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38567
38568         regcomp: fix typo in comment
38569         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38570         s/satisfy/satisfies/.
38571
38572         regcomp: sync from glibc: remove dead store
38573         * lib/regcomp.c (duplicate_node_closure): Remove useless
38574         search_duplicated_node call and dead store.
38575
38576         regcomp: sync from glibc; always use nl_langinfo
38577         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38578         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38579         * modules/regex (Depends-on): Add nl_langinfo.
38580
38581 2010-01-04  Eric Blake  <ebb9@byu.net>
38582
38583         fdopendir: fix configure test
38584         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38585
38586 2010-01-01  Bruno Haible  <bruno@clisp.org>
38587
38588         wchar: Remove unused configure check.
38589         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38590
38591 2010-01-01  Eric Blake  <ebb9@byu.net>
38592
38593         headers: make check of system header explicit
38594         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38595         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38596         ourselves.
38597         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38598         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38599         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38600         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38601         internals.
38602         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38603         missing.
38604         Suggested by Bruno Haible.
38605
38606 2010-01-01  Jim Meyering  <meyering@redhat.com>
38607
38608         ChangeLog: tweak to eliminate unnecessary copyright line
38609         * ChangeLog: Remove a copyright line that was mistakenly updated
38610         by today's update-copyright run.  Reported by Eric Blake.
38611
38612         test-update-copyright: don't let envvar setting cause test failure
38613         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38614
38615 2010-01-01  Bruno Haible  <bruno@clisp.org>
38616
38617         localename: Avoid gcc warning.
38618         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38619         function if it is not used.
38620
38621 2010-01-01  Jim Meyering  <meyering@redhat.com>
38622
38623         update nearly all FSF copyright year lists to include 2010
38624         Use the same procedure as for 2009, outlined in
38625         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38626
38627         version-etc: set COPYRIGHT_YEAR to 2010
38628         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38629
38630 2009-12-31  Eric Blake  <ebb9@byu.net>
38631
38632         doc: correct availability of cygwin 1.5.x getopt
38633         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38634         variables.
38635         * doc/posix-functions/opterr.texi (opterr): Likewise.
38636         * doc/posix-functions/optind.texi (optind): Likewise.
38637         * doc/posix-functions/optopt.texi (optopt): Likewise.
38638         * doc/posix-functions/tzname.texi (tzname): Likewise.
38639
38640         openat: update maintainer
38641         * modules/openat (Maintainer): Add myself.
38642
38643         utimens: avoid shadowing warning
38644         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38645         buffers into one, to avoid shadowing, as well as avoiding a
38646         redundant stat.
38647         Reported by Jim Meyering.
38648
38649         test-dup2: avoid compiler warning
38650         * tests/test-dup2.c (is_inheritable): Only define if used.
38651
38652 2010-01-01  Bruno Haible  <bruno@clisp.org>
38653
38654         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38655         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38656         defined, use wctomb instead of wcrtomb.
38657
38658 2010-01-01  Bruno Haible  <bruno@clisp.org>
38659
38660         iconv: Reject native Solaris iconv.
38661         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38662         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38663
38664 2009-12-31  Bruno Haible  <bruno@clisp.org>
38665
38666         * tests/test-signal.c (main): Remove test of 'SIG'.
38667
38668 2009-12-31  Bruno Haible  <bruno@clisp.org>
38669
38670         spawn: Fix incomplete fix.
38671         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38672         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38673         warnings for GNULIB_POSIXCHECK again.
38674         Reported by Eric Blake.
38675
38676 2009-12-31  Bruno Haible  <bruno@clisp.org>
38677
38678         Avoid namespace pollution on glibc systems.
38679         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38680         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38681         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38682         glibc systems.
38683
38684 2009-12-31  Bruno Haible  <bruno@clisp.org>
38685
38686         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38687         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38688         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38689         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38690         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38691         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38692         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38693
38694 2009-12-31  Bruno Haible  <bruno@clisp.org>
38695
38696         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38697         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38698         afterwards.
38699
38700 2009-12-31  Bruno Haible  <bruno@clisp.org>
38701
38702         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38703         SYS_UTSNAME_H.
38704
38705 2009-12-31  Bruno Haible  <bruno@clisp.org>
38706
38707         spawn: Fix misapplied patch.
38708         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38709         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38710         warnings for GNULIB_POSIXCHECK.
38711
38712 2009-12-31  Bruno Haible  <bruno@clisp.org>
38713
38714         times: Update after sys_times changed.
38715         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
38716         * modules/times (Files): Add it.
38717         (configure.ac): Invoke gl_FUNC_TIMES.
38718
38719 2009-12-31  Bruno Haible  <bruno@clisp.org>
38720
38721         Use AC_C_INLINE where necessary.
38722         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
38723         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38724         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38725         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38726         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38727         * m4/mbiter.m4 (gl_MBITER): Likewise.
38728         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38729         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38730         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
38731         * modules/u64 (configure.ac): Likewise.
38732
38733 2009-12-31  Bruno Haible  <bruno@clisp.org>
38734
38735         Use AC_C_INLINE instead of module 'inline' where possible.
38736         * modules/inline (Description): Clarify purpose.
38737         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
38738         * modules/count-one-bits (Depends-on): Remove inline.
38739         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
38740         * modules/openat (Depends-on): Remove inline.
38741         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
38742         instead of depending on module 'inline'.
38743         * modules/filevercmp (Depends-on, configure.ac): Likewise.
38744         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
38745         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
38746         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
38747         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
38748         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
38749         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
38750         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
38751         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
38752         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
38753         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
38754         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
38755         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
38756         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
38757         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
38758         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
38759         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
38760         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
38761         Likewise.
38762         * modules/unictype/property-ascii-hex-digit (Depends-on,
38763         configure.ac): Likewise.
38764         * modules/unictype/property-bidi-arabic-digit (Depends-on,
38765         configure.ac): Likewise.
38766         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
38767         configure.ac): Likewise.
38768         * modules/unictype/property-bidi-block-separator (Depends-on,
38769         configure.ac): Likewise.
38770         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
38771         configure.ac): Likewise.
38772         * modules/unictype/property-bidi-common-separator (Depends-on,
38773         configure.ac): Likewise.
38774         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
38775         Likewise.
38776         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
38777         configure.ac): Likewise.
38778         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
38779         configure.ac): Likewise.
38780         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
38781         configure.ac): Likewise.
38782         * modules/unictype/property-bidi-european-digit (Depends-on,
38783         configure.ac): Likewise.
38784         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
38785         configure.ac): Likewise.
38786         * modules/unictype/property-bidi-left-to-right (Depends-on,
38787         configure.ac): Likewise.
38788         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
38789         configure.ac): Likewise.
38790         * modules/unictype/property-bidi-other-neutral (Depends-on,
38791         configure.ac): Likewise.
38792         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
38793         Likewise.
38794         * modules/unictype/property-bidi-segment-separator (Depends-on,
38795         configure.ac): Likewise.
38796         * modules/unictype/property-bidi-whitespace (Depends-on,
38797         configure.ac): Likewise.
38798         * modules/unictype/property-combining (Depends-on, configure.ac):
38799         Likewise.
38800         * modules/unictype/property-composite (Depends-on, configure.ac):
38801         Likewise.
38802         * modules/unictype/property-currency-symbol (Depends-on,
38803         configure.ac): Likewise.
38804         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
38805         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
38806         Likewise.
38807         * modules/unictype/property-default-ignorable-code-point (Depends-on,
38808         configure.ac): Likewise.
38809         * modules/unictype/property-deprecated (Depends-on, configure.ac):
38810         Likewise.
38811         * modules/unictype/property-diacritic (Depends-on, configure.ac):
38812         Likewise.
38813         * modules/unictype/property-extender (Depends-on, configure.ac):
38814         Likewise.
38815         * modules/unictype/property-format-control (Depends-on, configure.ac):
38816         Likewise.
38817         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
38818         Likewise.
38819         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
38820         Likewise.
38821         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
38822         Likewise.
38823         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
38824         Likewise.
38825         * modules/unictype/property-hyphen (Depends-on, configure.ac):
38826         Likewise.
38827         * modules/unictype/property-id-continue (Depends-on, configure.ac):
38828         Likewise.
38829         * modules/unictype/property-id-start (Depends-on, configure.ac):
38830         Likewise.
38831         * modules/unictype/property-ideographic (Depends-on, configure.ac):
38832         Likewise.
38833         * modules/unictype/property-ids-binary-operator (Depends-on,
38834         configure.ac): Likewise.
38835         * modules/unictype/property-ids-trinary-operator (Depends-on,
38836         configure.ac): Likewise.
38837         * modules/unictype/property-ignorable-control (Depends-on,
38838         configure.ac): Likewise.
38839         * modules/unictype/property-iso-control (Depends-on, configure.ac):
38840         Likewise.
38841         * modules/unictype/property-join-control (Depends-on, configure.ac):
38842         Likewise.
38843         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
38844         Likewise.
38845         * modules/unictype/property-line-separator (Depends-on, configure.ac):
38846         Likewise.
38847         * modules/unictype/property-logical-order-exception (Depends-on,
38848         configure.ac): Likewise.
38849         * modules/unictype/property-lowercase (Depends-on, configure.ac):
38850         Likewise.
38851         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
38852         * modules/unictype/property-non-break (Depends-on, configure.ac):
38853         Likewise.
38854         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
38855         Likewise.
38856         * modules/unictype/property-numeric (Depends-on, configure.ac):
38857         Likewise.
38858         * modules/unictype/property-other-alphabetic (Depends-on,
38859         configure.ac): Likewise.
38860         * modules/unictype/property-other-default-ignorable-code-point
38861         (Depends-on, configure.ac): Likewise.
38862         * modules/unictype/property-other-grapheme-extend (Depends-on,
38863         configure.ac): Likewise.
38864         * modules/unictype/property-other-id-continue (Depends-on,
38865         configure.ac): Likewise.
38866         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
38867         Likewise.
38868         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
38869         Likewise.
38870         * modules/unictype/property-other-math (Depends-on, configure.ac):
38871         Likewise.
38872         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
38873         Likewise.
38874         * modules/unictype/property-paired-punctuation (Depends-on,
38875         configure.ac): Likewise.
38876         * modules/unictype/property-paragraph-separator (Depends-on,
38877         configure.ac): Likewise.
38878         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38879         Likewise.
38880         * modules/unictype/property-pattern-white-space (Depends-on,
38881         configure.ac): Likewise.
38882         * modules/unictype/property-private-use (Depends-on, configure.ac):
38883         Likewise.
38884         * modules/unictype/property-punctuation (Depends-on, configure.ac):
38885         Likewise.
38886         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
38887         Likewise.
38888         * modules/unictype/property-radical (Depends-on, configure.ac):
38889         Likewise.
38890         * modules/unictype/property-sentence-terminal (Depends-on,
38891         configure.ac): Likewise.
38892         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
38893         Likewise.
38894         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
38895         * modules/unictype/property-terminal-punctuation (Depends-on,
38896         configure.ac): Likewise.
38897         * modules/unictype/property-titlecase (Depends-on, configure.ac):
38898         Likewise.
38899         * modules/unictype/property-unassigned-code-value (Depends-on,
38900         configure.ac): Likewise.
38901         * modules/unictype/property-unified-ideograph (Depends-on,
38902         configure.ac): Likewise.
38903         * modules/unictype/property-uppercase (Depends-on, configure.ac):
38904         Likewise.
38905         * modules/unictype/property-variation-selector (Depends-on,
38906         configure.ac): Likewise.
38907         * modules/unictype/property-white-space (Depends-on, configure.ac):
38908         Likewise.
38909         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
38910         Likewise.
38911         * modules/unictype/property-xid-start (Depends-on, configure.ac):
38912         Likewise.
38913         * modules/unictype/property-zero-width (Depends-on, configure.ac):
38914         Likewise.
38915         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
38916         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
38917         Likewise.
38918
38919 2009-12-31  Bruno Haible  <bruno@clisp.org>
38920
38921         Remove unnecessary AC_C_INLINE invocation.
38922         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
38923         since 2009-08-21.
38924
38925 2009-12-31  Jim Meyering  <meyering@redhat.com>
38926
38927         maint.mk: don't require explicit gpg_key_ID in cfg.mk
38928         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
38929         With this change, we can all remove the gpg_key_ID = ... definition
38930         from our respective cfg.mk files.
38931
38932         maint.mk: create announcement template in ~/, not in /tmp
38933         * top/maint.mk (emit_upload_commands): Adjust.
38934         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
38935         Remove temporary file, .ci-msg.
38936
38937 2009-12-31  Eric Blake  <ebb9@byu.net>
38938
38939         link-warning: always build headers with link warnings
38940         * modules/arpa_inet (Makefile.am): Always build replacement
38941         header.
38942         * modules/ctype (Makefile.am): Likewise.
38943         * modules/dirent (Makefile.am): Likewise.
38944         * modules/inttypes (Makefile.am): Likewise.
38945         * modules/langinfo (Makefile.am): Likewise.
38946         * modules/locale (Makefile.am): Likewise.
38947         * modules/spawn (Makefile.am): Likewise.
38948         * modules/sys_file (Makefile.am): Likewise.
38949         * modules/sys_ioctl (Makefile.am): Likewise.
38950         * modules/sys_select (Makefile.am): Likewise.
38951         * modules/sys_socket (Makefile.am): Likewise.
38952         * modules/sys_times (Makefile.am): Likewise.
38953         * modules/sys_utsname (Makefile.am): Likewise.
38954         * modules/sys_wait (Makefile.am): Likewise.
38955         * modules/wchar (Makefile.am): Likewise.
38956         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
38957         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
38958         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
38959         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
38960         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
38961         Likewise.
38962         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38963         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38964         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
38965         Likewise.
38966         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
38967         Likewise.
38968         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
38969         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
38970         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
38971         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38972         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38973         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38974         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38975         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
38976         (gl_WCHAR_H_DEFAULTS): Likewise.
38977
38978 2009-12-31  Eric Blake  <ebb9@byu.net>
38979
38980         signal, spawn: use link warnings
38981         * lib/signal.in.h (sigset_t): Make unconditional.
38982         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
38983         (sigpending, sigprocmask, sigaction): Add link warnings.
38984         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
38985         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
38986         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
38987         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
38988         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
38989         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
38990         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
38991         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
38992         (posix_spawn_file_actions_destroy)
38993         (posix_spawn_file_actions_addopen)
38994         (posix_spawn_file_actions_addclose)
38995         (posix_spawn_file_actions_adddup2): Likewise.
38996         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
38997         * tests/test-signal.c (main): Enhance test.
38998
38999         spawn: improve wrapper support
39000         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39001         (gl_SPAWN_H_DEFAULTS): New defaults.
39002         * modules/spawn (Makefile.am): Substitute them.
39003         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39004         Only declare if missing or broken.
39005
39006         sys_times, sys_utsname: use include_next
39007         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39008         header.
39009         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39010         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39011         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39012         * modules/sys_times (Depends-on): Add include_next.
39013         (Makefile.am): Substitute additional values.
39014         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39015         * lib/sys_times.in.h (includes): Include native header, if
39016         available.
39017         * lib/sys_utsname.in.h (includes): Likewise.
39018         * tests/test-sys_times.c (main): Enhance test.
39019
39020         fdutimensat: revert prior patch
39021         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39022         utimens.h.
39023         Reported by Bruno Haible.
39024
39025 2009-12-30  Eric Blake  <ebb9@byu.net>
39026
39027         sys_wait: drop link-warning dependency
39028         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39029         link-warning efforts.
39030         * lib/sys_wait.in.h: Likewise.
39031
39032         fdutimensat: remove bogus dependency
39033         * modules/fdutimensat (Depends-on): Drop inline.
39034
39035         unistd: fix typo
39036         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39037
39038 2009-12-30  Bruno Haible  <bruno@clisp.org>
39039
39040         Fix compilation error with Solaris cc.
39041         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39042         * lib/unicase/u16-is-invariant.c: Likewise.
39043         * lib/unicase/u32-is-invariant.c: Likewise.
39044         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39045
39046 2009-12-30  Bruno Haible  <bruno@clisp.org>
39047
39048         Fix test crash.
39049         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39050         locales.
39051         Reported by Simon Josefsson <simon@josefsson.org>.
39052
39053 2009-12-30  Bruno Haible  <bruno@clisp.org>
39054
39055         Fix compilation error on most platforms.
39056         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39057         Reported by Simon Josefsson <simon@josefsson.org>
39058         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39059
39060 2009-12-30  Eric Blake  <ebb9@byu.net>
39061
39062         futimens, utimensat: work around ntfs-3g bug
39063         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39064         a ctime bug is present, and expand workaround to cover ntfs-3g.
39065         * lib/utimens.c (fdutimens, lutimens): Likewise.
39066         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39067         (validate_timespec): Adjust return value.
39068         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39069         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39070         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39071
39072 2009-12-29  Eric Blake  <ebb9@byu.net>
39073
39074         link-warning: make usage consistent
39075         * modules/ctype (Depends-on): Add link-warning.
39076         (Makefile.am): Update rules accordingly.
39077         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39078         * modules/locale (Depends-on, Makefile.am): Likewise.
39079         * modules/sys_file (Makefile.am): Likewise.
39080         * modules/getopt-posix (Makefile.am): Delete unused link warning
39081         efforts.
39082         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39083         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39084         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39085         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39086
39087         stdio: remove unused variables
39088         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39089         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39090         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39091
39092         tests: test more substitute headers
39093         * modules/ctype-tests: New file.
39094         * modules/dirent-tests: Likewise.
39095         * modules/spawn-tests: Likewise.
39096         * modules/sys_file-tests: Likewise.
39097         * modules/sys_ioctl-tests: Likewise.
39098         * modules/sys_wait-tests: Likewise.
39099         * tests/test-ctype.c: Likewise.
39100         * tests/test-dirent.c: Likewise.
39101         * tests/test-spawn.c: Likewise.
39102         * tests/test-sys_file.c: Likewise.
39103         * tests/test-sys_ioctl.c: Likewise.
39104         * tests/test-sys_wait.c: Likewise.
39105         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39106         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39107         whether or not flock is in use.
39108
39109         tests: remove License section from module
39110         * modules/arpa_inet-tests: Remove unneeded section.
39111         * modules/byteswap-tests: Likewise.
39112         * modules/ceilf-tests: Likewise.
39113         * modules/ceill-tests: Likewise.
39114         * modules/crypto/des-tests: Likewise.
39115         * modules/crypto/gc-arcfour-tests: Likewise.
39116         * modules/crypto/gc-arctwo-tests: Likewise.
39117         * modules/crypto/gc-des-tests: Likewise.
39118         * modules/crypto/gc-hmac-md5-tests: Likewise.
39119         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39120         * modules/crypto/gc-md2-tests: Likewise.
39121         * modules/crypto/gc-md4-tests: Likewise.
39122         * modules/crypto/gc-md5-tests: Likewise.
39123         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39124         * modules/crypto/gc-rijndael-tests: Likewise.
39125         * modules/crypto/gc-sha1-tests: Likewise.
39126         * modules/crypto/gc-tests: Likewise.
39127         * modules/crypto/md2-tests: Likewise.
39128         * modules/crypto/md4-tests: Likewise.
39129         * modules/fcntl-h-tests: Likewise.
39130         * modules/floorf-tests: Likewise.
39131         * modules/floorl-tests: Likewise.
39132         * modules/frexp-nolibm-tests: Likewise.
39133         * modules/frexp-tests: Likewise.
39134         * modules/frexpl-nolibm-tests: Likewise.
39135         * modules/frexpl-tests: Likewise.
39136         * modules/getaddrinfo-tests: Likewise.
39137         * modules/inttypes-tests: Likewise.
39138         * modules/isfinite-tests: Likewise.
39139         * modules/isinf-tests: Likewise.
39140         * modules/ldexpl-tests: Likewise.
39141         * modules/locale-tests: Likewise.
39142         * modules/math-tests: Likewise.
39143         * modules/netdb-tests: Likewise.
39144         * modules/netinet_in-tests: Likewise.
39145         * modules/printf-frexp-tests: Likewise.
39146         * modules/printf-frexpl-tests: Likewise.
39147         * modules/priv-set-tests: Likewise.
39148         * modules/random_r-tests: Likewise.
39149         * modules/round-tests: Likewise.
39150         * modules/roundf-tests: Likewise.
39151         * modules/roundl-tests: Likewise.
39152         * modules/search-tests: Likewise.
39153         * modules/select-tests: Likewise.
39154         * modules/signal-tests: Likewise.
39155         * modules/stdbool-tests: Likewise.
39156         * modules/stddef-tests: Likewise.
39157         * modules/stdint-tests: Likewise.
39158         * modules/stdio-tests: Likewise.
39159         * modules/stdlib-tests: Likewise.
39160         * modules/string-tests: Likewise.
39161         * modules/strings-tests: Likewise.
39162         * modules/sys_select-tests: Likewise.
39163         * modules/sys_socket-tests: Likewise.
39164         * modules/sys_stat-tests: Likewise.
39165         * modules/sys_time-tests: Likewise.
39166         * modules/sys_utsname-tests: Likewise.
39167         * modules/sysexits-tests: Likewise.
39168         * modules/time-tests: Likewise.
39169         * modules/trunc-tests: Likewise.
39170         * modules/truncf-tests: Likewise.
39171         * modules/truncl-tests: Likewise.
39172         * modules/tsearch-tests: Likewise.
39173         * modules/unistd-tests: Likewise.
39174         * modules/wchar-tests: Likewise.
39175         * modules/wctype-tests: Likewise.
39176
39177         tests: fix license on several tests
39178         * tests/test-des.c: Update to GPLv3+.
39179         * tests/test-flock.c: Likewise.
39180         * tests/test-fsync.c: Likewise.
39181         * tests/test-futimens.h: Likewise.
39182         * tests/test-gc-arcfour.c: Likewise.
39183         * tests/test-gc-arctwo.c: Likewise.
39184         * tests/test-gc-des.c: Likewise.
39185         * tests/test-gc-hmac-md5.c: Likewise.
39186         * tests/test-gc-hmac-sha1.c: Likewise.
39187         * tests/test-gc-md2.c: Likewise.
39188         * tests/test-gc-md4.c: Likewise.
39189         * tests/test-gc-md5.c: Likewise.
39190         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39191         * tests/test-gc-rijndael.c: Likewise.
39192         * tests/test-gc-sha1.c: Likewise.
39193         * tests/test-gc.c: Likewise.
39194         * tests/test-getcwd.c: Likewise.
39195         * tests/test-link.c: Likewise.
39196         * tests/test-link.h: Likewise.
39197         * tests/test-lutimens.h: Likewise.
39198         * tests/test-md2.c: Likewise.
39199         * tests/test-md4.c: Likewise.
39200         * tests/test-mkdir.h: Likewise.
39201         * tests/test-rename.c: Likewise.
39202         * tests/test-rename.h: Likewise.
39203         * tests/test-safe-alloc.c: Likewise.
39204         * tests/test-utimens-common.h: Likewise.
39205         * tests/test-utimens.h: Likewise.
39206
39207         maint: sync license texts
39208         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39209         * doc/gpl-3.0.texi: Revert copyright year update.
39210         * doc/lgpl-3.0.texi: Likewise.
39211
39212 2009-12-29  Jim Meyering  <meyering@redhat.com>
39213
39214         update nearly all FSF copyright year lists to include 2009
39215         The files named by the following are exempted:
39216             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39217               test -f "$dst" && { echo "$dst"; continue; }
39218               test -d "$dst" || continue
39219               echo "$dst"/$(basename "$src")
39220             done > exempt
39221             git ls-files tests/unictype >> exempt
39222         In the remaining files, convert to all-interval notation if
39223         - there is already at least one year interval like 2000-2003
39224         - the file is maintained by me
39225         - the file is in lib/uni*/, where that style already prevails
39226         Otherwise, use update-copyright's default.
39227
39228 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39229         and Eric Blake  <ebb9@byu.net>
39230
39231         tests: don't require debug system() to pass
39232         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39233         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39234         * tests/test-unlink.h (test_unlink_func): Likewise.
39235         * tests/test-fstatat.c (main): ...into callers.
39236         * tests/test-lstat.c (main): Likewise.
39237         * tests/test-rmdir.c (main): Likewise.
39238         * tests/test-unlink.c (main): Likewise.
39239         * tests/test-unlinkat.c (main): Likewise.
39240         * tests/test-areadlink-with-size.c (main): Don't require a
39241         debug-only system call to pass, aiding cross-testing to mingw.
39242         * tests/test-areadlink.c (main): Likewise.
39243         * tests/test-areadlinkat-with-size.c (main): Likewise.
39244         * tests/test-areadlinkat.c (main): Likewise.
39245         * tests/test-canonicalize-lgpl.c (main): Likewise.
39246         * tests/test-canonicalize.c (main): Likewise.
39247         * tests/test-chown.c (main): Likewise.
39248         * tests/test-fchownat.c (main): Likewise.
39249         * tests/test-lchown.c (main): Likewise.
39250         * tests/test-fdutimensat.c (main): Likewise.
39251         * tests/test-futimens.c (main): Likewise.
39252         * tests/test-link.c (main): Likewise.
39253         * tests/test-linkat.c (main): Likewise.
39254         * tests/test-mkdir.c (main): Likewise.
39255         * tests/test-mkdirat.c (main): Likewise.
39256         * tests/test-mkfifo.c (main): Likewise.
39257         * tests/test-mkfifoat.c (main): Likewise.
39258         * tests/test-mknod.c (main): Likewise.
39259         * tests/test-readlink.c (main): Likewise.
39260         * tests/test-remove.c (main): Likewise.
39261         * tests/test-rename.c (main): Likewise.
39262         * tests/test-renameat.c (main): Likewise.
39263         * tests/test-symlink.c (main): Likewise.
39264         * tests/test-symlinkat.c (main): Likewise.
39265         * tests/test-utimens.c (main): Likewise.
39266         * tests/test-utimensat.c (main): Likewise.
39267
39268 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39269
39270         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39271         on $(UNUSED_PARAMETER_H) to avoid build failure.
39272
39273 2009-12-28  Jim Meyering  <meyering@redhat.com>
39274
39275         update-copyright: you may specify a max. line length other than 72
39276         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39277
39278         maint: use consistent FSF copyright line syntax
39279         * lib/posixtm.c: Add missing comma in FSF copyright line.
39280         * lib/posixtm.h: Likewise.
39281         * lib/getugroups.c: Add missing ", Inc.".
39282
39283         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39284         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39285         FSF copyright line.  Remove trailing blanks.
39286
39287 2009-12-28  Eric Blake  <ebb9@byu.net>
39288
39289         test-dup2: reduce dependencies
39290         * modules/cloexec (Configure.ac): Set witness.
39291         * modules/dup2-tests (Depends-on): Drop cloexec.
39292         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39293         not present.
39294         Suggested by Bruno Haible.
39295
39296 2009-12-26  Bruno Haible  <bruno@clisp.org>
39297
39298         Remove an unneeded dependency.
39299         * modules/fseterr (Depends-on): Remove dup2.
39300
39301 2009-12-26  Eric Blake  <ebb9@byu.net>
39302
39303         tests: use macros.h in more places
39304         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39305         (ASSERT_STREAM): Provide default of stderr.
39306         * tests/test-dirent-safer.c: Include macros.h, using alternate
39307         stream for assertions.
39308         * tests/test-dup-safer.c: Likewise.
39309         * tests/test-freopen-safer.c: Likewise.
39310         * tests/test-getopt.c: Likewise.
39311         * tests/test-openat-safer.c: Likewise.
39312         * tests/test-pipe.c: Likewise.
39313         * tests/test-popen-safer.c: Likewise.
39314         * modules/dirent-safer-tests (Files): Include macros.h.
39315         * modules/unistd-safer-tests (Files): Likewise.
39316         * modules/freopen-safer-tests (Files): Likewise.
39317         * modules/getopt-posix-tests (Files): Likewise.
39318         * modules/openat-safer-tests (Files): Likewise.
39319         * modules/pipe-tests (Files): Likewise.
39320
39321 2009-12-26  Bruno Haible  <bruno@clisp.org>
39322
39323         javacomp: Portability fix.
39324         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39325         that it also works on Solaris.
39326
39327 2009-12-26  Bruno Haible  <bruno@clisp.org>
39328
39329         localename: Fix storage allocation of gl_locale_name_thread's result.
39330         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39331         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39332         all platforms that have 'uselocale'.
39333         (gl_locale_name_thread_unsafe): New function, extracted from
39334         gl_locale_name_thread.
39335         (gl_locale_name_thread): Call struniq on all platforms that have
39336         'uselocale'.
39337         * tests/test-localename.c (test_locale_name_thread): Check that the
39338         resulting strings are permanently allocated.
39339         * modules/localename-tests (Depends-on): Add strdup.
39340
39341 2009-12-26  Bruno Haible  <bruno@clisp.org>
39342
39343         * tests/test-localename.c (categories): Fill in the strings.
39344
39345 2009-12-26  Jim Meyering  <meyering@redhat.com>
39346
39347         isdir: complete the removal of m4/isdir.m4
39348         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39349
39350         isdir: clean up, since at least grep still uses it
39351         * lib/isdir.c: Include "isdir.h".
39352         (S_ISDIR): Remove now-unneeded definition.
39353         * modules/isdir (Files): Add lib/isdir.h.
39354         * lib/isdir.h: New file, with declaration.
39355         * m4/isdir.m4: Remove file -- unneeded.
39356
39357 2009-12-25  Bruno Haible  <bruno@clisp.org>
39358
39359         selinux-h: Make generated .h files standalone.
39360         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39361         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39362         * lib/se-selinux.in.h: Likewise.
39363         * modules/selinux-h (Depends-on): Add unused-parameter.
39364         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39365         selinux/selinux.h and selinux/context.h.
39366         Suggested by Eric Blake.
39367
39368 2009-12-25  Bruno Haible  <bruno@clisp.org>
39369
39370         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39371         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39372         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39373         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39374         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39375
39376 2009-12-24  Bruno Haible  <bruno@clisp.org>
39377
39378         openat: Fix warning.
39379         * lib/openat-proc.c: Include <unistd.h>.
39380
39381 2009-12-24  Bruno Haible  <bruno@clisp.org>
39382
39383         New module 'unused-parameter'.
39384         * build-aux/unused-parameter.h: New file, extracted from earlier
39385         gnulib-common.m4.
39386         * modules/unused-parameter: New file.
39387         * lib/unistr.h: Include unused-parameter.h.
39388         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39389         _GL_UNUSED.
39390         * modules/unistr/base (Depends-on): Add unused-parameter.
39391
39392 2009-12-24  Bruno Haible  <bruno@clisp.org>
39393
39394         Add missing dependencies to 'extensions' module.
39395         * m4/extensions.m4: Add comment.
39396         * modules/accept4 (Depends-on): Add extensions.
39397         * modules/dup3 (Depends-on): Likewise.
39398         * modules/fcntl (Depends-on): Likewise.
39399         * modules/futimens (Depends-on): Likewise.
39400         * modules/mknod (Depends-on): Likewise.
39401         * modules/pipe2 (Depends-on): Likewise.
39402         * modules/stat-time (Depends-on): Likewise.
39403         * modules/strcasestr-simple (Depends-on): Likewise.
39404         * modules/strsignal (Depends-on): Likewise.
39405         * modules/utimensat (Depends-on): Likewise.
39406         * modules/localcharset (Depends-on): Likewise. Needed because of
39407         gl_FCNTL_O_FLAGS.
39408         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39409         AC_TYPE_MBSTATE_T.
39410         * modules/wcsnrtombs (Depends-on): Likewise.
39411         * modules/wcsrtombs (Depends-on): Likewise.
39412
39413 2009-12-24  Bruno Haible  <bruno@clisp.org>
39414
39415         binary-io: Avoid gcc warning due to SET_BINARY.
39416         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39417         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39418
39419 2009-12-24  Bruno Haible  <bruno@clisp.org>
39420
39421         Avoid future namespace pollution on glibc systems.
39422         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39423         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39424         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39425         glibc systems.
39426
39427 2009-12-24  Bruno Haible  <bruno@clisp.org>
39428
39429         Refactor common macros used in tests.
39430         * tests/macros.h: New file.
39431         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39432         and/or <stdlib.h>, if appropriate.
39433         (ASSERT, SIZEOF): Remove macros.
39434         * tests/test-areadlink-with-size.c: Likewise.
39435         * tests/test-areadlinkat.c: Likewise.
39436         * tests/test-areadlinkat-with-size.c: Likewise.
39437         * tests/test-argmatch.c: Likewise.
39438         * tests/test-argv-iter.c: Likewise.
39439         * tests/test-array-mergesort.c: Likewise.
39440         * tests/test-array_list.c: Likewise.
39441         * tests/test-array_oset.c: Likewise.
39442         * tests/test-avltree_list.c: Likewise.
39443         * tests/test-avltree_oset.c: Likewise.
39444         * tests/test-avltreehash_list.c: Likewise.
39445         * tests/test-base64.c: Likewise.
39446         * tests/test-binary-io.c: Likewise.
39447         * tests/test-bitrotate.c: Likewise.
39448         * tests/test-btowc.c: Likewise.
39449         * tests/test-byteswap.c: Likewise.
39450         * tests/test-c-ctype.c: Likewise.
39451         * tests/test-c-stack.c: Likewise.
39452         * tests/test-c-strcasecmp.c: Likewise.
39453         * tests/test-c-strcasestr.c: Likewise.
39454         * tests/test-c-strncasecmp.c: Likewise.
39455         * tests/test-c-strstr.c: Likewise.
39456         * tests/test-canonicalize-lgpl.c: Likewise.
39457         * tests/test-canonicalize.c: Likewise.
39458         * tests/test-carray_list.c: Likewise.
39459         * tests/test-ceilf1.c: Likewise.
39460         * tests/test-ceilf2.c: Likewise.
39461         * tests/test-ceill.c: Likewise.
39462         * tests/test-chown.c: Likewise.
39463         * tests/test-cloexec.c: Likewise.
39464         * tests/test-copy-acl.c: Likewise.
39465         * tests/test-copy-file.c: Likewise.
39466         * tests/test-count-one-bits.c: Likewise.
39467         * tests/test-dprintf-posix.c: Likewise.
39468         * tests/test-dup2.c: Likewise.
39469         * tests/test-dup3.c: Likewise.
39470         * tests/test-duplocale.c: Likewise.
39471         * tests/test-fbufmode.c: Likewise.
39472         * tests/test-fchdir.c: Likewise.
39473         * tests/test-fchownat.c: Likewise.
39474         * tests/test-fcntl-safer.c: Likewise.
39475         * tests/test-fcntl.c: Likewise.
39476         * tests/test-fdopendir.c: Likewise.
39477         * tests/test-fdutimensat.c: Likewise.
39478         * tests/test-fflush2.c: Likewise.
39479         * tests/test-file-has-acl.c: Likewise.
39480         * tests/test-filevercmp.c: Likewise.
39481         * tests/test-flock.c: Likewise.
39482         * tests/test-floorf1.c: Likewise.
39483         * tests/test-floorf2.c: Likewise.
39484         * tests/test-floorl.c: Likewise.
39485         * tests/test-fnmatch.c: Likewise.
39486         * tests/test-fopen.h: Likewise.
39487         * tests/test-fpending.c: Likewise.
39488         * tests/test-fprintf-posix.c: Likewise.
39489         * tests/test-fpurge.c: Likewise.
39490         * tests/test-freadable.c: Likewise.
39491         * tests/test-freadahead.c: Likewise.
39492         * tests/test-freading.c: Likewise.
39493         * tests/test-freadptr.c: Likewise.
39494         * tests/test-freadptr2.c: Likewise.
39495         * tests/test-freadseek.c: Likewise.
39496         * tests/test-freopen.c: Likewise.
39497         * tests/test-frexp.c: Likewise.
39498         * tests/test-frexpl.c: Likewise.
39499         * tests/test-fseek.c: Likewise.
39500         * tests/test-fseeko.c: Likewise.
39501         * tests/test-fstatat.c: Likewise.
39502         * tests/test-fstrcmp.c: Likewise.
39503         * tests/test-fsync.c: Likewise.
39504         * tests/test-ftell.c: Likewise.
39505         * tests/test-ftello.c: Likewise.
39506         * tests/test-func.c: Likewise.
39507         * tests/test-futimens.c: Likewise.
39508         * tests/test-fwritable.c: Likewise.
39509         * tests/test-fwriting.c: Likewise.
39510         * tests/test-getcwd.c: Likewise.
39511         * tests/test-getdate.c: Likewise.
39512         * tests/test-getdelim.c: Likewise.
39513         * tests/test-getdtablesize.c: Likewise.
39514         * tests/test-getgroups.c: Likewise.
39515         * tests/test-getline.c: Likewise.
39516         * tests/test-getndelim2.c: Likewise.
39517         * tests/test-glob.c: Likewise.
39518         * tests/test-hash.c: Likewise.
39519         * tests/test-i-ring.c: Likewise.
39520         * tests/test-iconv-utf.c: Likewise.
39521         * tests/test-iconv.c: Likewise.
39522         * tests/test-idpriv-drop.c: Likewise.
39523         * tests/test-idpriv-droptemp.c: Likewise.
39524         * tests/test-inet_ntop.c: Likewise.
39525         * tests/test-inet_pton.c: Likewise.
39526         * tests/test-isblank.c: Likewise.
39527         * tests/test-isfinite.c: Likewise.
39528         * tests/test-isinf.c: Likewise.
39529         * tests/test-isnan.c: Likewise.
39530         * tests/test-isnand.h: Likewise.
39531         * tests/test-isnanf.h: Likewise.
39532         * tests/test-isnanl.h: Likewise.
39533         * tests/test-lchown.c: Likewise.
39534         * tests/test-ldexpl.c: Likewise.
39535         * tests/test-link.c: Likewise.
39536         * tests/test-linkat.c: Likewise.
39537         * tests/test-linked_list.c: Likewise.
39538         * tests/test-linkedhash_list.c: Likewise.
39539         * tests/test-localename.c: Likewise.
39540         * tests/test-lseek.c: Likewise.
39541         * tests/test-lstat.c: Likewise.
39542         * tests/test-mbmemcasecmp.c: Likewise.
39543         * tests/test-mbmemcasecoll.c: Likewise.
39544         * tests/test-mbrtowc.c: Likewise.
39545         * tests/test-mbscasecmp.c: Likewise.
39546         * tests/test-mbscasestr1.c: Likewise.
39547         * tests/test-mbscasestr2.c: Likewise.
39548         * tests/test-mbscasestr3.c: Likewise.
39549         * tests/test-mbscasestr4.c: Likewise.
39550         * tests/test-mbschr.c: Likewise.
39551         * tests/test-mbscspn.c: Likewise.
39552         * tests/test-mbsinit.c: Likewise.
39553         * tests/test-mbsncasecmp.c: Likewise.
39554         * tests/test-mbsnrtowcs.c: Likewise.
39555         * tests/test-mbspbrk.c: Likewise.
39556         * tests/test-mbspcasecmp.c: Likewise.
39557         * tests/test-mbsrchr.c: Likewise.
39558         * tests/test-mbsrtowcs.c: Likewise.
39559         * tests/test-mbsspn.c: Likewise.
39560         * tests/test-mbsstr1.c: Likewise.
39561         * tests/test-mbsstr2.c: Likewise.
39562         * tests/test-mbsstr3.c: Likewise.
39563         * tests/test-memchr.c: Likewise.
39564         * tests/test-memchr2.c: Likewise.
39565         * tests/test-memcmp.c: Likewise.
39566         * tests/test-memmem.c: Likewise.
39567         * tests/test-memrchr.c: Likewise.
39568         * tests/test-mkdir.c: Likewise.
39569         * tests/test-mkdirat.c: Likewise.
39570         * tests/test-mkfifo.c: Likewise.
39571         * tests/test-mkfifoat.c: Likewise.
39572         * tests/test-mknod.c: Likewise.
39573         * tests/test-nanosleep.c: Likewise.
39574         * tests/test-nl_langinfo.c: Likewise.
39575         * tests/test-obstack-printf.c: Likewise.
39576         * tests/test-open.c: Likewise.
39577         * tests/test-openat.c: Likewise.
39578         * tests/test-pipe-filter-gi1.c: Likewise.
39579         * tests/test-pipe-filter-gi2-main.c: Likewise.
39580         * tests/test-pipe-filter-ii1.c: Likewise.
39581         * tests/test-pipe-filter-ii2-main.c: Likewise.
39582         * tests/test-pipe2.c: Likewise.
39583         * tests/test-popen.h: Likewise.
39584         * tests/test-posixtm.c: Likewise.
39585         * tests/test-pread.c: Likewise.
39586         * tests/test-printf-frexp.c: Likewise.
39587         * tests/test-printf-frexpl.c: Likewise.
39588         * tests/test-printf-posix.c: Likewise.
39589         * tests/test-priv-set.c: Likewise.
39590         * tests/test-quotearg.c: Likewise.
39591         * tests/test-random_r.c: Likewise.
39592         * tests/test-rawmemchr.c: Likewise.
39593         * tests/test-rbtree_list.c: Likewise.
39594         * tests/test-rbtree_oset.c: Likewise.
39595         * tests/test-rbtreehash_list.c: Likewise.
39596         * tests/test-readlink.c: Likewise.
39597         * tests/test-remove.c: Likewise.
39598         * tests/test-rename.c: Likewise.
39599         * tests/test-renameat.c: Likewise.
39600         * tests/test-rmdir.c: Likewise.
39601         * tests/test-round1.c: Likewise.
39602         * tests/test-roundf1.c: Likewise.
39603         * tests/test-roundl.c: Likewise.
39604         * tests/test-safe-alloc.c: Likewise.
39605         * tests/test-sameacls.c: Likewise.
39606         * tests/test-set-mode-acl.c: Likewise.
39607         * tests/test-setenv.c: Likewise.
39608         * tests/test-sigaction.c: Likewise.
39609         * tests/test-signbit.c: Likewise.
39610         * tests/test-sleep.c: Likewise.
39611         * tests/test-snprintf-posix.c: Likewise.
39612         * tests/test-snprintf.c: Likewise.
39613         * tests/test-sprintf-posix.c: Likewise.
39614         * tests/test-stat-time.c: Likewise.
39615         * tests/test-stat.c: Likewise.
39616         * tests/test-strcasestr.c: Likewise.
39617         * tests/test-strchrnul.c: Likewise.
39618         * tests/test-strerror.c: Likewise.
39619         * tests/test-striconv.c: Likewise.
39620         * tests/test-striconveh.c: Likewise.
39621         * tests/test-striconveha.c: Likewise.
39622         * tests/test-strsignal.c: Likewise.
39623         * tests/test-strstr.c: Likewise.
39624         * tests/test-strtod.c: Likewise.
39625         * tests/test-strverscmp.c: Likewise.
39626         * tests/test-symlink.c: Likewise.
39627         * tests/test-symlinkat.c: Likewise.
39628         * tests/test-trunc1.c: Likewise.
39629         * tests/test-trunc2.c: Likewise.
39630         * tests/test-truncf1.c: Likewise.
39631         * tests/test-truncf2.c: Likewise.
39632         * tests/test-truncl.c: Likewise.
39633         * tests/test-uname.c: Likewise.
39634         * tests/test-unlink.c: Likewise.
39635         * tests/test-unlinkat.c: Likewise.
39636         * tests/test-unsetenv.c: Likewise.
39637         * tests/test-usleep.c: Likewise.
39638         * tests/test-utimens.c: Likewise.
39639         * tests/test-utimensat.c: Likewise.
39640         * tests/test-vasnprintf-posix.c: Likewise.
39641         * tests/test-vasnprintf-posix2.c: Likewise.
39642         * tests/test-vasnprintf.c: Likewise.
39643         * tests/test-vasprintf-posix.c: Likewise.
39644         * tests/test-vasprintf.c: Likewise.
39645         * tests/test-vdprintf-posix.c: Likewise.
39646         * tests/test-vfprintf-posix.c: Likewise.
39647         * tests/test-vprintf-posix.c: Likewise.
39648         * tests/test-vsnprintf-posix.c: Likewise.
39649         * tests/test-vsnprintf.c: Likewise.
39650         * tests/test-vsprintf-posix.c: Likewise.
39651         * tests/test-wcrtomb.c: Likewise.
39652         * tests/test-wcsnrtombs.c: Likewise.
39653         * tests/test-wcsrtombs.c: Likewise.
39654         * tests/test-wctype.c: Likewise.
39655         * tests/test-wcwidth.c: Likewise.
39656         * tests/test-xfprintf-posix.c: Likewise.
39657         * tests/test-xmemdup0.c: Likewise.
39658         * tests/test-xprintf-posix.c: Likewise.
39659         * tests/test-xvasprintf.c: Likewise.
39660         * tests/unicase/test-locale-language.c: Likewise.
39661         * tests/unicase/test-mapping-part1.h: Likewise.
39662         * tests/unicase/test-predicate-part1.h: Likewise.
39663         * tests/unicase/test-u8-casecmp.c: Likewise.
39664         * tests/unicase/test-u8-casecoll.c: Likewise.
39665         * tests/unicase/test-u8-casefold.c: Likewise.
39666         * tests/unicase/test-u8-is-cased.c: Likewise.
39667         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39668         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39669         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39670         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39671         * tests/unicase/test-u8-tolower.c: Likewise.
39672         * tests/unicase/test-u8-totitle.c: Likewise.
39673         * tests/unicase/test-u8-toupper.c: Likewise.
39674         * tests/unicase/test-u16-casecmp.c: Likewise.
39675         * tests/unicase/test-u16-casecoll.c: Likewise.
39676         * tests/unicase/test-u16-casefold.c: Likewise.
39677         * tests/unicase/test-u16-is-cased.c: Likewise.
39678         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39679         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39680         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39681         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39682         * tests/unicase/test-u16-tolower.c: Likewise.
39683         * tests/unicase/test-u16-totitle.c: Likewise.
39684         * tests/unicase/test-u16-toupper.c: Likewise.
39685         * tests/unicase/test-u32-casecmp.c: Likewise.
39686         * tests/unicase/test-u32-casecoll.c: Likewise.
39687         * tests/unicase/test-u32-casefold.c: Likewise.
39688         * tests/unicase/test-u32-is-cased.c: Likewise.
39689         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39690         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39691         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39692         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39693         * tests/unicase/test-u32-tolower.c: Likewise.
39694         * tests/unicase/test-u32-totitle.c: Likewise.
39695         * tests/unicase/test-u32-toupper.c: Likewise.
39696         * tests/unicase/test-ulc-casecmp.c: Likewise.
39697         * tests/unicase/test-ulc-casecoll.c: Likewise.
39698         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39699         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39700         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39701         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39702         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39703         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39704         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39705         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39706         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39707         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39708         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39709         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39710         * tests/unictype/test-bidi_byname.c: Likewise.
39711         * tests/unictype/test-bidi_name.c: Likewise.
39712         * tests/unictype/test-bidi_of.c: Likewise.
39713         * tests/unictype/test-bidi_test.c: Likewise.
39714         * tests/unictype/test-block_list.c: Likewise.
39715         * tests/unictype/test-block_of.c: Likewise.
39716         * tests/unictype/test-block_test.c: Likewise.
39717         * tests/unictype/test-categ_and.c: Likewise.
39718         * tests/unictype/test-categ_and_not.c: Likewise.
39719         * tests/unictype/test-categ_byname.c: Likewise.
39720         * tests/unictype/test-categ_name.c: Likewise.
39721         * tests/unictype/test-categ_none.c: Likewise.
39722         * tests/unictype/test-categ_of.c: Likewise.
39723         * tests/unictype/test-categ_or.c: Likewise.
39724         * tests/unictype/test-categ_test_withtable.c: Likewise.
39725         * tests/unictype/test-combining.c: Likewise.
39726         * tests/unictype/test-decdigit.c: Likewise.
39727         * tests/unictype/test-digit.c: Likewise.
39728         * tests/unictype/test-mirror.c: Likewise.
39729         * tests/unictype/test-numeric.c: Likewise.
39730         * tests/unictype/test-pr_byname.c: Likewise.
39731         * tests/unictype/test-pr_test.c: Likewise.
39732         * tests/unictype/test-predicate-part1.h: Likewise.
39733         * tests/unictype/test-scripts.c: Likewise.
39734         * tests/unictype/test-sy_c_ident.c: Likewise.
39735         * tests/unictype/test-sy_java_ident.c: Likewise.
39736         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
39737         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
39738         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
39739         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
39740         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
39741         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
39742         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
39743         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
39744         * tests/uninorm/test-canonical-decomposition.c: Likewise.
39745         * tests/uninorm/test-compat-decomposition.c: Likewise.
39746         * tests/uninorm/test-composition.c: Likewise.
39747         * tests/uninorm/test-decomposing-form.c: Likewise.
39748         * tests/uninorm/test-decomposition.c: Likewise.
39749         * tests/uninorm/test-u8-nfc.c: Likewise.
39750         * tests/uninorm/test-u8-nfd.c: Likewise.
39751         * tests/uninorm/test-u8-nfkc.c: Likewise.
39752         * tests/uninorm/test-u8-nfkd.c: Likewise.
39753         * tests/uninorm/test-u8-normcmp.c: Likewise.
39754         * tests/uninorm/test-u8-normcoll.c: Likewise.
39755         * tests/uninorm/test-u16-nfc.c: Likewise.
39756         * tests/uninorm/test-u16-nfd.c: Likewise.
39757         * tests/uninorm/test-u16-nfkc.c: Likewise.
39758         * tests/uninorm/test-u16-nfkd.c: Likewise.
39759         * tests/uninorm/test-u16-normcmp.c: Likewise.
39760         * tests/uninorm/test-u16-normcoll.c: Likewise.
39761         * tests/uninorm/test-u32-nfc.c: Likewise.
39762         * tests/uninorm/test-u32-nfd.c: Likewise.
39763         * tests/uninorm/test-u32-nfkc.c: Likewise.
39764         * tests/uninorm/test-u32-nfkd.c: Likewise.
39765         * tests/uninorm/test-u32-normalize-big.c: Likewise.
39766         * tests/uninorm/test-u32-normcmp.c: Likewise.
39767         * tests/uninorm/test-u32-normcoll.c: Likewise.
39768         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
39769         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39770         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39771         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39772         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39773         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39774         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39775         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39776         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39777         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39778         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39779         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39780         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39781         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39782         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39783         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39784         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39785         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39786         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39787         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39788         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39789         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39790         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39791         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39792         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39793         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39794         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39795         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39796         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39797         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
39798         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
39799         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
39800         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
39801         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39802         * tests/uniwidth/test-u8-width.c: Likewise.
39803         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39804         * tests/uniwidth/test-u16-width.c: Likewise.
39805         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39806         * tests/uniwidth/test-u32-width.c: Likewise.
39807         * tests/uniwidth/test-uc_width.c: Likewise.
39808         * tests/uniwidth/test-uc_width2.c: Likewise.
39809         * modules/acl-tests (Files): Add tests/macros.h.
39810         * modules/areadlink-tests (Files): Likewise.
39811         * modules/areadlink-with-size-tests (Files): Likewise.
39812         * modules/areadlinkat-tests (Files): Likewise.
39813         * modules/areadlinkat-with-size-tests (Files): Likewise.
39814         * modules/argmatch-tests (Files): Likewise.
39815         * modules/argv-iter-tests (Files): Likewise.
39816         * modules/array-list-tests (Files): Likewise.
39817         * modules/array-mergesort-tests (Files): Likewise.
39818         * modules/array-oset-tests (Files): Likewise.
39819         * modules/avltree-list-tests (Files): Likewise.
39820         * modules/avltree-oset-tests (Files): Likewise.
39821         * modules/avltreehash-list-tests (Files): Likewise.
39822         * modules/base64-tests (Files): Likewise.
39823         * modules/binary-io-tests (Files): Likewise.
39824         * modules/bitrotate-tests (Files): Likewise.
39825         * modules/btowc-tests (Files): Likewise.
39826         * modules/byteswap-tests (Files): Likewise.
39827         * modules/c-ctype-tests (Files): Likewise.
39828         * modules/c-stack-tests (Files): Likewise.
39829         * modules/c-strcase-tests (Files): Likewise.
39830         * modules/c-strcasestr-tests (Files): Likewise.
39831         * modules/c-strstr-tests (Files): Likewise.
39832         * modules/canonicalize-lgpl-tests (Files): Likewise.
39833         * modules/canonicalize-tests (Files): Likewise.
39834         * modules/carray-list-tests (Files): Likewise.
39835         * modules/ceilf-tests (Files): Likewise.
39836         * modules/ceill-tests (Files): Likewise.
39837         * modules/chown-tests (Files): Likewise.
39838         * modules/cloexec-tests (Files): Likewise.
39839         * modules/copy-file-tests (Files): Likewise.
39840         * modules/count-one-bits-tests (Files): Likewise.
39841         * modules/dprintf-posix-tests (Files): Likewise.
39842         * modules/dup2-tests (Files): Likewise.
39843         * modules/dup3-tests (Files): Likewise.
39844         * modules/duplocale-tests (Files): Likewise.
39845         * modules/fbufmode-tests (Files): Likewise.
39846         * modules/fchdir-tests (Files): Likewise.
39847         * modules/fcntl-safer-tests (Files): Likewise.
39848         * modules/fcntl-tests (Files): Likewise.
39849         * modules/fdopendir-tests (Files): Likewise.
39850         * modules/fdutimensat-tests (Files): Likewise.
39851         * modules/fflush-tests (Files): Likewise.
39852         * modules/filevercmp-tests (Files): Likewise.
39853         * modules/flock-tests (Files): Likewise.
39854         * modules/floorf-tests (Files): Likewise.
39855         * modules/floorl-tests (Files): Likewise.
39856         * modules/fnmatch-tests (Files): Likewise.
39857         * modules/fopen-safer-tests (Files): Likewise.
39858         * modules/fopen-tests (Files): Likewise.
39859         * modules/fpending-tests (Files): Likewise.
39860         * modules/fprintf-posix-tests (Files): Likewise.
39861         * modules/fpurge-tests (Files): Likewise.
39862         * modules/freadable-tests (Files): Likewise.
39863         * modules/freadahead-tests (Files): Likewise.
39864         * modules/freading-tests (Files): Likewise.
39865         * modules/freadptr-tests (Files): Likewise.
39866         * modules/freadseek-tests (Files): Likewise.
39867         * modules/freopen-tests (Files): Likewise.
39868         * modules/frexp-nolibm-tests (Files): Likewise.
39869         * modules/frexp-tests (Files): Likewise.
39870         * modules/frexpl-nolibm-tests (Files): Likewise.
39871         * modules/frexpl-tests (Files): Likewise.
39872         * modules/fseek-tests (Files): Likewise.
39873         * modules/fseeko-tests (Files): Likewise.
39874         * modules/fstrcmp-tests (Files): Likewise.
39875         * modules/fsync-tests (Files): Likewise.
39876         * modules/ftell-tests (Files): Likewise.
39877         * modules/ftello-tests (Files): Likewise.
39878         * modules/func-tests (Files): Likewise.
39879         * modules/futimens-tests (Files): Likewise.
39880         * modules/fwritable-tests (Files): Likewise.
39881         * modules/fwriting-tests (Files): Likewise.
39882         * modules/getcwd-tests (Files): Likewise.
39883         * modules/getdate-tests (Files): Likewise.
39884         * modules/getdelim-tests (Files): Likewise.
39885         * modules/getdtablesize-tests (Files): Likewise.
39886         * modules/getgroups-tests (Files): Likewise.
39887         * modules/getline-tests (Files): Likewise.
39888         * modules/getndelim2-tests (Files): Likewise.
39889         * modules/glob-tests (Files): Likewise.
39890         * modules/hash-tests (Files): Likewise.
39891         * modules/i-ring-tests (Files): Likewise.
39892         * modules/iconv-tests (Files): Likewise.
39893         * modules/iconv_open-utf-tests (Files): Likewise.
39894         * modules/idpriv-drop-tests (Files): Likewise.
39895         * modules/idpriv-droptemp-tests (Files): Likewise.
39896         * modules/inet_ntop-tests (Files): Likewise.
39897         * modules/inet_pton-tests (Files): Likewise.
39898         * modules/isblank-tests (Files): Likewise.
39899         * modules/isfinite-tests (Files): Likewise.
39900         * modules/isinf-tests (Files): Likewise.
39901         * modules/isnan-tests (Files): Likewise.
39902         * modules/isnand-nolibm-tests (Files): Likewise.
39903         * modules/isnand-tests (Files): Likewise.
39904         * modules/isnanf-nolibm-tests (Files): Likewise.
39905         * modules/isnanf-tests (Files): Likewise.
39906         * modules/isnanl-nolibm-tests (Files): Likewise.
39907         * modules/isnanl-tests (Files): Likewise.
39908         * modules/lchown-tests (Files): Likewise.
39909         * modules/ldexpl-tests (Files): Likewise.
39910         * modules/link-tests (Files): Likewise.
39911         * modules/linkat-tests (Files): Likewise.
39912         * modules/linked-list-tests (Files): Likewise.
39913         * modules/linkedhash-list-tests (Files): Likewise.
39914         * modules/localename-tests (Files): Likewise.
39915         * modules/lseek-tests (Files): Likewise.
39916         * modules/lstat-tests (Files): Likewise.
39917         * modules/mbmemcasecmp-tests (Files): Likewise.
39918         * modules/mbmemcasecoll-tests (Files): Likewise.
39919         * modules/mbrtowc-tests (Files): Likewise.
39920         * modules/mbscasecmp-tests (Files): Likewise.
39921         * modules/mbscasestr-tests (Files): Likewise.
39922         * modules/mbschr-tests (Files): Likewise.
39923         * modules/mbscspn-tests (Files): Likewise.
39924         * modules/mbsinit-tests (Files): Likewise.
39925         * modules/mbsncasecmp-tests (Files): Likewise.
39926         * modules/mbsnrtowcs-tests (Files): Likewise.
39927         * modules/mbspbrk-tests (Files): Likewise.
39928         * modules/mbspcasecmp-tests (Files): Likewise.
39929         * modules/mbsrchr-tests (Files): Likewise.
39930         * modules/mbsrtowcs-tests (Files): Likewise.
39931         * modules/mbsspn-tests (Files): Likewise.
39932         * modules/mbsstr-tests (Files): Likewise.
39933         * modules/memchr-tests (Files): Likewise.
39934         * modules/memchr2-tests (Files): Likewise.
39935         * modules/memcmp-tests (Files): Likewise.
39936         * modules/memmem-tests (Files): Likewise.
39937         * modules/memrchr-tests (Files): Likewise.
39938         * modules/mkdir-tests (Files): Likewise.
39939         * modules/mkfifo-tests (Files): Likewise.
39940         * modules/mkfifoat-tests (Files): Likewise.
39941         * modules/mknod-tests (Files): Likewise.
39942         * modules/nanosleep-tests (Files): Likewise.
39943         * modules/nl_langinfo-tests (Files): Likewise.
39944         * modules/obstack-printf-tests (Files): Likewise.
39945         * modules/open-tests (Files): Likewise.
39946         * modules/openat-tests (Files): Likewise.
39947         * modules/pipe-filter-gi-tests (Files): Likewise.
39948         * modules/pipe-filter-ii-tests (Files): Likewise.
39949         * modules/pipe2-tests (Files): Likewise.
39950         * modules/popen-safer-tests (Files): Likewise.
39951         * modules/popen-tests (Files): Likewise.
39952         * modules/posixtm-tests (Files): Likewise.
39953         * modules/pread-tests (Files): Likewise.
39954         * modules/printf-frexp-tests (Files): Likewise.
39955         * modules/printf-frexpl-tests (Files): Likewise.
39956         * modules/printf-posix-tests (Files): Likewise.
39957         * modules/priv-set-tests (Files): Likewise.
39958         * modules/quotearg-tests (Files): Likewise.
39959         * modules/random_r-tests (Files): Likewise.
39960         * modules/rawmemchr-tests (Files): Likewise.
39961         * modules/rbtree-list-tests (Files): Likewise.
39962         * modules/rbtree-oset-tests (Files): Likewise.
39963         * modules/rbtreehash-list-tests (Files): Likewise.
39964         * modules/readlink-tests (Files): Likewise.
39965         * modules/remove-tests (Files): Likewise.
39966         * modules/rename-tests (Files): Likewise.
39967         * modules/renameat-tests (Files): Likewise.
39968         * modules/rmdir-tests (Files): Likewise.
39969         * modules/round-tests (Files): Likewise.
39970         * modules/roundf-tests (Files): Likewise.
39971         * modules/roundl-tests (Files): Likewise.
39972         * modules/safe-alloc-tests (Files): Likewise.
39973         * modules/setenv-tests (Files): Likewise.
39974         * modules/sigaction-tests (Files): Likewise.
39975         * modules/signbit-tests (Files): Likewise.
39976         * modules/sleep-tests (Files): Likewise.
39977         * modules/snprintf-posix-tests (Files): Likewise.
39978         * modules/snprintf-tests (Files): Likewise.
39979         * modules/sprintf-posix-tests (Files): Likewise.
39980         * modules/stat-tests (Files): Likewise.
39981         * modules/stat-time-tests (Files): Likewise.
39982         * modules/strcasestr-tests (Files): Likewise.
39983         * modules/strchrnul-tests (Files): Likewise.
39984         * modules/strerror-tests (Files): Likewise.
39985         * modules/striconv-tests (Files): Likewise.
39986         * modules/striconveh-tests (Files): Likewise.
39987         * modules/striconveha-tests (Files): Likewise.
39988         * modules/strsignal-tests (Files): Likewise.
39989         * modules/strstr-tests (Files): Likewise.
39990         * modules/strtod-tests (Files): Likewise.
39991         * modules/strverscmp-tests (Files): Likewise.
39992         * modules/symlink-tests (Files): Likewise.
39993         * modules/symlinkat-tests (Files): Likewise.
39994         * modules/trunc-tests (Files): Likewise.
39995         * modules/truncf-tests (Files): Likewise.
39996         * modules/truncl-tests (Files): Likewise.
39997         * modules/uname-tests (Files): Likewise.
39998         * modules/unicase/cased-tests (Files): Likewise.
39999         * modules/unicase/ignorable-tests (Files): Likewise.
40000         * modules/unicase/locale-language-tests (Files): Likewise.
40001         * modules/unicase/tolower-tests (Files): Likewise.
40002         * modules/unicase/totitle-tests (Files): Likewise.
40003         * modules/unicase/toupper-tests (Files): Likewise.
40004         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40005         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40006         * modules/unicase/u8-casefold-tests (Files): Likewise.
40007         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40008         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40009         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40010         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40011         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40012         * modules/unicase/u8-tolower-tests (Files): Likewise.
40013         * modules/unicase/u8-totitle-tests (Files): Likewise.
40014         * modules/unicase/u8-toupper-tests (Files): Likewise.
40015         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40016         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40017         * modules/unicase/u16-casefold-tests (Files): Likewise.
40018         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40019         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40020         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40021         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40022         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40023         * modules/unicase/u16-tolower-tests (Files): Likewise.
40024         * modules/unicase/u16-totitle-tests (Files): Likewise.
40025         * modules/unicase/u16-toupper-tests (Files): Likewise.
40026         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40027         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40028         * modules/unicase/u32-casefold-tests (Files): Likewise.
40029         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40030         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40031         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40032         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40033         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40034         * modules/unicase/u32-tolower-tests (Files): Likewise.
40035         * modules/unicase/u32-totitle-tests (Files): Likewise.
40036         * modules/unicase/u32-toupper-tests (Files): Likewise.
40037         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40038         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40039         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40040         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40041         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40042         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40043         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40044         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40045         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40046         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40047         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40048         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40049         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40050         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40051         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40052         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40053         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40054         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40055         * modules/unictype/block-list-tests (Files): Likewise.
40056         * modules/unictype/block-of-tests (Files): Likewise.
40057         * modules/unictype/block-test-tests (Files): Likewise.
40058         * modules/unictype/category-C-tests (Files): Likewise.
40059         * modules/unictype/category-Cc-tests (Files): Likewise.
40060         * modules/unictype/category-Cf-tests (Files): Likewise.
40061         * modules/unictype/category-Cn-tests (Files): Likewise.
40062         * modules/unictype/category-Co-tests (Files): Likewise.
40063         * modules/unictype/category-Cs-tests (Files): Likewise.
40064         * modules/unictype/category-L-tests (Files): Likewise.
40065         * modules/unictype/category-Ll-tests (Files): Likewise.
40066         * modules/unictype/category-Lm-tests (Files): Likewise.
40067         * modules/unictype/category-Lo-tests (Files): Likewise.
40068         * modules/unictype/category-Lt-tests (Files): Likewise.
40069         * modules/unictype/category-Lu-tests (Files): Likewise.
40070         * modules/unictype/category-M-tests (Files): Likewise.
40071         * modules/unictype/category-Mc-tests (Files): Likewise.
40072         * modules/unictype/category-Me-tests (Files): Likewise.
40073         * modules/unictype/category-Mn-tests (Files): Likewise.
40074         * modules/unictype/category-N-tests (Files): Likewise.
40075         * modules/unictype/category-Nd-tests (Files): Likewise.
40076         * modules/unictype/category-Nl-tests (Files): Likewise.
40077         * modules/unictype/category-No-tests (Files): Likewise.
40078         * modules/unictype/category-P-tests (Files): Likewise.
40079         * modules/unictype/category-Pc-tests (Files): Likewise.
40080         * modules/unictype/category-Pd-tests (Files): Likewise.
40081         * modules/unictype/category-Pe-tests (Files): Likewise.
40082         * modules/unictype/category-Pf-tests (Files): Likewise.
40083         * modules/unictype/category-Pi-tests (Files): Likewise.
40084         * modules/unictype/category-Po-tests (Files): Likewise.
40085         * modules/unictype/category-Ps-tests (Files): Likewise.
40086         * modules/unictype/category-S-tests (Files): Likewise.
40087         * modules/unictype/category-Sc-tests (Files): Likewise.
40088         * modules/unictype/category-Sk-tests (Files): Likewise.
40089         * modules/unictype/category-Sm-tests (Files): Likewise.
40090         * modules/unictype/category-So-tests (Files): Likewise.
40091         * modules/unictype/category-Z-tests (Files): Likewise.
40092         * modules/unictype/category-Zl-tests (Files): Likewise.
40093         * modules/unictype/category-Zp-tests (Files): Likewise.
40094         * modules/unictype/category-Zs-tests (Files): Likewise.
40095         * modules/unictype/category-and-not-tests (Files): Likewise.
40096         * modules/unictype/category-and-tests (Files): Likewise.
40097         * modules/unictype/category-byname-tests (Files): Likewise.
40098         * modules/unictype/category-name-tests (Files): Likewise.
40099         * modules/unictype/category-none-tests (Files): Likewise.
40100         * modules/unictype/category-of-tests (Files): Likewise.
40101         * modules/unictype/category-or-tests (Files): Likewise.
40102         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40103         * modules/unictype/combining-class-tests (Files): Likewise.
40104         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40105         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40106         * modules/unictype/ctype-blank-tests (Files): Likewise.
40107         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40108         * modules/unictype/ctype-digit-tests (Files): Likewise.
40109         * modules/unictype/ctype-graph-tests (Files): Likewise.
40110         * modules/unictype/ctype-lower-tests (Files): Likewise.
40111         * modules/unictype/ctype-print-tests (Files): Likewise.
40112         * modules/unictype/ctype-punct-tests (Files): Likewise.
40113         * modules/unictype/ctype-space-tests (Files): Likewise.
40114         * modules/unictype/ctype-upper-tests (Files): Likewise.
40115         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40116         * modules/unictype/decimal-digit-tests (Files): Likewise.
40117         * modules/unictype/digit-tests (Files): Likewise.
40118         * modules/unictype/mirror-tests (Files): Likewise.
40119         * modules/unictype/numeric-tests (Files): Likewise.
40120         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40121         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40122         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40123         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40124         Likewise.
40125         * modules/unictype/property-bidi-block-separator-tests (Files):
40126         Likewise.
40127         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40128         Likewise.
40129         * modules/unictype/property-bidi-common-separator-tests (Files):
40130         Likewise.
40131         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40132         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40133         Likewise.
40134         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40135         Likewise.
40136         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40137         Likewise.
40138         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40139         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40140         Likewise.
40141         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40142         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40143         Likewise.
40144         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40145         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40146         * modules/unictype/property-bidi-segment-separator-tests (Files):
40147         Likewise.
40148         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40149         * modules/unictype/property-byname-tests (Files): Likewise.
40150         * modules/unictype/property-combining-tests (Files): Likewise.
40151         * modules/unictype/property-composite-tests (Files): Likewise.
40152         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40153         * modules/unictype/property-dash-tests (Files): Likewise.
40154         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40155         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40156         Likewise.
40157         * modules/unictype/property-deprecated-tests (Files): Likewise.
40158         * modules/unictype/property-diacritic-tests (Files): Likewise.
40159         * modules/unictype/property-extender-tests (Files): Likewise.
40160         * modules/unictype/property-format-control-tests (Files): Likewise.
40161         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40162         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40163         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40164         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40165         * modules/unictype/property-hyphen-tests (Files): Likewise.
40166         * modules/unictype/property-id-continue-tests (Files): Likewise.
40167         * modules/unictype/property-id-start-tests (Files): Likewise.
40168         * modules/unictype/property-ideographic-tests (Files): Likewise.
40169         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40170         * modules/unictype/property-ids-trinary-operator-tests (Files):
40171         Likewise.
40172         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40173         * modules/unictype/property-iso-control-tests (Files): Likewise.
40174         * modules/unictype/property-join-control-tests (Files): Likewise.
40175         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40176         * modules/unictype/property-line-separator-tests (Files): Likewise.
40177         * modules/unictype/property-logical-order-exception-tests (Files):
40178         Likewise.
40179         * modules/unictype/property-lowercase-tests (Files): Likewise.
40180         * modules/unictype/property-math-tests (Files): Likewise.
40181         * modules/unictype/property-non-break-tests (Files): Likewise.
40182         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40183         * modules/unictype/property-numeric-tests (Files): Likewise.
40184         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40185         * modules/unictype/property-other-default-ignorable-code-point-tests
40186         (Files): Likewise.
40187         * modules/unictype/property-other-grapheme-extend-tests (Files):
40188         Likewise.
40189         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40190         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40191         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40192         * modules/unictype/property-other-math-tests (Files): Likewise.
40193         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40194         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40195         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40196         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40197         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40198         * modules/unictype/property-private-use-tests (Files): Likewise.
40199         * modules/unictype/property-punctuation-tests (Files): Likewise.
40200         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40201         * modules/unictype/property-radical-tests (Files): Likewise.
40202         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40203         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40204         * modules/unictype/property-space-tests (Files): Likewise.
40205         * modules/unictype/property-terminal-punctuation-tests (Files):
40206         Likewise.
40207         * modules/unictype/property-test-tests (Files): Likewise.
40208         * modules/unictype/property-titlecase-tests (Files): Likewise.
40209         * modules/unictype/property-unassigned-code-value-tests (Files):
40210         Likewise.
40211         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40212         * modules/unictype/property-uppercase-tests (Files): Likewise.
40213         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40214         * modules/unictype/property-white-space-tests (Files): Likewise.
40215         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40216         * modules/unictype/property-xid-start-tests (Files): Likewise.
40217         * modules/unictype/property-zero-width-tests (Files): Likewise.
40218         * modules/unictype/scripts-tests (Files): Likewise.
40219         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40220         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40221         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40222         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40223         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40224         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40225         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40226         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40227         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40228         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40229         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40230         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40231         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40232         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40233         * modules/uninorm/composition-tests (Files): Likewise.
40234         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40235         * modules/uninorm/decomposition-tests (Files): Likewise.
40236         * modules/uninorm/filter-tests (Files): Likewise.
40237         * modules/uninorm/nfc-tests (Files): Likewise.
40238         * modules/uninorm/nfd-tests (Files): Likewise.
40239         * modules/uninorm/nfkc-tests (Files): Likewise.
40240         * modules/uninorm/nfkd-tests (Files): Likewise.
40241         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40242         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40243         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40244         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40245         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40246         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40247         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40248         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40249         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40250         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40251         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40252         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40253         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40254         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40255         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40256         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40257         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40258         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40259         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40260         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40261         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40262         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40263         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40264         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40265         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40266         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40267         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40268         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40269         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40270         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40271         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40272         * modules/uniwidth/u8-width-tests (Files): Likewise.
40273         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40274         * modules/uniwidth/u16-width-tests (Files): Likewise.
40275         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40276         * modules/uniwidth/u32-width-tests (Files): Likewise.
40277         * modules/uniwidth/width-tests (Files): Likewise.
40278         * modules/unlink-tests (Files): Likewise.
40279         * modules/unsetenv-tests (Files): Likewise.
40280         * modules/usleep-tests (Files): Likewise.
40281         * modules/utimens-tests (Files): Likewise.
40282         * modules/utimensat-tests (Files): Likewise.
40283         * modules/vasnprintf-posix-tests (Files): Likewise.
40284         * modules/vasnprintf-tests (Files): Likewise.
40285         * modules/vasprintf-posix-tests (Files): Likewise.
40286         * modules/vasprintf-tests (Files): Likewise.
40287         * modules/vdprintf-posix-tests (Files): Likewise.
40288         * modules/vfprintf-posix-tests (Files): Likewise.
40289         * modules/vprintf-posix-tests (Files): Likewise.
40290         * modules/vsnprintf-posix-tests (Files): Likewise.
40291         * modules/vsnprintf-tests (Files): Likewise.
40292         * modules/vsprintf-posix-tests (Files): Likewise.
40293         * modules/wcrtomb-tests (Files): Likewise.
40294         * modules/wcsnrtombs-tests (Files): Likewise.
40295         * modules/wcsrtombs-tests (Files): Likewise.
40296         * modules/wctype-tests (Files): Likewise.
40297         * modules/wcwidth-tests (Files): Likewise.
40298         * modules/xmemdup0-tests (Files): Likewise.
40299         * modules/xprintf-posix-tests (Files): Likewise.
40300         * modules/xvasprintf-tests (Files): Likewise.
40301
40302 2009-12-24  Eric Blake  <ebb9@byu.net>
40303
40304         test-nanosleep: fix typo
40305         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40306         patch.
40307         Reported by Bruno Haible.
40308
40309 2009-12-24  Bruno Haible  <bruno@clisp.org>
40310
40311         Reduce namespace pollution on glibc systems.
40312         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40313         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40314         systems.
40315         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40316         <getopt.h> on glibc systems.
40317         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40318         systems.
40319         * lib/fcntl.c: Include <unistd.h> here instead.
40320
40321 2009-12-24  Bruno Haible  <bruno@clisp.org>
40322
40323         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40324
40325 2009-12-24  Eric Blake  <ebb9@byu.net>
40326
40327         tests: add signature checks
40328         * tests/signature.h (SIGNATURE_CHECK): New file.
40329         * modules/atexit-tests (Files): Use it.
40330         * modules/btowc-tests (Files): Likewise.
40331         * modules/canonicalize-lgpl-tests (Files): Likewise.
40332         * modules/ceilf-tests (Files): Likewise.
40333         * modules/ceill-tests (Files): Likewise.
40334         * modules/chown-tests (Files): Likewise.
40335         * modules/dprintf-posix-tests (Files): Likewise.
40336         * modules/dup2-tests (Files): Likewise.
40337         * modules/dup3-tests (Files): Likewise.
40338         * modules/duplocale-tests (Files): Likewise.
40339         * modules/fchdir-tests (Files): Likewise.
40340         * modules/fcntl-tests (Files): Likewise.
40341         * modules/fdopendir-tests (Files): Likewise.
40342         * modules/fflush-tests (Files): Likewise.
40343         * modules/flock-tests (Files): Likewise.
40344         * modules/floorf-tests (Files): Likewise.
40345         * modules/floorl-tests (Files): Likewise.
40346         * modules/fnmatch-tests (Files): Likewise.
40347         * modules/fopen-tests (Files): Likewise.
40348         * modules/fprintf-posix-tests (Files): Likewise.
40349         * modules/freopen-tests (Files): Likewise.
40350         * modules/frexp-nolibm-tests (Files): Likewise.
40351         * modules/frexp-tests (Files): Likewise.
40352         * modules/frexpl-nolibm-tests (Files): Likewise.
40353         * modules/frexpl-tests (Files): Likewise.
40354         * modules/fseek-tests (Files): Likewise.
40355         * modules/fseeko-tests (Files): Likewise.
40356         * modules/fsync-tests (Files): Likewise.
40357         * modules/ftell-tests (Files): Likewise.
40358         * modules/ftello-tests (Files): Likewise.
40359         * modules/futimens-tests (Files): Likewise.
40360         * modules/getaddrinfo-tests (Files): Likewise.
40361         * modules/getcwd-tests (Files): Likewise.
40362         * modules/getdelim-tests (Files): Likewise.
40363         * modules/getdtablesize-tests (Files): Likewise.
40364         * modules/getgroups-tests (Files): Likewise.
40365         * modules/gethostname-tests (Files): Likewise.
40366         * modules/getline-tests (Files): Likewise.
40367         * modules/getopt-posix-tests (Files): Likewise.
40368         * modules/gettimeofday-tests (Files): Likewise.
40369         * modules/glob-tests (Files): Likewise.
40370         * modules/iconv-tests (Files): Likewise.
40371         * modules/inet_ntop-tests (Files): Likewise.
40372         * modules/inet_pton-tests (Files): Likewise.
40373         * modules/isblank-tests (Files): Likewise.
40374         * modules/lchown-tests (Files): Likewise.
40375         * modules/ldexpl-tests (Files): Likewise.
40376         * modules/link-tests (Files): Likewise.
40377         * modules/linkat-tests (Files): Likewise.
40378         * modules/lseek-tests (Files): Likewise.
40379         * modules/lstat-tests (Files): Likewise.
40380         * modules/mbrtowc-tests (Files): Likewise.
40381         * modules/mbsinit-tests (Files): Likewise.
40382         * modules/mbsnrtowcs-tests (Files): Likewise.
40383         * modules/mbsrtowcs-tests (Files): Likewise.
40384         * modules/memchr-tests (Files): Likewise.
40385         * modules/memcmp-tests (Files): Likewise.
40386         * modules/memmem-tests (Files): Likewise.
40387         * modules/memrchr-tests (Files): Likewise.
40388         * modules/mkdir-tests (Files): Likewise.
40389         * modules/mkfifo-tests (Files): Likewise.
40390         * modules/mkfifoat-tests (Files): Likewise.
40391         * modules/mknod-tests (Files): Likewise.
40392         * modules/nanosleep-tests (Files): Likewise.
40393         * modules/nl_langinfo-tests (Files): Likewise.
40394         * modules/obstack-printf-tests (Files): Likewise.
40395         * modules/open-tests (Files): Likewise.
40396         * modules/openat-tests (Files): Likewise.
40397         * modules/perror-tests (Files): Likewise.
40398         * modules/pipe2-tests (Files): Likewise.
40399         * modules/poll-tests (Files): Likewise.
40400         * modules/popen-tests (Files): Likewise.
40401         * modules/posix_spawn-tests (Files): Likewise.
40402         * modules/posix_spawnp-tests (Files): Likewise.
40403         * modules/pread-tests (Files): Likewise.
40404         * modules/printf-posix-tests (Files): Likewise.
40405         * modules/pty-tests (Files): Likewise.
40406         * modules/random_r-tests (Files): Likewise.
40407         * modules/rawmemchr-tests (Files): Likewise.
40408         * modules/readlink-tests (Files): Likewise.
40409         * modules/remove-tests (Files): Likewise.
40410         * modules/rename-tests (Files): Likewise.
40411         * modules/renameat-tests (Files): Likewise.
40412         * modules/rmdir-tests (Files): Likewise.
40413         * modules/round-tests (Files): Likewise.
40414         * modules/roundf-tests (Files): Likewise.
40415         * modules/roundl-tests (Files): Likewise.
40416         * modules/select-tests (Files): Likewise.
40417         * modules/setenv-tests (Files): Likewise.
40418         * modules/sigaction-tests (Files): Likewise.
40419         * modules/sleep-tests (Files): Likewise.
40420         * modules/snprintf-posix-tests (Files): Likewise.
40421         * modules/snprintf-tests (Files): Likewise.
40422         * modules/sprintf-posix-tests (Files): Likewise.
40423         * modules/stat-tests (Files): Likewise.
40424         * modules/strcasestr-tests (Files): Likewise.
40425         * modules/strchrnul-tests (Files): Likewise.
40426         * modules/strerror-tests (Files): Likewise.
40427         * modules/strsignal-tests (Files): Likewise.
40428         * modules/strstr-tests (Files): Likewise.
40429         * modules/strtod-tests (Files): Likewise.
40430         * modules/strverscmp-tests (Files): Likewise.
40431         * modules/symlink-tests (Files): Likewise.
40432         * modules/symlinkat-tests (Files): Likewise.
40433         * modules/times-tests (Files): Likewise.
40434         * modules/trunc-tests (Files): Likewise.
40435         * modules/truncf-tests (Files): Likewise.
40436         * modules/truncl-tests (Files): Likewise.
40437         * modules/tsearch-tests (Files): Likewise.
40438         * modules/uname-tests (Files): Likewise.
40439         * modules/unlink-tests (Files): Likewise.
40440         * modules/unsetenv-tests (Files): Likewise.
40441         * modules/usleep-tests (Files): Likewise.
40442         * modules/utimensat-tests (Files): Likewise.
40443         * modules/vasprintf-tests (Files): Likewise.
40444         * modules/vdprintf-posix-tests (Files): Likewise.
40445         * modules/vfprintf-posix-tests (Files): Likewise.
40446         * modules/vprintf-posix-tests (Files): Likewise.
40447         * modules/vsnprintf-posix-tests (Files): Likewise.
40448         * modules/vsnprintf-tests (Files): Likewise.
40449         * modules/vsprintf-posix-tests (Files): Likewise.
40450         * modules/wcrtomb-tests (Files): Likewise.
40451         * modules/wcsnrtombs-tests (Files): Likewise.
40452         * modules/wcsrtombs-tests (Files): Likewise.
40453         * modules/wcwidth-tests (Files): Likewise.
40454         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40455         * tests/test-isinf.c (isinf): Likewise.
40456         * tests/test-isnan.c (isnan): Likewise.
40457         * tests/test-signbit.c (signbit): Likewise.
40458         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40459         declaration, either as macro or with correct signature.
40460         (select): Ensure function under test is declared with correct
40461         signature in correct header.
40462         * tests/test-atexit.c (atexit): Likewise.
40463         * tests/test-btowc.c (btowc): Likewise.
40464         * tests/test-canonicalize-lgpl.c (realpath)
40465         (canonicalize_file_name): Likewise.
40466         * tests/test-ceilf1.c (ceilf): Likewise.
40467         * tests/test-ceill.c (ceill): Likewise.
40468         * tests/test-chown.c (chown): Likewise.
40469         * tests/test-dprintf-posix.c (dprintf): Likewise.
40470         * tests/test-dup2.c (dup2): Likewise.
40471         * tests/test-dup3.c (dup3): Likewise.
40472         * tests/test-duplocale.c (duplocale): Likewise.
40473         * tests/test-fchdir.c (fchdir): Likewise.
40474         * tests/test-fchownat.c (fchownat): Likewise.
40475         * tests/test-fcntl.c (fcntl): Likewise.
40476         * tests/test-fdopendir.c (fdopendir): Likewise.
40477         * tests/test-fflush.c (fflush): Likewise.
40478         * tests/test-flock.c (flock): Likewise.
40479         * tests/test-floorf1.c (floorf): Likewise.
40480         * tests/test-floorl.c (floorl): Likewise.
40481         * tests/test-fnmatch.c (fnmatch): Likewise.
40482         * tests/test-fopen.c (fopen): Likewise.
40483         * tests/test-fprintf-posix.c (fprintf): Likewise.
40484         * tests/test-freopen.c (freopen): Likewise.
40485         * tests/test-frexp.c (frexp): Likewise.
40486         * tests/test-frexpl.c (frexpl): Likewise.
40487         * tests/test-fseek.c (fseek): Likewise.
40488         * tests/test-fseeko.c (fseeko): Likewise.
40489         * tests/test-fstatat.c (fstatat): Likewise.
40490         * tests/test-fsync.c (fsync): Likewise.
40491         * tests/test-ftell.c (ftell): Likewise.
40492         * tests/test-ftello.c (ftello): Likewise.
40493         * tests/test-futimens.c (futimens): Likewise.
40494         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40495         (gai_strerror): Likewise.
40496         * tests/test-getcwd.c (getcwd): Likewise.
40497         * tests/test-getdelim.c (getdelim): Likewise.
40498         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40499         * tests/test-getgroups.c (getgroups): Likewise.
40500         * tests/test-gethostname.c (gethostname): Likewise.
40501         * tests/test-getline.c (getline): Likewise.
40502         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40503         Likewise.
40504         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40505         * tests/test-glob.c (glob, globfree): Likewise.
40506         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40507         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40508         * tests/test-inet_pton.c (inet_pton): Likewise.
40509         * tests/test-isblank.c (isblank): Likewise.
40510         * tests/test-lchown.c (lchown): Likewise.
40511         * tests/test-ldexpl.c (ldexpl): Likewise.
40512         * tests/test-link.c (link): Likewise.
40513         * tests/test-linkat.c (linkat): Likewise.
40514         * tests/test-lseek.c (lseek): Likewise.
40515         * tests/test-lstat.c (lstat): Likewise.
40516         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40517         * tests/test-mbsinit.c (mbsinit): Likewise.
40518         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40519         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40520         * tests/test-memchr.c (memchr): Likewise.
40521         * tests/test-memcmp.c (memcmp): Likewise.
40522         * tests/test-memmem.c (memmem): Likewise.
40523         * tests/test-memrchr.c (memrchr): Likewise.
40524         * tests/test-mkdir.c (mkdir): Likewise.
40525         * tests/test-mkdirat.c (mkdirat): Likewise.
40526         * tests/test-mkfifo.c (mkfifo): Likewise.
40527         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40528         * tests/test-mknod.c (mknod): Likewise.
40529         * tests/test-nanosleep.c (nanosleep): Likewise.
40530         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40531         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40532         Likewise.
40533         * tests/test-open.c (open): Likewise.
40534         * tests/test-openat.c (openat): Likewise.
40535         * tests/test-perror.c (perror): Likewise.
40536         * tests/test-pipe2.c (pipe2): Likewise.
40537         * tests/test-poll.c (poll): Likewise.
40538         * tests/test-popen.c (popen, pclose): Likewise.
40539         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40540         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40541         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40542         (posix_spawn_file_actions_destroy)
40543         (posix_spawn_file_actions_addclose)
40544         (posix_spawn_file_actions_addopen)
40545         (posix_spawn_file_actions_adddup2): Likewise.
40546         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40547         * tests/test-pread.c (pread): Likewise.
40548         * tests/test-printf-posix.c (printf): Likewise.
40549         * tests/test-pty.c (openpty, forkpty): Likewise.
40550         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40551         (random_r): Likewise.
40552         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40553         * tests/test-readlink.c (readlink): Likewise.
40554         * tests/test-remove.c (remove): Likewise.
40555         * tests/test-rename.c (rename): Likewise.
40556         * tests/test-renameat.c (renameat): Likewise.
40557         * tests/test-rmdir.c (rmdir): Likewise.
40558         * tests/test-round1.c (round): Likewise.
40559         * tests/test-roundf1.c (roundf): Likewise.
40560         * tests/test-roundl.c (roundl): Likewise.
40561         * tests/test-setenv.c (setenv): Likewise.
40562         * tests/test-sigaction.c (sigaction): Likewise.
40563         * tests/test-sleep.c (sleep): Likewise.
40564         * tests/test-snprintf.c (snprintf): Likewise.
40565         * tests/test-sprintf-posix.c (sprintf): Likewise.
40566         * tests/test-stat.c (stat): Likewise.
40567         * tests/test-stpncpy.c (stpncpy): Likewise.
40568         * tests/test-strcasestr.c (strcasestr): Likewise.
40569         * tests/test-strchrnul.c (strchrnul): Likewise.
40570         * tests/test-strerror.c (strerror): Likewise.
40571         * tests/test-strsignal.c (strsignal): Likewise.
40572         * tests/test-strstr.c (strstr): Likewise.
40573         * tests/test-strtod.c (strtod): Likewise.
40574         * tests/test-strverscmp.c (strverscmp): Likewise.
40575         * tests/test-symlink.c (symlink): Likewise.
40576         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40577         * tests/test-times.c (times): Likewise.
40578         * tests/test-trunc1.c (trunc): Likewise.
40579         * tests/test-truncf1.c (truncf): Likewise.
40580         * tests/test-truncl.c (truncl): Likewise.
40581         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40582         Likewise.
40583         * tests/test-uname.c (uname): Likewise.
40584         * tests/test-unlink.c (unlink): Likewise.
40585         * tests/test-unlinkat.c (unlinkat): Likewise.
40586         * tests/test-unsetenv.c (unsetenv): Likewise.
40587         * tests/test-usleep.c (usleep): Likewise.
40588         * tests/test-utimensat.c (utimensat): Likewise.
40589         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40590         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40591         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40592         * tests/test-vprintf-posix.c (vprintf): Likewise.
40593         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40594         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40595         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40596         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40597         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40598         * tests/test-wcwidth.c (wcwidth): Likewise.
40599
40600         build: pull in conditional headers during GNULIB_POSIXCHECK
40601         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40602         definitions from any conditionally-included headers.
40603         * lib/stdlib.in.h (includes): Likewise.
40604         * lib/unistd.in.h (includes): Likewise.
40605
40606 2009-12-24  Bruno Haible  <bruno@clisp.org>
40607
40608         * tests/test-argv-iter.c: Include header file being tested immediately
40609         after config.h.
40610         * tests/test-base64.c: Likewise.
40611         * tests/test-flock.c: Likewise.
40612         * tests/test-fsync.c: Likewise.
40613         * tests/test-getdate.c: Likewise.
40614         * tests/test-getndelim2.c: Likewise.
40615         * tests/test-isfinite.c: Likewise.
40616         * tests/test-isinf.c: Likewise.
40617         * tests/test-strerror.c: Likewise.
40618         * tests/test-strsignal.c: Likewise.
40619
40620 2009-12-23  Eric Blake  <ebb9@byu.net>
40621
40622         unistd: work around cygwin bug
40623         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40624         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40625         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40626
40627 2009-12-23  Bruno Haible  <bruno@clisp.org>
40628
40629         localename: More tests.
40630         * tests/test-localename.c (SIZEOF): New macro.
40631         (categories): New variable.
40632         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40633         test_locale_name_default): Add test w.r.t. thread locale.
40634         (test_locale_name_thread): New function.
40635         (main): Invoke it.
40636
40637         localename: Make aware of thread locale.
40638         * lib/localename.h (gl_locale_name_thread): New declaration.
40639         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40640         behaviour with respect to thread locale.
40641         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40642         <langinfo.h>, glthread/lock.h.
40643         (SIZE_BITS): New macro.
40644         (string_hash): New function.
40645         (struct hash_node): New type.
40646         (HASH_TABLE_SIZE): New macro.
40647         (struniq_hash_table, struniq_lock): New variables.
40648         (struniq): New function.
40649         (gl_locale_name_thread): New function.
40650         (gl_locale_name): Invoke it.
40651         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40652         * modules/localename (Depends-on): Add lock.
40653         Reported by Mike Gran <spk121@yahoo.com>.
40654
40655 2009-12-23  Eric Blake  <ebb9@byu.net>
40656
40657         va-args: new module
40658         * modules/va-args: New file.
40659         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40660         * MODULES.html.sh (Core language properties): Mention it.
40661
40662         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40663         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40664         named alias for __attribute__((__unused__)).
40665         * lib/chown.c: Update client.
40666         * lib/fchmodat.c: Likewise.
40667         * lib/fts.c: Likewise.
40668         * lib/getdate.y: Likewise.
40669         * lib/getgroups.c: Likewise.
40670         * lib/getopt.c: Likewise.
40671         * lib/getugroups.c: Likewise.
40672         * lib/mkdir.c: Likewise.
40673         * lib/mkfifo.c: Likewise.
40674         * lib/mkfifoat.c: Likewise.
40675         * lib/mknod.c: Likewise.
40676         * lib/mknodat.c: Likewise.
40677         * lib/readlink.c: Likewise.
40678         * lib/se-context.in.h: Likewise.
40679         * lib/se-selinux.in.h: Likewise.
40680         * lib/sockets.c: Likewise.
40681         * lib/symlink.c: Likewise.
40682         * lib/symlinkat.c: Likewise.
40683         * lib/unicodeio.c: Likewise.
40684         * lib/unistr.h: Likewise.
40685         * tests/test-areadlink.c: Likewise.
40686         * tests/test-areadlinkat.c: Likewise.
40687         * tests/test-filenamecat.c: Likewise.
40688         * tests/test-fseeko.c: Likewise.
40689         * tests/test-ftello.c: Likewise.
40690         * tests/test-getdate.c: Likewise.
40691         * tests/test-getgroups.c: Likewise.
40692         * tests/test-gethostname.c: Likewise.
40693         * tests/test-quotearg.c: Likewise.
40694         * tests/test-version-etc.c: Likewise.
40695         * tests/test-xalloc-die.c: Likewise.
40696         * tests/test-xfprintf-posix.c: Likewise.
40697         * tests/test-xprintf-posix.c: Likewise.
40698         * tests/test-xvasprintf.c: Likewise.
40699
40700         tests: avoid compiler warnings
40701         * tests/test-fcntl.c (main): Delete unused parameters.
40702         * tests/test-freopen-safer.c (main): Likewise.
40703         * tests/test-xalloc-die.c (main): Mark unused parameters.
40704         * tests/test-fseeko.c (main): Likewise.
40705         * tests/test-ftello.c (main): Likewise.
40706         * tests/test-nanosleep.c (main): Avoid declaration warning.
40707         * tests/test-sleep.c (main): Likewise.
40708         * tests/test-unsetenv.c (main): Silence warning about string
40709         literal.
40710         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
40711
40712 2009-12-23  Bruno Haible  <bruno@clisp.org>
40713
40714         * tests/test-localename.c (test_locale_name): New function, extracted
40715         from main. Also test mixed situations.
40716         (test_locale_name_posix, test_locale_name_environ,
40717         test_locale_name_default): New functions.
40718         (main): Invoke them all.
40719         * modules/localename-tests (configure.ac): Test for newlocale.
40720
40721 2009-12-23  Bruno Haible  <bruno@clisp.org>
40722
40723         unistd: Ensure getcwd gets declared before being overridden.
40724         * lib/unistd.in.h: Conditionally include <io.h>.
40725
40726 2009-12-22  Bruno Haible  <bruno@clisp.org>
40727
40728         wchar: Diagnose broken combination of glibc and gcc versions and flags.
40729         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
40730         (gl_WCHAR_H): Invoke it.
40731         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
40732         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
40733         Reported by Karl Berry <karl@freefriends.org>.
40734
40735 2009-12-22  Eric Blake  <ebb9@byu.net>
40736
40737         math, unistd: avoid redundant includes
40738         * lib/math.in.h (isnan): No need to re-include <math.h>.
40739         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
40740
40741         getsubopt: work around cygwin bug
40742         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
40743         avoid conflicting with system getsubopt.
40744         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
40745         bug.
40746
40747         getopt: synchronize from glibc
40748         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
40749         parameter order.  Adjust all callers.
40750         (_getopt_internal_r, main): Adjust quoting in error messages.
40751         Drop considerations for outdated POSIX 1003.2 error message.
40752         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
40753         callers.
40754         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
40755
40756         test-getopt: test stderr behavior
40757         * modules/getopt-posix-tests (Depends-on): Add dup2.
40758         * tests/test-getopt.c (ASSERT): Avoid stderr.
40759         (main): Move stderr to a temporary file.
40760         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
40761         Instead, add parameter to inform caller if output occurred.
40762         (test_getopt): Adjust all existing tests to expect silence, and
40763         add new tests of leading ":".
40764         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40765         glibc shortcomings with leading "-:" or "+:" in optstring.
40766         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40767         Likewise.
40768         * doc/posix-functions/getopt.texi (getopt): Likewise.
40769
40770         test-getopt: enhance test
40771         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
40772         supports optind=0.
40773         * tests/test-getopt.c (OPTIND_MIN): Move...
40774         * tests/test-getopt.h (OPTIND_MIN): ...here.
40775         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
40776         Require that optind=0 works, since modern BSD supports it in
40777         addition to optreset, and since coreutils expects it.
40778         (test_getopt_long_only): New test.
40779         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40780         glibc shortcomings with 'W;', and enforcement of optind=0.
40781         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40782         Likewise.
40783
40784 2009-12-21  Bruno Haible  <bruno@clisp.org>
40785
40786         localename: Improvements for MacOS X and Cygwin.
40787         * lib/localename.h (gl_locale_name_environ): New declaration.
40788         * lib/localename.c (gl_locale_name_environ): New function, extracted from
40789         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
40790         (gl_locale_name_posix): Invoke it.
40791         (gl_locale_name_default): Add comments. Use Windows native API also on
40792         Cygwin.
40793
40794 2009-12-21  Bruno Haible  <bruno@clisp.org>
40795
40796         Update list of Win32 locale ids.
40797         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
40798         (LANG_SAMI): Renamed from LANG_SAAMI.
40799         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
40800         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
40801         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
40802         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
40803         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
40804         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
40805         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
40806         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
40807         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
40808         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
40809         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
40810         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
40811         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
40812         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
40813         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
40814         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
40815         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
40816         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
40817         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
40818         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
40819         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
40820         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
40821         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
40822         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
40823         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
40824         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
40825         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
40826         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
40827         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
40828         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
40829         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
40830         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
40831         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
40832         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
40833         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
40834         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
40835         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
40836         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
40837         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
40838         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
40839         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
40840         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
40841         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
40842         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
40843         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
40844         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
40845         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
40846         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
40847         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
40848         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
40849         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
40850         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
40851         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
40852         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
40853         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
40854         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
40855         Add more languages and countries for Sami, Sorbian. Add more countries
40856         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
40857         for Pashto. Change country for Syriac, Tswana.
40858
40859 2009-12-21  Eric Blake  <ebb9@byu.net>
40860
40861         test-utimens: avoid spurious failure
40862         * tests/test-chown.h (nap): Factor...
40863         * tests/nap.h: ...into new file.
40864         * tests/test-lchown.h (nap): Avoid duplication.
40865         * tests/test-utimens-common.h (nap): Use shared implementation,
40866         necessary on file systems with 1-second resolution.
40867         * modules/chown-tests (Files): Include new file.
40868         * modules/fdutimensat-tests (Files): Likewise.
40869         * modules/futimens-tests (Files): Likewise.
40870         * modules/lchown-tests (Files): Likewise.
40871         * modules/openat-tests (Files): Likewise.
40872         * modules/utimens-tests (Files): Likewise.
40873         * modules/utimensat-tests (Files): Likewise.
40874
40875 2009-12-19  Eric Blake  <ebb9@byu.net>
40876
40877         futimens, utimensat: work around Linux bug
40878         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40879         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40880         * lib/utimensat.c (rpl_utimensat): Work around it.
40881         * lib/futimens.c (rpl_futimens): Adjust comment.
40882
40883         utimens: work around Linux ctime bug
40884         * lib/utimens.c (detect_ctime_bug): New helper function.
40885         (update_timespec): Differentiate between workaround needed for
40886         this bug vs. what is needed for systems that lack utimensat.
40887         (fdutimens, lutimens): Work around bug.
40888
40889         utimens: check for ctime update
40890         * tests/test-utimens-common.h (check_ctime): Define.
40891         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
40892         * tests/test-futimens.h (test_futimens): Likewise.
40893         * tests/test-lutimens.h (test_lutimens): Likewise.
40894         * doc/posix-functions/futimens.texi (futimens): Document the bug.
40895         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40896
40897 2009-12-19  Bruno Haible  <bruno@clisp.org>
40898
40899         dprintf-posix: Check against memory leak fixed on 2009-12-15.
40900         * tests/test-dprintf-posix2.sh: New file.
40901         * tests/test-dprintf-posix2.c: New file.
40902         * modules/dprintf-posix-tests (Files): Add them.
40903         (configure.ac): Check for getrlimit and setrlimit.
40904         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40905
40906 2009-12-19  Bruno Haible  <bruno@clisp.org>
40907
40908         fprintf-posix: Check against memory leak fixed on 2009-12-15.
40909         * tests/test-fprintf-posix3.sh: New file.
40910         * tests/test-fprintf-posix3.c: New file.
40911         * modules/fprintf-posix-tests (Files): Add them.
40912         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40913
40914 2009-12-19  Eric Blake  <ebb9@byu.net>
40915
40916         dirfd: fix prototype
40917         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
40918         * lib/dirfd.c (dirfd): Likewise.
40919
40920         canonicalize: reduce memory usage
40921         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
40922         allocation to size.
40923         Reported by Solar Designer <solar@openwall.com>.
40924
40925 2009-12-19  Bruno Haible  <bruno@clisp.org>
40926
40927         New module attribute 'Applicability'.
40928         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
40929         * gnulib-tool: New option --extract-applicability.
40930         (func_usage): Document it.
40931         (sed_extract_prog): Recognize it.
40932         (func_get_applicability): New function.
40933         (func_import): Generalize handling of 'link-warning' module.
40934         * modules/link-warning (Applicability): New section.
40935         * modules/arg-nonnull (Applicability): New section.
40936         Repoted by Simon Josefsson <simon@josefsson.org>.
40937
40938 2009-12-19  Bruno Haible  <bruno@clisp.org>
40939
40940         fflush: tweak
40941         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
40942         * lib/fseeko.c (rpl_fseeko): Likewise.
40943
40944 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
40945
40946         * lib/gl_list.h: Fix typo in comment.
40947
40948 2009-12-16  Eric Blake  <ebb9@byu.net>
40949
40950         fcntl: use to simplify other modules
40951         * modules/cloexec (Depends-on): Add fcntl.
40952         * modules/fchdir (Depends-on): Likewise.
40953         * modules/fd-safer-flag (Depends-on): Likewise.
40954         * modules/unistd-safer (Depends-on): Likewise.
40955         * modules/dup3 (configure.ac): Set module indicator.
40956         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
40957         missing.
40958         * lib/fchdir.c (_gl_register_dup): Fix comment.
40959         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
40960         * lib/dup-safer.c (dup_safer): Likewise.
40961         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
40962         * lib/dup3.c (dup3): Likewise.
40963         * tests/test-fchdir.c (main): Enhance test.
40964         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
40965
40966         fcntl: port portions of fcntl to mingw
40967         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
40968         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
40969         replacement for mingw.
40970         * modules/fcntl (Description): Update.
40971         (Depends-on): Add dup2.
40972         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
40973         * modules/fcntl-h (Makefile.am): Substitute it.
40974         * lib/fcntl.in.h (fcntl): Update declaration.
40975         (F_DUPFD, F_GETFD): New macros, when needed.
40976         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40977         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
40978         * tests/test-fcntl.c (check_flags, main): Enhance test for items
40979         we now guarantee.
40980
40981         fcntl: work around cygwin bug in F_DUPFD
40982         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
40983         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
40984         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
40985         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
40986         * doc/posix-functions/fcntl.texi (fcntl): Document it.
40987
40988         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
40989         * modules/fcntl (Files): List new files.
40990         (configure.ac): Run a test.
40991         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
40992         * lib/fcntl.c (rpl_fcntl): Likewise.
40993         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
40994         (gl_FCNTL_H): Always replace fcntl.h.
40995         * modules/fcntl-h (Makefile.am): Substitute witnesses.
40996         * lib/fcntl.in.h (fcntl): Declare replacement.
40997         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
40998         needed, plus a witness.
40999         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41000         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41001         * tests/test-fcntl.c: New file.
41002         * modules/fcntl-tests: Likewise.
41003
41004         binary-io: avoid potential compilation warning
41005         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41006         directives.
41007
41008         fflush: avoid compilation error on NetBSD
41009         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41010         between off_t and fpos_t, since the latter is sometimes a struct.
41011         * lib/fseeko.c (rpl_fseeko): Likewise.
41012         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41013
41014 2009-12-15  Eric Blake  <ebb9@byu.net>
41015
41016         fcntl-h, stdio, sys_ioctl: fix declarations
41017         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41018         function must not take arguments.
41019         * lib/sys_ioctl.in.h (ioctl): Likewise.
41020         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41021         (open): Add a link warning.
41022
41023 2009-12-15  Jim Meyering  <meyering@redhat.com>
41024
41025         areadlink, areadlink-with-size: relax license to LGPLv2+
41026         * modules/areadlink (License): Relax to LGPLv2+.
41027         * modules/areadlink-with-size (License): Likewise.
41028
41029 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41030             Bruno Haible  <bruno@clisp.org>
41031
41032         *printf: Fix memory leak.
41033         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41034         * lib/vfprintf.c (vfprintf): Likewise.
41035         * lib/dprintf.c (dprintf): Likewise.
41036         * lib/vdprintf.c (vdprintf): Likewise.
41037
41038 2009-12-14  Eric Blake  <ebb9@byu.net>
41039
41040         accept4: adjust module dependencies
41041         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41042
41043         utimens: one more try at avoiding compiler warning
41044         * lib/utimens.c (lutimens): Lower scope of result.
41045
41046 2009-12-13  Bruno Haible  <bruno@clisp.org>
41047
41048         Move the malloc checking from module 'list' to new module 'xlist'.
41049         * modules/xlist: New file.
41050         * lib/gl_xlist.h: New file.
41051         * lib/gl_xlist.c: New file.
41052         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41053         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41054         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41055         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41056         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41057         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41058         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41059         gl_sortedlist_nx_add): New declarations.
41060         (struct gl_list_implementation): Rename and change methods accordingly.
41061         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41062         (gl_list_nx_create): Renamed from gl_list_create.
41063         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41064         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41065         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41066         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41067         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41068         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41069         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41070         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41071         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41072         gl_list_create_empty.
41073         (gl_list_nx_create): Renamed from gl_list_create.
41074         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41075         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41076         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41077         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41078         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41079         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41080         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41081         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41082         * lib/gl_array_list.c: Don't include xalloc.h.
41083         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41084         NULL upon out-of-memory.
41085         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41086         out-of-memory.
41087         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41088         Change return type to 'int'.
41089         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41090         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41091         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41092         upon out-of-memory.
41093         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41094         upon out-of-memory.
41095         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41096         upon out-of-memory.
41097         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41098         upon out-of-memory.
41099         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41100         out-of-memory.
41101         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41102         Update.
41103         (gl_array_list_implementation): Update.
41104         * lib/gl_carray_list.c: Don't include xalloc.h.
41105         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41106         Return NULL upon out-of-memory.
41107         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41108         out-of-memory.
41109         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41110         Change return type to 'int'.
41111         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41112         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41113         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41114         upon out-of-memory.
41115         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41116         upon out-of-memory.
41117         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41118         out-of-memory.
41119         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41120         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41121         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41122         Update.
41123         (gl_carray_list_implementation): Update.
41124         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41125         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41126         gl_linked_create_empty. Return NULL upon out-of-memory.
41127         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41128         out-of-memory.
41129         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41130         Change return type to 'int'. Return -1 upon out-of-memory.
41131         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41132         out-of-memory.
41133         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41134         upon out-of-memory.
41135         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41136         upon out-of-memory.
41137         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41138         NULL upon out-of-memory.
41139         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41140         upon out-of-memory.
41141         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41142         out-of-memory.
41143         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41144         Update.
41145         * lib/gl_linked_list.c: Don't include xalloc.h.
41146         (gl_linked_list_implementation): Update.
41147         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41148         (add_to_bucket): Change return type to 'int'.
41149         (gl_linkedhash_list_implementation): Update.
41150         * lib/gl_anytree_list1.h (free_subtree): New function.
41151         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41152         gl_tree_create_empty. Return NULL upon out-of-memory.
41153         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41154         Change return type to 'int'. Return -1 upon out-of-memory.
41155         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41156         out-of-memory.
41157         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41158         (gl_tree_remove_node): New function, moved here from
41159         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41160         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41161         Update.
41162         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41163         malloc, not xmalloc. Return NULL upon out-of-memory.
41164         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41165         out-of-memory.
41166         (gl_tree_remove_node_from_tree): New function, extracted from
41167         gl_tree_remove_node.
41168         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41169         upon out-of-memory.
41170         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41171         out-of-memory.
41172         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41173         upon out-of-memory.
41174         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41175         upon out-of-memory.
41176         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41177         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41178         not xmalloc. Return NULL upon out-of-memory.
41179         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41180         out-of-memory.
41181         (gl_tree_remove_node_from_tree): New function, extracted from
41182         gl_tree_remove_node.
41183         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41184         upon out-of-memory.
41185         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41186         out-of-memory.
41187         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41188         upon out-of-memory.
41189         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41190         upon out-of-memory.
41191         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41192         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41193         gl_anytree_list1.h before gl_anyavltree_list2.h.
41194         (gl_avltree_list_implementation): Update.
41195         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41196         gl_anytree_list1.h before gl_anyavltree_list2.h.
41197         (gl_rbtree_list_implementation): Update.
41198         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41199         Change return type to 'int'. Return -1 upon out-of-memory. Use
41200         __builtin_expect.
41201         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41202         (gl_avltreehash_list_implementation): Update.
41203         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41204         (gl_rbtreehash_list_implementation): Update.
41205         * modules/array-list (Depends-on): Remove xalloc.
41206         * modules/carray-list (Depends-on): Likewise.
41207         * modules/linked-list (Depends-on): Likewise.
41208         * modules/linkedhash-list (Depends-on): Likewise.
41209         * modules/avltree-list (Depends-on): Likewise.
41210         * modules/rbtree-list (Depends-on): Likewise.
41211         * modules/avltreehash-list (Depends-on): Likewise.
41212         * modules/rbtreehash-list (Depends-on): Likewise.
41213
41214         * modules/xsublist: New file.
41215         * lib/gl_xsublist.h: New file.
41216         * lib/gl_xsublist.c: New file.
41217         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41218         (gl_sublist_nx_create): New declaration.
41219         * lib/gl_sublist.c: Don't include xalloc.h.
41220         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41221         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41222         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41223         Change return type to 'int'. Return -1 upon out-of-memory.
41224         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41225         upon out-of-memory.
41226         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41227         NULL upon out-of-memory.
41228         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41229         upon out-of-memory.
41230         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41231         NULL upon out-of-memory.
41232         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41233         NULL upon out-of-memory.
41234         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41235         upon out-of-memory.
41236         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41237         (gl_sublist_list_implementation): Update.
41238         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41239         upon out-of-memory.
41240         * modules/sublist (Depends-on): Remove xalloc.
41241
41242         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41243         * tests/test-carray_list.c: Likewise.
41244         * tests/test-linked_list.c: Likewise.
41245         * tests/test-linkedhash_list.c: Likewise.
41246         * tests/test-avltree_list.c: Likewise.
41247         * tests/test-rbtree_list.c: Likewise.
41248         * tests/test-avltreehash_list.c: Likewise.
41249         * tests/test-rbtreehash_list.c: Likewise.
41250         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41251         * modules/carray-list-tests (Makefile.am): Likewise.
41252         * modules/linked-list-tests (Makefile.am): Likewise.
41253         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41254         * modules/avltree-list-tests (Makefile.am): Likewise.
41255         * modules/rbtree-list-tests (Makefile.am): Likewise.
41256         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41257         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41258
41259         * NEWS: Mention the changes.
41260
41261         * lib/clean-temp.c: Include gl_xlist.h.
41262         * modules/clean-temp (Depends-on): Add xlist.
41263
41264         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41265         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41266
41267         * tests/test-array_oset.c: Include gl_xlist.h.
41268         * modules/array-oset-tests (Depends-on): Add xlist.
41269
41270         Reported by José E. Marchesi <jemarch@gnu.org>.
41271
41272 2009-12-13  Bruno Haible  <bruno@clisp.org>
41273
41274         Move the malloc checking from module 'oset' to new module 'xoset'.
41275         * modules/xoset: New file.
41276         * lib/gl_xoset.h: New file.
41277         * lib/gl_xoset.c: New file.
41278         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41279         declarations.
41280         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41281         (struct gl_oset_implementation): Rename and change methods accordingly.
41282         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41283         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41284         'int'. Mark as __warn_unused_result__.
41285         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41286         gl_oset_create_empty.
41287         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41288         'int'.
41289         * lib/gl_array_oset.c: Don't include xalloc.h.
41290         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41291         malloc, not xmalloc.
41292         (grow): Change return type to 'int'. Don't call xalloc_die.
41293         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41294         to 'int'.
41295         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41296         'int'.
41297         (gl_array_oset_implementation): Update.
41298         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41299         gl_tree_create_empty.
41300         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41301         'int'.
41302         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41303         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41304         xmalloc.
41305         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41306         not xmalloc.
41307         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41308         xmalloc.
41309         (gl_avltree_oset_implementation): Update.
41310         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41311         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41312         xmalloc.
41313         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41314         not xmalloc.
41315         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41316         xmalloc.
41317         (gl_rbtree_oset_implementation): Update.
41318         * modules/array-oset (Depends-on): Remove xalloc.
41319         * modules/avltree-oset (Depends-on): Likewise.
41320         * modules/rbtree-oset (Depends-on): Likewise.
41321         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41322         * tests/test-avltree_oset.c: Likewise.
41323         * tests/test-rbtree_oset.c: Likewise.
41324         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41325         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41326         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41327         * NEWS: Mention the change.
41328
41329 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41330
41331         maint.mk: allow a project to override release-prep commands
41332         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41333         commands into a new rule.
41334         (release-prep): New rule.
41335         (release-prep-hook): New overridable variable.
41336
41337 2009-12-13  Bruno Haible  <bruno@clisp.org>
41338
41339         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41340
41341 2009-12-13  Jim Meyering  <meyering@redhat.com>
41342
41343         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41344         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41345
41346 2009-12-12  Bruno Haible  <bruno@clisp.org>
41347
41348         duplocale: Tweak.
41349         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41350
41351 2009-12-12  Karl Berry  <karl@gnu.org>
41352
41353         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41354
41355 2009-12-12  Bruno Haible  <bruno@clisp.org>
41356
41357         * m4/po.m4: Undo incorrect untabification.
41358
41359 2009-12-12  Bruno Haible  <bruno@clisp.org>
41360
41361         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41362         * modules/c-strtod (Depends-on): Add locale.
41363         * modules/c-strtold (Depends-on): Likewise.
41364
41365 2009-12-12  Bruno Haible  <bruno@clisp.org>
41366
41367         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41368
41369 2009-12-11  Eric Blake  <ebb9@byu.net>
41370
41371         setenv: relax requirement in light of POSIX ruling
41372         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41373         not NULL.
41374         * tests/test-setenv.c (main): Relax test.
41375         * tests/test-unsetenv.c (main): Likewise.
41376         * doc/posix-functions/setenv.texi (setenv): Document this.
41377         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41378
41379 2009-12-11  Bruno Haible  <bruno@clisp.org>
41380
41381         New module 'fd-safer-flag'.
41382         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41383         * lib/dup-safer.c (dup_safer_flag): Remove function.
41384         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41385         * lib/fd-safer.c (fd_safer_flag): Remove function.
41386         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41387         * modules/cloexec (configure.ac): Drop indicator macro.
41388         * modules/fd-safer-flag: New file.
41389         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41390         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41391         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41392
41393 2009-12-11  Bruno Haible  <bruno@clisp.org>
41394
41395         Tests for module 'nl_langinfo'.
41396         * modules/nl_langinfo-tests: New file.
41397         * tests/test-nl_langinfo.sh: New file.
41398         * tests/test-nl_langinfo.c: New file.
41399
41400         New module 'nl_langinfo'.
41401         * lib/nl_langinfo.c: New file.
41402         * m4/nl_langinfo.m4: New file.
41403         * modules/nl_langinfo: New file.
41404         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41405
41406 2009-12-11  Bruno Haible  <bruno@clisp.org>
41407
41408         Tests for module 'langinfo'.
41409         * modules/langinfo-tests: New file.
41410         * tests/test-langinfo.c: New file.
41411
41412         New module 'langinfo'.
41413         * lib/langinfo.in.h: New file.
41414         * m4/langinfo_h.m4: New file.
41415         * modules/langinfo: New file.
41416         * doc/posix-headers/langinfo.texi: Mention the new module.
41417
41418 2009-12-11  Bruno Haible  <bruno@clisp.org>
41419
41420         * lib/config.charset: Untabify.
41421
41422 2009-12-11  Bruno Haible  <bruno@clisp.org>
41423
41424         * modules/unistd-safer (configure.ac): Drop indicator macro.
41425
41426 2009-12-11  Bruno Haible  <bruno@clisp.org>
41427
41428         Move pipe2-safer code to its own file.
41429         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41430         * lib/pipe-safer.c (pipe2_safer): Remove function.
41431         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41432         (Makefile.am): Add it to lib_SOURCES.
41433
41434 2009-12-10  Bruno Haible  <bruno@clisp.org>
41435
41436         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41437
41438 2009-12-10  Bruno Haible  <bruno@clisp.org>
41439
41440         Declare which arguments expect non-NULL values, for GCC and clang.
41441         * build-aux/arg-nonnull.h: New file.
41442         * modules/arg-nonnull: New file.
41443         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41444         (inet_ntop, inet_pton): Use it.
41445         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41446         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41447         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41448         (open, openat): Use it.
41449         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41450         (fnmatch): Use it.
41451         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41452         (getopt, getopt_long, getopt_long_only): Use it.
41453         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41454         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41455         Use it.
41456         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41457         (iconv_open): Use it.
41458         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41459         (strtoimax, strtoumax): Use it.
41460         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41461         (duplocale): Use it.
41462         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41463         (frexp, frexpl): Use it.
41464         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41465         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41466         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41467         (tsearch, tfind, tdelete, twalk): Use it.
41468         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41469         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41470         sigpending): Use it.
41471         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41472         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41473         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41474         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41475         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41476         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41477         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41478         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41479         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41480         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41481         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41482         Use it.
41483         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41484         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41485         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41486         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41487         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41488         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41489         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41490         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41491         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41492         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41493         strtoull, unsetenv): Use it.
41494         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41495         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41496         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41497         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41498         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41499         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41500         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41501         (strcasecmp, strncasecmp): Use it.
41502         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41503         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41504         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41505         rpl_setsockopt): Use it.
41506         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41507         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41508         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41509         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41510         (gettimeofday): Use it.
41511         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41512         (times): Use it.
41513         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41514         (uname): Use it.
41515         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41516         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41517         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41518         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41519         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41520         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41521         unlinkat, write): Use it.
41522         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41523         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41524         * lib/argv-iter.h: Include arg-nonnull.h.
41525         (_ATTRIBUTE_NONNULL_): Remove macro.
41526         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41527         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41528         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41529         optimization.
41530         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41531         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41532         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41533         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41534         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41535         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41536         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41537         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41538         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41539         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41540         * modules/dirent (Depends-on): Add arg-nonnull.
41541         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41542         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41543         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41544         * modules/fnmatch (Depends-on): Add arg-nonnull.
41545         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41546         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41547         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41548         * modules/glob (Depends-on): Add arg-nonnull.
41549         (Makefile.am): Insert arg-nonnull.h into glob.h.
41550         * modules/iconv_open (Depends-on): Add arg-nonnull.
41551         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41552         * modules/inttypes (Depends-on): Add arg-nonnull.
41553         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41554         * modules/locale (Depends-on): Add arg-nonnull.
41555         (Makefile.am): Insert arg-nonnull.h into locale.h.
41556         * modules/math (Depends-on): Add arg-nonnull.
41557         (Makefile.am): Insert arg-nonnull.h into math.h.
41558         * modules/netdb (Depends-on): Add arg-nonnull.
41559         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41560         * modules/search (Depends-on): Add arg-nonnull.
41561         (Makefile.am): Insert arg-nonnull.h into search.h.
41562         * modules/signal (Depends-on): Add arg-nonnull.
41563         (Makefile.am): Insert arg-nonnull.h into signal.h.
41564         * modules/spawn (Depends-on): Add arg-nonnull.
41565         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41566         * modules/stdio (Depends-on): Add arg-nonnull.
41567         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41568         * modules/stdlib (Depends-on): Add arg-nonnull.
41569         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41570         * modules/string (Depends-on): Add arg-nonnull.
41571         (Makefile.am): Insert arg-nonnull.h into string.h.
41572         * modules/strings (Depends-on): Add arg-nonnull.
41573         (Makefile.am): Insert arg-nonnull.h into strings.h.
41574         * modules/sys_socket (Depends-on): Add arg-nonnull.
41575         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41576         * modules/sys_stat (Depends-on): Add arg-nonnull.
41577         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41578         * modules/sys_time (Depends-on): Add arg-nonnull.
41579         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41580         * modules/sys_times (Depends-on): Add arg-nonnull.
41581         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41582         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41583         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41584         * modules/time (Depends-on): Add arg-nonnull.
41585         (Makefile.am): Insert arg-nonnull.h into time.h.
41586         * modules/unistd (Depends-on): Add arg-nonnull.
41587         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41588         * modules/wchar (Depends-on): Add arg-nonnull.
41589         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41590         * modules/argv-iter (Depends-on): Add arg-nonnull.
41591         * tests/test-canonicalize.c (null_ptr): New function.
41592         (main): Use it.
41593         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41594         (main): Use it.
41595         * tests/test-memmem.c (null_ptr): New function.
41596         (main): Use it.
41597         Reported by Jim Meyering.
41598
41599 2009-12-10  Bruno Haible  <bruno@clisp.org>
41600
41601         Use spaces for indentation, not tabs.
41602         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41603         * m4/*.m4: Untabify.
41604         * build-aux/*.h: Untabify.
41605         * tests/**/*.[hc]: Untabify.
41606         * README: New section "Indent with spaces, not TABs", based on
41607         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41608         * NEWS: Mention the change.
41609
41610 2009-12-10  Bruno Haible  <bruno@clisp.org>
41611
41612         pty test: Fix link error.
41613         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41614         test_pty_LDADD.
41615
41616 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41617
41618         * modules/pty: New file.
41619         * modules/pty-tests: New file.
41620         * m4/pty.m4: New file.
41621         * tests/test-pty.c: New file.
41622         * doc/glibc-headers/pty.texi: Modified.
41623         * doc/glibc-functions/forkpty.texi: Modified.
41624         * doc/glibc-functions/openpty.texi: Modified.
41625
41626 2009-12-10  Bruno Haible  <bruno@clisp.org>
41627
41628         Avoid syntax error in C++ mode.
41629         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41630
41631 2009-12-10  Bruno Haible  <bruno@clisp.org>
41632
41633         Use sed with option -e.
41634         * gnulib-tool (func_version, func_emit_copyright_notice,
41635         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41636         option -e to sed.
41637         * modules/link-warning (Makefile.am): Likewise.
41638
41639 2009-12-10  Jim Meyering  <meyering@redhat.com>
41640
41641         mgetgroups: do not write bytes beyond end of malloc'd buffer
41642         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41643         username, we call getgroups with a one-element-shorter buffer,
41644         but still told it the length was original, max_n_groups.
41645
41646 2009-12-09  Eric Blake  <ebb9@byu.net>
41647
41648         cloexec: relax license
41649         * modules/cloexec (Maintainer): Add myself.
41650         (License): Use LGPL, not GPL.
41651
41652         link-warning: optimize generation
41653         * modules/link-warning (Makefile.am): Reduce process usage.
41654
41655 2009-12-09  Bruno Haible  <bruno@clisp.org>
41656
41657         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41658         workaround was added on 2009-11-17.
41659
41660 2009-12-09  Jim Meyering  <meyering@redhat.com>
41661             Bruno Haible  <bruno@clisp.org>
41662
41663         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41664         * modules/link-warning (Makefile.am): Make the comment-removing sed
41665         command more robust in the face of bootstrap-prepended comment lines.
41666
41667 2009-12-09  Bruno Haible  <bruno@clisp.org>
41668
41669         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41670         most one group.
41671
41672 2009-12-09  Simon Josefsson <simon@josefsson.org>
41673             Bruno Haible  <bruno@clisp.org>
41674
41675         * build-aux/link-warning.h: Add copyright notice.
41676         * modules/link-warning (Makefile.am): Generate link-warning.h from
41677         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41678         * NEWS: Mention change in link-warning module.
41679         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41680         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41681         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41682         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41683         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41684         * modules/math (Makefile.am): Add dependency to math.h.
41685         * modules/search (Makefile.am): Add dependency to search.h.
41686         * modules/signal (Makefile.am): Add dependency to signal.h.
41687         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41688         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41689         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41690         * modules/string (Makefile.am): Add dependency to string.h.
41691         * modules/strings (Makefile.am): Add dependency to strings.h.
41692         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41693         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41694         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41695         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41696         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41697         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41698         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41699         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41700         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41701
41702 2009-12-09  Bruno Haible  <bruno@clisp.org>
41703
41704         fchdir: Optimize away rpl_fstat when possible.
41705         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41706         REPLACE_OPEN_DIRECTORY.
41707         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41708
41709 2009-12-09  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/fchdir.c: Update comment.
41712
41713 2009-12-09  Bruno Haible  <bruno@clisp.org>
41714
41715         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
41716
41717 2009-12-08  Eric Blake  <ebb9@byu.net>
41718
41719         fchdir: avoid memory leak on re-registration.
41720         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
41721
41722 2009-12-08  Jim Meyering  <meyering@redhat.com>
41723
41724         init.sh: avoid Solaris 10 /bin/sh portability problem
41725         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
41726         sourced script:
41727           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
41728           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
41729           bar
41730         tests/init.sh relied on that, accepting a --set-path=DIR argument,
41731         and two tests used that idiom.
41732         * tests/init.sh: Update suggested usage comments.
41733         (path_prepend_): New function, to be used in place
41734         of the --src-path=DIR option.
41735         (setup_): Move PATH-prepending code into path_prepend_.
41736         * tests/test-pread.sh: Adapt to new usage.
41737         * tests/test-xalloc-die.sh: Likewise.
41738
41739 2009-12-08  Simon Josefsson  <simon@josefsson.org>
41740
41741         * doc/gnulib.texi (Glibc pty.h): Add.
41742         * doc/glibc-functions/forkpty.texi: Add.
41743         * doc/glibc-functions/openpty.texi: Add.
41744         Suggested by Bruno Haible.
41745
41746 2009-12-08  Eric Blake  <ebb9@byu.net>
41747
41748         fchdir: fix logic bugs
41749         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
41750         * tests/test-fchdir.c (main): Enhance test.
41751         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
41752         is in use.
41753
41754         dup2: fix logic bugs
41755         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
41756         REPLACE_DUP2 to decide when rpl_dup2 is needed.
41757         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
41758         exists.
41759         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
41760
41761 2009-12-07  Eric Blake  <ebb9@byu.net>
41762
41763         unlink: fix m4 detection
41764         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
41765
41766         unistd-safer: add unit test
41767         * modules/unistd-safer-tests: New file.
41768         * tests/test-dup-safer.c: Likewise.
41769         * tests/test-cloexec.c (setmode): Avoid compiler warning.
41770         * tests/test-dup2.c (setmode): Likewise.
41771         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
41772
41773         cloexec: preserve text vs. binary across dup_cloexec
41774         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
41775         mode.
41776         * modules/dup2-tests (Depends-on): Add binary-io.
41777         * modules/cloexec-tests (Depends-on): Likewise.
41778         * tests/test-dup2.c (setmode, is_mode): New helpers.
41779         (main): Add tests that translation mode is preserved.
41780         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
41781         Reported by Bruno Haible.
41782
41783         mgetgroups: reduce duplicate listings
41784         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
41785         resulting array.
41786         * tests/test-chown.h (test_chown): Simplify client.
41787         * tests/test-lchown.h (test_lchown): Likewise.
41788
41789 2009-12-06  Bruno Haible  <bruno@clisp.org>
41790
41791         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
41792         value.
41793
41794 2009-12-06  Bruno Haible  <bruno@clisp.org>
41795
41796         * lib/progname.c: Include stdio.h, stdlib.h.
41797         (set_program_name): Reject a NULL argument.
41798
41799 2009-12-05  Eric Blake  <ebb9@byu.net>
41800
41801         pipe2-safer: new module
41802         * modules/pipe2-safer: New file.
41803         * lib/unistd-safer.h (pipe2_safer): New prototype.
41804         * lib/unistd--.h (pipe2): New wrapper.
41805         * lib/pipe-safer.c (pipe2_safer): New function.
41806         * modules/pipe (Depends-on): Add pipe2-safer.
41807         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
41808
41809         stdlib-safer: preserve cloexec flag for mkostemp[s]
41810         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
41811         fd_safer_flag.
41812
41813         unistd-safer: allow preservation of cloexec status via flag
41814         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
41815         prototypes.
41816         * lib/dup-safer.c (dup_safer_flag): New function.
41817         * lib/fd-safer.c (fd_safer_flag): Likewise.
41818         * modules/cloexec (configure.ac): Set witness.
41819
41820         test-dup2: enhance test
41821         * modules/dup2-tests (Depends-on): Add cloexec.
41822         * tests/test-dup2.c (main): Enhance test.
41823
41824         cloexec: add dup_cloexec
41825         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
41826         header and comments.
41827         * lib/cloexec.c (set_cloexec_flag): Add comments.
41828         (dup_cloexec): New function, with mingw implementation borrowed
41829         from...
41830         * lib/w32spawn.h (dup_noinherit): ...here.
41831         * modules/execute (Depends-on): Add cloexec.
41832         * modules/pipe (Depends-on): Likewise.
41833         * modules/cloexec (Depends-on): Add dup2.
41834         * modules/cloexec-tests (Files): New file.
41835         * tests/test-cloexec.c: Likewise.
41836
41837         test-xalloc-die: fix test for mingw
41838         * modules/xalloc-die-tests (Files): Add tests/init.sh.
41839         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
41840         directory and .exe suffix off argv[0] output.
41841
41842         test-fseeko: fix test for mingw
41843         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
41844         than undefining fseek, so test will pass on mingw.
41845
41846 2009-12-05  Bruno Haible  <bruno@clisp.org>
41847
41848         * lib/progname.h (set_program_name): Clarify specification.
41849         * lib/progname.c (set_program_name): Likewise.
41850         Reported by Jim Meyering.
41851
41852 2009-12-05  Jim Meyering  <meyering@redhat.com>
41853
41854         maint.mk: backslash-escape parens in default regexp
41855         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
41856         backslash-escape the literal parentheses.
41857
41858         maint.mk: news-date-check: use grep -E
41859         * top/maint.mk (today): Define a Make variable, not a...
41860         (news-date-check): ...shell variable.
41861         (news-date-regexp): Use the Make variable.
41862         Use grep's -E option.  Change the failing diagnostic to mention
41863         the variable, $(news-date-regexp).
41864
41865 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
41866
41867         maintainer-makefile: allow customization of NEWS entry format
41868         * top/maint.mk (news-date-regexp): New overridable variable.
41869         (news-date-check): Use it.
41870
41871 2009-12-04  Eric Blake  <ebb9@byu.net>
41872
41873         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41874         * lib/mgetgroups.h (xgetgroups): New prototype.
41875         * lib/mgetgroups.c (xgetgroups): New wrapper.
41876         (mgetgroups): Handle ENOSYS.
41877         * modules/mgetgroups (Depends-on): Add realloc.
41878         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41879
41880         mgetgroups: avoid argument promotion issues with -1
41881         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41882         for invalid gid_t.
41883         * tests/test-chown.h (getegid, test_chown): Likewise.
41884         * tests/test-lchown.h (getegid, test_lchown): Likewise.
41885
41886 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
41887
41888         exclude: Fix header file problems.
41889         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
41890
41891 2009-12-01  Jim Meyering  <meyering@redhat.com>
41892
41893         fts: fts_open: do not let an empty string cause immediate failure
41894         This is required in support of GNU rm, for which the command
41895         "rm A '' B" must process and remove both A and B, in spite of
41896         the empty string argument.
41897         * lib/fts.c (fts_open): Do not let the presence of an empty string
41898         cause fts_open to fail immediately.  Most fts-using tools must be
41899         able to process all arguments, in order, and can be expected to
41900         diagnose such arguments themselves.
41901
41902 2009-11-30  Eric Blake  <ebb9@byu.net>
41903
41904         utimens: fix compilation error
41905         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
41906         Declare variable at right scope.
41907
41908 2009-11-29  Jim Meyering  <meyering@redhat.com>
41909
41910         bootstrap: handle perl-5.11's changed --version output
41911         * build-aux/bootstrap (get_version): Handle perl separately,
41912         since perl-5.11's --version output is different.
41913
41914 2009-11-28  Jim Meyering  <meyering@redhat.com>
41915
41916         userspec: depend on the inttostr module, too
41917         * modules/userspec (Depends-on): Add inttostr.
41918
41919         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
41920         * lib/userspec.c (parse_with_separator): Do not accept a user ID
41921         number of MAXUID when it evaluates to (uid_t) -1.
41922         Likewise for group ID.  Reported by Matt McCutchen in
41923         <http://savannah.gnu.org/bugs/?28113>
41924
41925         userspec: reformat to use spaces, not TABs
41926         * lib/userspec.c: Expand TABs to spaces.
41927         Add Emacs' "indent-tabs-mode: nil" hint.
41928
41929 2009-11-27  Eric Blake  <ebb9@byu.net>
41930
41931         getopt-gnu: flush out another BSD bug
41932         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
41933         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
41934         flush out BSD bug.
41935         * tests/test-getopt.h (test_getopt): End lists with NULL.
41936         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41937         (test_getopt_long_posix): Enhance test.
41938         * modules/getopt-posix-tests (Depends-on): Add stdbool.
41939         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
41940         getopt-gnu.
41941         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41942         Likewise.
41943
41944 2009-11-27  Simon Josefsson  <simon@josefsson.org>
41945
41946         * modules/idpriv-droptemp-tests (Notice): Fix text.
41947
41948 2009-11-27  Jim Meyering  <meyering@redhat.com>
41949
41950         test-xalloc-die: avoid spurious failure due to libtool argv difference
41951         In a libtool-enabled project, this test would fail due to a difference
41952         in the emitted program name, e.g.,
41953         -test-xalloc-die: memory exhausted
41954         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
41955         Use program to avoid that.
41956         * modules/xalloc-die-tests (Depends-on): Add progname.
41957         * tests/test-xalloc-die.c: Include progname.h".
41958         (program_name): Remove decl.
41959         (main): Call set_program_name.
41960         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
41961
41962 2009-11-26  Richard Jones  <rjones@redhat.com>
41963
41964         w32sock: leave win32 error in place.
41965         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
41966
41967 2009-11-26  Eric Blake  <ebb9@byu.net>
41968
41969         init.sh: suggest to use skip_ and fail_ functions in comments
41970         * tests/init.sh: Add a sentence.
41971
41972 2009-11-25  Bruno Haible  <bruno@clisp.org>
41973
41974         init.sh: add documentation in comments
41975         * tests/init.sh: Add some developer and user documentation.
41976
41977 2009-11-26  Jim Meyering  <meyering@redhat.com>
41978
41979         init.sh: accommodate even those who specify bogus srcdir manually
41980         * tests/init.sh: Normally, srcdir is guaranteed by automake and
41981         configure-time tests to be sanitized, so that there is no need to
41982         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
41983         (with no double quotes) suffices.  However, since tests may be
41984         invoked manually, and since you may explicitly set srcdir to the
41985         name of a directory containing spaces, do quote its uses here.
41986         * tests/test-pread.sh: Likewise.
41987         Suggested by Bruno Haible.
41988
41989         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
41990         * tests/test-pread.sh: Write no data into the pipe, because
41991         test-pread actually reads none.  This avoids a diagnostic,
41992         "bash: echo: write error: Broken pipe", that arises in the unusual
41993         event something is ignoring SIGPIPE, and might be interpreted
41994         as some sort of failure.  Reported by Bruno Haible.
41995
41996 2009-11-25  Jim Meyering  <meyering@redhat.com>
41997
41998         test-pread: cover failure with ESPIPE and EINVAL
41999         * tests/test-pread.c (main): Test for failure, too.
42000         * tests/test-pread.sh: Invoke with stdin on a pipe.
42001         Suggested by Eric Blake.
42002
42003         pread: improvement and fix
42004         * modules/pread (Depends-on): Depend on lseek, for portability to
42005         e.g., mingw.  Suggested by Eric Blake.
42006         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42007
42008         unistd.in.h: correct declaration of pread
42009         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42010         Reported by Richard W.M. Jones.
42011
42012         test-pread.sh: distribute the test script
42013         * modules/pread-tests (Files): Include test-pread.sh.
42014
42015         test-pread.sh: clean up
42016         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42017         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42018         That is unnecessary, since it's always ".".
42019         Suggestion from Eric Blake.
42020
42021         test-pread.sh: make executable
42022         * tests/test-pread.sh: Set executable bit.
42023         Reported by Eric Blake.
42024
42025         correct typo in test-pread.sh
42026         * tests/test-pread.sh: Add #! line.
42027
42028         test pread
42029         * tests/test-pread.c: New file.
42030         * tests/test-pread.sh: Likewise.
42031         * modules/pread-tests: Likewise.
42032
42033         pread: new module
42034         * modules/pread: New file.
42035         * lib/unistd.in.h (pread): Define/declare.
42036         * lib/pread.c (pread): New file.
42037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42038         * modules/unistd (Makefile.am): Substitute witnesses.
42039         * doc/posix-functions/pread.texi (pread): Update.
42040         * MODULES.html.sh: Add pread.
42041
42042 2009-11-25  Jim Meyering  <meyering@redhat.com>
42043
42044         tests/init.sh: new file to be used via most *.sh tests
42045         * tests/init.sh: New file.
42046
42047 2009-11-25  Eric Blake  <ebb9@byu.net>
42048
42049         utimens: work around older Linux failure with symlinks
42050         * lib/utimens.c (lutimensat_works_really): New variable.
42051         (fdutimens, lutimens): Use it to manage kernels that support
42052         nanosecond times on files, but not on symlinks.
42053         Reported by OndÅ™ej Vašík.
42054
42055         utimes: fix configure grammar
42056         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42057
42058 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42059
42060         regex: Fix fastmap for multibyte character ranges.
42061         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42062         characters when a multibyte character range is included.
42063
42064 2009-11-22  Andy Wingo  <wingo@pobox.com>
42065
42066         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42067         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42068
42069 2009-11-24  Bruno Haible  <bruno@clisp.org>
42070
42071         doc: Most *_l functions exist in MacOS X 10.5.
42072         * doc/posix-functions/duplocale.texi: Update platforms list.
42073         * doc/posix-functions/freelocale.texi: Likewise.
42074         * doc/posix-functions/newlocale.texi: Likewise.
42075         * doc/posix-functions/uselocale.texi: Likewise.
42076         * doc/posix-functions/isalnum_l.texi: Likewise.
42077         * doc/posix-functions/isalpha_l.texi: Likewise.
42078         * doc/posix-functions/isblank_l.texi: Likewise.
42079         * doc/posix-functions/iscntrl_l.texi: Likewise.
42080         * doc/posix-functions/isdigit_l.texi: Likewise.
42081         * doc/posix-functions/isgraph_l.texi: Likewise.
42082         * doc/posix-functions/islower_l.texi: Likewise.
42083         * doc/posix-functions/isprint_l.texi: Likewise.
42084         * doc/posix-functions/ispunct_l.texi: Likewise.
42085         * doc/posix-functions/isspace_l.texi: Likewise.
42086         * doc/posix-functions/isupper_l.texi: Likewise.
42087         * doc/posix-functions/iswalnum_l.texi: Likewise.
42088         * doc/posix-functions/iswalpha_l.texi: Likewise.
42089         * doc/posix-functions/iswblank_l.texi: Likewise.
42090         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42091         * doc/posix-functions/iswctype_l.texi: Likewise.
42092         * doc/posix-functions/iswdigit_l.texi: Likewise.
42093         * doc/posix-functions/iswgraph_l.texi: Likewise.
42094         * doc/posix-functions/iswlower_l.texi: Likewise.
42095         * doc/posix-functions/iswprint_l.texi: Likewise.
42096         * doc/posix-functions/iswpunct_l.texi: Likewise.
42097         * doc/posix-functions/iswspace_l.texi: Likewise.
42098         * doc/posix-functions/iswupper_l.texi: Likewise.
42099         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42100         * doc/posix-functions/isxdigit_l.texi: Likewise.
42101         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42102         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42103         * doc/posix-functions/strcoll_l.texi: Likewise.
42104         * doc/posix-functions/strfmon_l.texi: Likewise.
42105         * doc/posix-functions/strftime_l.texi: Likewise.
42106         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42107         * doc/posix-functions/strxfrm_l.texi: Likewise.
42108         * doc/posix-functions/tolower_l.texi: Likewise.
42109         * doc/posix-functions/toupper_l.texi: Likewise.
42110         * doc/posix-functions/towctrans_l.texi: Likewise.
42111         * doc/posix-functions/towlower_l.texi: Likewise.
42112         * doc/posix-functions/towupper_l.texi: Likewise.
42113         * doc/posix-functions/wcscoll_l.texi: Likewise.
42114         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42115         * doc/posix-functions/wctrans_l.texi: Likewise.
42116         * doc/posix-functions/wctype_l.texi: Likewise.
42117         * doc/glibc-functions/strptime_l.texi: Likewise.
42118         * doc/glibc-functions/strtod_l.texi: Likewise.
42119         * doc/glibc-functions/strtof_l.texi: Likewise.
42120         * doc/glibc-functions/strtol_l.texi: Likewise.
42121         * doc/glibc-functions/strtold_l.texi: Likewise.
42122         * doc/glibc-functions/strtoll_l.texi: Likewise.
42123         * doc/glibc-functions/strtoul_l.texi: Likewise.
42124         * doc/glibc-functions/strtoull_l.texi: Likewise.
42125         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42126         * doc/glibc-functions/wcstod_l.texi: Likewise.
42127         * doc/glibc-functions/wcstof_l.texi: Likewise.
42128         * doc/glibc-functions/wcstol_l.texi: Likewise.
42129         * doc/glibc-functions/wcstold_l.texi: Likewise.
42130         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42131         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42132         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42133
42134 2009-11-24  Bruno Haible  <bruno@clisp.org>
42135
42136         duplocale: Fix logic bug.
42137         * lib/duplocale.c: Don't include <langinfo.h>.
42138         (_NL_LOCALE_NAME): Remove macro.
42139         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42140         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42141
42142 2009-11-23  Jim Meyering  <meyering@redhat.com>
42143
42144         test-update-copyright: don't hard-code /usr/bin/perl
42145         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42146         perl to print the current year.  Gilles Espinasse reported that
42147         the replaced use of perl was hard-coded as /usr/bin/perl.
42148
42149 2009-11-23  Bruno Haible  <bruno@clisp.org>
42150
42151         duplocale: Add support for glibc 2.3.x.
42152         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42153
42154 2009-11-22  Bruno Haible  <bruno@clisp.org>
42155
42156         vasnprintf: Tiny optimization.
42157         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42158         MacOS X.
42159
42160 2009-11-22  Bruno Haible  <bruno@clisp.org>
42161
42162         Tests for module 'duplocale'.
42163         * modules/duplocale-tests: New file.
42164         * tests/test-duplocale.c: New file.
42165
42166         New module 'duplocale'.
42167         * m4/duplocale.m4: New file.
42168         * lib/locale.in.h (duplocale): New declaration.
42169         * lib/duplocale.c: New file.
42170         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42171         gl_LOCALE_H_DEFAULTS): New macros.
42172         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42173         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42174         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42175         REPLACE_DUPLOCALE.
42176         * modules/duplocale: New file.
42177         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42178
42179 2009-11-22  Bruno Haible  <bruno@clisp.org>
42180
42181         * modules/locale-tests (configure.ac): Test for newlocale function.
42182         * tests/test-locale.c: When the system has extended locale functions,
42183         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42184
42185         locale: Make locale_t available when possible.
42186         * lib/locale.in.h: Include <xlocale.h> when it exists.
42187         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42188         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42189         * modules/locale (Depends-on): Add extensions.
42190         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42191         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42192
42193 2009-11-22  Bruno Haible  <bruno@clisp.org>
42194
42195         Add comments.
42196         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42197         invocation.
42198         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42199         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42200         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42201
42202 2009-11-22  Bruno Haible  <bruno@clisp.org>
42203
42204         error: account for the possibility of freopen (stdout).
42205         * lib/error.c: Include <unistd.h>.
42206         (flush_stdout): New function, extracted from error and error_at_line.
42207         Determine stdout's fd dynamically.
42208         (error, error_at_line): Invoke flush_stdout.
42209         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42210         * modules/error (Depends-on): Add unistd.
42211
42212 2009-11-22  Bruno Haible  <bruno@clisp.org>
42213
42214         diffseq: Add comment.
42215         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42216
42217 2009-11-22  Jim Meyering  <meyering@redhat.com>
42218
42219         c-stack: avoid defining an unused static function
42220         * lib/c-stack.c (find_stack_direction): Do not define this function
42221         when it will not be used.
42222
42223         diffseq: avoid spurious gcc warnings
42224         * lib/diffseq.h (IF_LINT2): Define.
42225         (compareseq): Use it to initialize two members of "part".
42226         This avoids two used-uninitialized warnings.
42227
42228 2009-11-21  Jim Meyering  <meyering@redhat.com>
42229
42230         c-stack: avoid "ignoring return value of `write'" warning
42231         * lib/c-stack.c: Include "ignore-value.h".
42232         (die): Explicitly ignore each write return value.
42233         * modules/c-stack (Depends-on): Add ignore-value.
42234
42235 2009-11-21  Bruno Haible  <bruno@clisp.org>
42236
42237         diffseq: reduce scope of variable 'best'.
42238         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42239         variable, earlier used for two different purposes.
42240
42241 2009-11-21  Jim Meyering  <meyering@redhat.com>
42242
42243         diffseq: remove useless assignment to "best"
42244         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42245         assignment.  At that point "best" is already guaranteed to be zero.
42246
42247 2009-11-20  Eric Blake  <ebb9@byu.net>
42248
42249         build: mention ftp redirector in release announcements
42250         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42251         values that used to come from cfg.mk; mention FTP redirect URL.
42252         * build-aux/announce-gen: Mention the mirror list.
42253         Suggested by Karl Berry.
42254
42255         nanosleep: improve port to mingw
42256         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42257         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42258         LIB_NANOSLEEP, but only when needed.
42259         * modules/select (Link): Document LIBSOCKET.
42260         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42261         enough.
42262
42263         nanosleep: work around cygwin bug
42264         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42265         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42266         bug.
42267         (getnow): Delete, not needed.
42268         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42269         LIB_CLOCK_GETTIME.
42270         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42271         clock-time, gettime.
42272         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42273         bug.
42274         * modules/nanosleep-tests: New test.
42275         * tests/test-nanosleep.c: New file.
42276
42277         sleep: work around cygwin bug
42278         * lib/sleep.c (rpl_sleep): Work around the bug.
42279         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42280         (gl_PREREQ_SLEEP): Delete unused macro.
42281         * modules/sleep (Depends-on): Add verify.
42282         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42283         * modules/unistd (Makefile.am): Substitute witness.
42284         * lib/unistd.in.h (sleep): Update prototype.
42285         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42286         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42287         * modules/sleep-tests (Depends-on): Check for alarm.
42288
42289 2009-11-20  Jim Meyering  <meyering@redhat.com>
42290
42291         maint.mk: improve sc_prohibit_magic_number_exit
42292         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42293         so it does not match uses like System.exit(1).
42294         Add comments showing how to correct all offenders.
42295
42296 2009-11-19  Eric Blake  <ebb9@byu.net>
42297
42298         xalloc-die-tests: add missing library
42299         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42300
42301         test-xvasprintf: silence compiler warnings
42302         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42303         empty string from gcc.
42304
42305 2009-11-19  Jim Meyering  <meyering@redhat.com>
42306
42307         xfreopen: new module, from coreutils
42308         * modules/xfreopen: New module.
42309         * lib/xfreopen.c: New file.
42310         * lib/xfreopen.h: New file.
42311         * MODULES.html.sh (File stream based Input/Output"): Add it.
42312
42313 2009-11-19  Eric Blake  <ebb9@byu.net>
42314
42315         manywarnings: depend on warnings
42316         * modules/manywarnings (Depends-on): Add warnings.
42317
42318         build: avoid compiler warnings
42319         * lib/select.c (rpl_select): Delete unused variable.
42320         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42321
42322 2009-11-18  Eric Blake  <ebb9@byu.net>
42323
42324         tests: avoid false negative with --with-packager
42325         * tests/test-version-etc.sh: Discard packager information.
42326         * tests/test-argp-version-etc-1.sh: Likewise.
42327         Reported by Mike Frysinger.
42328
42329         utimens: fix regression on Solaris
42330         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42331         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42332         can only change fd timestamps via futimesat.  Instead, use an
42333         additional witness macro to avoid BSD bug.
42334         Reported by Jim Meyering.
42335
42336 2009-11-17  Eric Blake  <ebb9@byu.net>
42337
42338         usleep: use it to simplify tests
42339         * modules/stat-time-tests (Depends-on): Add usleep.
42340         (configure.ac): Drop usleep check.
42341         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42342         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42343         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42344         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42345         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42346         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42347         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42348         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42349         Likewise.
42350         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42351         * tests/test-lchown.h (nap): Likewise.
42352         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42353         * tests/test-stat-time.c (nap): Likewise.
42354         * tests/test-utimens-common.h (nap): Update comments.
42355
42356         usleep: new module
42357         * modules/usleep: New file.
42358         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42359         * lib/usleep.c (usleep): Likewise.
42360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42361         * modules/unistd (Makefile.am): Substitute witnesses.
42362         * lib/unistd.in.h (usleep): Add declaration.
42363         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42364         * MODULES.html.sh (Date and time): Likewise.
42365         * modules/usleep-tests (Depends-on): New test.
42366         * tests/test-usleep.c: New file.
42367
42368         chown: work around OpenBSD bug
42369         * lib/chown.c (rpl_chown): Work around the bug.
42370         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42371         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42372         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42373         * modules/chown (Depends-on): Add stdbool.
42374         * modules/lchown (Depends-on): Likewise.
42375         * doc/posix-functions/chown.texi (chown): Document the bug.
42376         * doc/posix-functions/lchown.texi (lchown): Likewise.
42377         * tests/test-lchown.h (test_chown): Relax test.
42378
42379         mkstemp: avoid conflict with C++ keyword template
42380         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42381         * lib/mkostemp.c (mkostemp): Likewise.
42382         * lib/mkostemps.c (mkostemps): Likewise.
42383         * lib/mkstemp.c (mkstemp): Likewise.
42384         * lib/mkstemps.c (mkstemps): Likewise.
42385
42386         xalloc-die-tests: optimize
42387         * tests/test-xalloc-die.sh: Reduce number of processes.
42388
42389 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42390
42391         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42392         patch from ludo@gnu.org (Ludovic Courtès).
42393
42394 2009-11-17  Jim Meyering  <meyering@redhat.com>
42395
42396         version-etc: use proper license string
42397         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42398         * modules/version-etc-fsf: Likewise.
42399
42400 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42401
42402         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42403         printed to stdout.  Deal with EOL differences.
42404
42405 2009-11-17  Eric Blake  <ebb9@byu.net>
42406
42407         unsetenv: work around Solaris bug
42408         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42409         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42410         Reported by Jim Meyering.
42411
42412         vasnprintf: avoid compiler warnings
42413         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42414         variables.
42415         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42416
42417 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42418
42419         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42420         settings since xalloc-die is no longer the self test,
42421         xalloc-die.sh is.
42422
42423 2009-11-17  Jim Meyering  <meyering@redhat.com>
42424
42425         test-xalloc-die.sh: make the code agree with the commit log
42426         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42427         at the end, just in case you happen to have a test-xalloc-die
42428         program in some other PATH directory.
42429
42430         test-xalloc-die.sh: fix a portability bug
42431         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42432         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42433         Otherwise, argv[0] (as often seen in diagnostics) would be too
42434         system-dependent, sometimes with, and sometimes without the leading "./".
42435
42436         version-etc-fsf: relax license to LGPLv3+
42437         * modules/version-etc-fsf (License): Relax license.
42438
42439 2009-11-16  Eric Blake  <ebb9@byu.net>
42440
42441         xalloc-die-tests: avoid printing null pointer
42442         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42443         shell script.
42444         * tests/test-xalloc-die.c (program_name): Declare.
42445         * tests/test-xalloc-die.sh (tmpfiles): New file.
42446
42447         setenv, unsetenv: work around various bugs
42448         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42449         (setenv) [HAVE_SETENV]: Work around bugs.
42450         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42451         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42452         for bugs.
42453         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42454         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42455         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42456         * modules/stdlib (Makefile.am): Update substitutions.
42457         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42458         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42459         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42460         * modules/setenv-tests: New test.
42461         * modules/unsetenv-tests: Likewise.
42462         * tests/test-setenv.c: New file.
42463         * tests/test-unsetenv.c: Likewise.
42464
42465 2009-11-16  Jim Meyering  <meyering@redhat.com>
42466
42467         version-etc: relax license to LGPLv3+
42468         * modules/version-etc (License): Relax license.
42469
42470         better AC_REQUIRE expanded-before-required-warning avoidance
42471         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42472         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42473         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42474         which is no longer needed.
42475
42476 2009-11-16  Eric Blake  <ebb9@byu.net>
42477
42478         test-freading: clean up temporary file
42479         * tests/test-freading.c (main): Remove file on success, and use
42480         ASSERT more liberally.
42481         Reported by Jim Meyering.
42482
42483 2009-11-16  Jim Meyering  <meyering@redhat.com>
42484
42485         avoid new AC_REQUIRE expanded-before-required warnings
42486         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42487         merely using it.
42488         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42489         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42490
42491 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42492
42493         * tests/test-xalloc-die.c: New file.
42494         * modules/xalloc-die-tests: New file.
42495         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42496         XFAIL_TESTS so it can be appended by modules.
42497
42498 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42499
42500         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42501         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42502
42503 2009-11-14  Eric Blake  <ebb9@byu.net>
42504
42505         fnmatch: avoid compiler warning
42506         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42507         to silence compiler warning about mismatch signedness in ?:.
42508         Reported by Robert Millan.
42509
42510         intprops: add double-inclusion guard
42511         * lib/intprops.h: Allow idempotent includes.
42512         Suggested by Bruce Korb.
42513
42514         openat: detect Solaris fchownat bug
42515         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42516         penalizing glibc chownat when only lchownat is broken.
42517         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42518         trailing slash bugs.
42519         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42520         * modules/openat-tests (Files): Include more files.
42521         (Depends-on): Add mgetgroups, sleep, stat-time.
42522         (configure.ac): Add additional checks.
42523         (Makefile.am): Build new test.
42524         * tests/test-fchownat.c: New file.
42525
42526         lchown: detect Solaris and FreeBSD bug
42527         * lib/lchown.c (rpl_lchown): Work around bug.
42528         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42530         * modules/unistd (Makefile.am): Populate it.
42531         * lib/unistd.in.h (lchown): Update declaration.
42532         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42533         * modules/lchown-tests: New file.
42534         * tests/test-lchown.h (test_lchown): Likewise.
42535         * tests/test-lchown.c (main): Likewise.
42536
42537         chown: detect Solaris and FreeBSD bug
42538         * lib/chown.c (rpl_chown): Work around bug.
42539         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42540         (gl_PREREQ_CHOWN): Delete.
42541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42542         * modules/unistd (Makefile.am): Populate it.
42543         * lib/unistd.in.h (chown): Update declaration.
42544         * lib/lchown.c (chown): Update client.
42545         * modules/lchown (Depends-on): Add lstat.
42546         * doc/posix-functions/chown.texi (chown): Document the bug.
42547         * doc/posix-functions/getgroups.texi (getgroups): Document
42548         getgroups pitfall.
42549         * modules/chown-tests: New file.
42550         * tests/test-chown.h (test_chown): Likewise.
42551         * tests/test-chown.c (main): Likewise.
42552
42553 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42554
42555         gnulib-tool: correctly detect absence of m4 directories
42556         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42557
42558 2009-11-14  Jim Meyering  <meyering@redhat.com>
42559
42560         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42561         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42562
42563 2009-11-14  John W. Eaton  <jwe@gnu.org>
42564
42565         strftime.h: wrap function declaration in extern "C" block
42566         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42567
42568 2009-11-13  Eric Blake  <ebb9@byu.net>
42569
42570         getgroups: avoid compiler warning
42571         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42572
42573         getgroups: work around FreeBSD bug
42574         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42575         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42576         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42577         * tests/test-getgroups.c (main): Fix buffer overrun.
42578
42579         getgroups: avoid compilation failure
42580         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42581         * modules/getgroups (Depends-on): Add stdint.
42582
42583 2009-11-13  Jim Meyering  <meyering@redhat.com>
42584
42585         test-getgroups: avoid compilation failure
42586         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42587
42588 2009-11-13  Eric Blake  <ebb9@byu.net>
42589
42590         mgetgroups: new module, taken from coreutils
42591         * modules/mgetgroups: New file.
42592         * lib/mgetgroups.h: Likewise.
42593         * lib/mgetgroups.c (mgetgroups): Likewise.
42594         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42595         * MODULES.html.sh (Users and groups): Mention it.
42596
42597         getgroups: don't expose GETGROUPS_T to user
42598         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42599         an element at a time if GETGROUPS_T is wrong size.
42600         * lib/getugroups.h (getugroups): Change signature.
42601         * lib/unistd.in.h (getgroups): Likewise.
42602         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42603         signature needs fixing.
42604         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42605         AC_TYPE_GETGROUPS.
42606         * modules/group-member (Depends-on): Add getgroups.
42607         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42608         (group_member): Rely on getgroups replacement.
42609         * lib/getugroups.c (getugroups): Use gid_t.
42610         * tests/test-getgroups.c (main): Likewise.
42611         * NEWS: Mention the signature change.
42612         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42613         problem with signature.
42614         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42615         GETGROUPS_T is still useful for setgroups.
42616
42617         getgroups, getugroups: provide stubs for mingw
42618         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42619         * lib/getugroups.c (getugroups): Likewise.
42620         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42621         function.  Modernize replacement scheme.
42622         (gl_PREREQ_GETGROUPS): Delete.
42623         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42624         * modules/getgroups (configure.ac): Declare witness.
42625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42626         * modules/unistd (Depends-on): Substitute witness.
42627         * lib/unistd.in.h (getgroups): Declare replacement.
42628
42629         getgroups: avoid calling exit
42630         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42631         drop xalloc.
42632         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42633         dependencies.
42634         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42635         exiting, in the rare case of malloc failure.
42636
42637         getgroups: fix logic error
42638         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42639         has more than 20 groups.
42640         * modules/getgroups-tests: New test.
42641         * tests/test-getgroups.c: New file.
42642
42643 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42644
42645         * tests/test-base64.c: Improve.
42646
42647 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42648
42649         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42650         Blake <ebb9@byu.net>.
42651
42652 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42653
42654         * tests/test-xvasprintf.c: Add %s%s related checks.
42655
42656 2009-11-12  Eric Blake  <ebb9@byu.net>
42657
42658         version-etc: match standards.texi style
42659         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42660         and use <> only for URLs.
42661
42662 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42663
42664         fts: do not fail on a submount during traversal
42665         * lib/fts.c (fts_build): Read the stat info again after opening
42666         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42667         Original report at http://bugzilla.redhat.com/501848.
42668
42669 2009-11-12  Jim Meyering  <meyering@redhat.com>
42670
42671         bootstrap: sync from coreutils
42672         * build-aux/bootstrap (bootstrap_epilogue): New function.
42673         Use git_modules_config in one more place.  This make bootstrap's
42674         --gnulib-srcdir option more useful for testing.
42675
42676         bootstrap: generalize autoheader check
42677         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42678         AC_CONFIG_HEADERS.
42679
42680 2009-11-11  Eric Blake  <ebb9@byu.net>
42681
42682         mkfifoat: use new modules for Solaris and BSD bugs
42683         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42684         * lib/mkfifoat.c (mknodat): Split...
42685         * lib/mknodat.c (mknodat): ...into new file.
42686         * modules/mkfifoat (Files): Ship new file.
42687         (Depends-on): Add mkfifo, mknod.
42688         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42689         (Depends-on): Add symlink.
42690         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42691         redundant with test_mkfifo.h.
42692         (do_mkfifoat, do_mknodat): New helpers.
42693
42694         mknod: new module
42695         * modules/mknod: New file.
42696         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42697         * lib/mknod.c (mknod): Likewise.
42698         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42699         defaults.
42700         * modules/sys_stat (Makefile.am): Substitute them.
42701         * lib/sys_stat.in.h (mknod): Declare replacement.
42702         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42703         Document it.
42704         * doc/posix-functions/mknod.texi (mknod): Likewise.
42705         * modules/mknod-tests: New test.
42706         * tests/test-mknod.c: Likewise.
42707
42708         mkfifo: new module
42709         * modules/mkfifo: New file.
42710         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
42711         * lib/mkfifo.c (mkfifo): Likewise.
42712         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42713         defaults.
42714         * modules/sys_stat (Makefile.am): Substitute them.
42715         * lib/sys_stat.in.h (mkfifo): Declare replacement.
42716         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42717         Document it.
42718         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
42719         * modules/mkfifo-tests: New test.
42720         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
42721         from test-mkfifoat.c.
42722         * tests/test-mkfifo.c: New file.
42723
42724         readlink: detect FreeBSD bug
42725         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
42726         slash on symlink.
42727         * doc/posix-functions/readlink.texi (readlink): Document the bug.
42728         * tests/test-readlink.h (test_readlink): Enhance test.
42729
42730         symlink: detect FreeBSD bug
42731         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
42732         slash on symlink.
42733         * doc/posix-functions/symlink.texi (symlink): Document the bug.
42734         * tests/test-symlink.h (test_symlink): Enhance test.
42735
42736 2009-11-10  Eric Blake  <ebb9@byu.net>
42737
42738         link: detect FreeBSD bug
42739         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
42740         symlink.
42741         * doc/posix-functions/link.texi (link): Document the bug.
42742         * tests/test-link.h (test_link): Enhance test.
42743         * tests/test-linkat.c (main): Update caller.
42744
42745         unlink, remove: detect FreeBSD bug
42746         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
42747         slash on symlink.
42748         * doc/posix-functions/unlink.texi (unlink): Document the bug.
42749         * doc/posix-functions/remove.texi (remove): Likewise.
42750         * tests/test-unlink.h (test_unlink): Enhance test.
42751         * tests/test-remove.c (main): Likewise.
42752
42753 2009-11-09  Eric Blake  <ebb9@byu.net>
42754
42755         rename: detect FreeBSD bug
42756         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
42757         slash on symlink.
42758         * modules/renameat-tests (Depends-on): Add filenamecat.
42759         * tests/test-rename.h (test_rename): Allow one more errno.
42760         * tests/test-renameat.c (main): Likewise.
42761         * doc/posix-functions/rename.texi (rename): Document the bug.
42762
42763         open: detect FreeBSD bug
42764         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
42765         symlink.
42766         * doc/posix-functions/open.texi (open): Document the bug.
42767         * doc/posix-functions/utimes.texi (utimes): Likewise.
42768         * tests/test-open.h (test_open): Add parameters, and test symlink
42769         handling.
42770         * tests/test-open.c (main): Adjust caller.
42771         * tests/test-fcntl-safer.c (main): Likewise.
42772         * modules/open-tests (Depends-on): Add stdbool, symlink.
42773         * modules/fcntl-safer-tests (Depends-on): Likewise.
42774         * tests/test-openat.c (main): Add test-open tests.
42775
42776         stat: detect FreeBSD bug
42777         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
42778         symlink.
42779         * doc/posix-functions/stat.texi (stat): Document the bug.
42780         * tests/test-stat.h (test_stat_func): Add argument.
42781         * tests/test-stat.c (main): Adjust caller.
42782         * tests/test-fstatat.c (main): Likewise.
42783         * modules/stat-tests (Depends-on): Add stdbool, symlink.
42784         Reported by Jim Meyering.
42785
42786 2009-11-09  James Youngman  <jay@gnu.org>
42787
42788         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
42789         * lib/strftime.c: Correct placement of #include "ignore-value.h".
42790
42791 2009-11-08  Jim Meyering  <meyering@redhat.com>
42792
42793         utimens: remove invalid futimesat call
42794         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
42795         It used the file descriptor of the target file as the DIR_FD
42796         parameter and NULL as the file name.  That caused failure with
42797         errno == EFAULT on FreeBSD-8.0-rc2
42798
42799 2009-11-07  Eric Blake  <ebb9@byu.net>
42800
42801         fflush, freadseek: use fseeko, not fseek
42802         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
42803         (clear_ungetc_buffer): Avoid potential problems on large files.
42804         * lib/freadseek.c (freadseek): Likewise.
42805         * modules/freadseek (Depends-on): Add fseeko.
42806         * modules/fseek (configure.ac): Set a witness.
42807         * tests/test-fflush.c (main): Use fseeko.
42808         * tests/test-fpurge.c (fseek): Disable link warning.
42809         * tests/test-freadable.c (fseek): Likewise.
42810         * tests/test-freading.c (fseek): Likewise.
42811         * tests/test-fseeko.c (fseek): Likewise.
42812         * tests/test-ftell.c (fseek): Likewise.
42813         * tests/test-ftello.c (fseek): Likewise.
42814         * tests/test-fwritable.c (fseek): Likewise.
42815         * tests/test-fwriting.c (fseek): Likewise.
42816
42817 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42818
42819         * modules/memchr (Depends-on): Drop getpagesize dependency.
42820
42821 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42822
42823         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
42824         Reported by Ludovic Courtès.
42825         * build-aux/pmccabe2html: Improve example usage.
42826         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
42827
42828 2009-11-06  Jim Meyering  <meyering@redhat.com>
42829
42830         do-release-commit-and-tag: New module.
42831         Automate the release-commit and tag process.
42832         * build-aux/do-release-commit-and-tag: New script, from coreutils.
42833         * modules/do-release-commit-and-tag: New file.
42834         * MODULES.html.sh (Support for maintaining and releasing): Add it.
42835
42836 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42837
42838         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
42839         because test-select.c uses inet_pton.
42840
42841 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42842
42843         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
42844         GETADDRINFO_LIB.  Bump serial number.
42845         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
42846         Suggested by Eric Blake <ebb9@byu.net>.
42847
42848 2009-11-05  Eric Blake  <ebb9@byu.net>
42849
42850         strtod: detect darwin bug
42851         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
42852         Reported by Leo Davis.
42853
42854         freopen-safer: new module
42855         * modules/freopen-safer: New module.
42856         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
42857         * lib/freopen-safer.c (freopen_safer): New file.
42858         * lib/stdio-safer.h (freopen_safer): New declaration.
42859         * lib/stdio--.h (freopen): New override.
42860         * MODULES.html.sh (File stream based Input/Output): Mention it.
42861         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
42862         freopen-safer module.
42863         * doc/posix-functions/stderr.texi (stderr): Likewise.
42864         * doc/posix-functions/stdin.texi (stdin): Likewise.
42865         * doc/posix-functions/stdout.texi (stdout): Likewise.
42866         * modules/freopen-safer-tests: New test.
42867         * tests/test-reopen-safer.c: New file.
42868
42869 2009-11-05  Jim Meyering  <meyering@redhat.com>
42870
42871         maint.mk: Prohibit inclusion of "close-stream.h" without use.
42872         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42873
42874 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42875
42876         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42877
42878 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42879
42880         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42881
42882 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42883
42884         Fix link error.
42885         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42886         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42887
42888 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42889
42890         * tests/test-func.c: Also test value of __func__.
42891
42892 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42893
42894         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
42895         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
42896
42897 2009-11-05  Bruno Haible  <bruno@clisp.org>
42898
42899         Fix link error.
42900         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42901         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42902         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
42903
42904 2009-11-05  Bruno Haible  <bruno@clisp.org>
42905
42906         Tests for module 'inet_pton'.
42907         * modules/inet_pton-tests: New file.
42908         * tests/test-inet_pton.c: New file.
42909
42910 2009-11-05  Bruno Haible  <bruno@clisp.org>
42911
42912         Tests for module 'inet_ntop'.
42913         * modules/inet_ntop-tests: New file.
42914         * tests/test-inet_ntop.c: New file.
42915
42916 2009-11-04  Eric Blake  <ebb9@byu.net>
42917
42918         stdlib-safer: wrap all mkstemp variants
42919         * modules/mkostemp (configure.ac): Set witness.
42920         * modules/mkostemps (configure.ac): Likewise.
42921         * modules/mkstemps (configure.ac): Likewise.
42922         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
42923         (mkstemps_safer): Wrap more functions.
42924         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
42925         wrapping.
42926         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
42927         (mkstemps_safer): Implement the wrappers.
42928
42929         mkstemps, mkostemps: new modules
42930         * modules/mkostemps: New module.
42931         * modules/mkstemps: Likewise.
42932         * lib/mkostemps.c (mkostemps): New file.
42933         * lib/mkstemps.c (mkstemps): Likewise.
42934         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
42935         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
42936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
42937         * modules/stdlib (Makefile.am): Substitute them.
42938         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
42939         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
42940         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42941         * doc/gnulib.texi (Glibc stdlib.h): Include them.
42942         * MODULES.html.sh (File system functions): Mention them.
42943
42944         tempname: resync from glibc
42945         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
42946         same values for __GT_FILE as glibc.  Abort even when assertions
42947         are disabled.
42948         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
42949         match its value otherwise.  Allow idempotent inclusion.
42950         * lib/mkdtemp.c (mkdtemp): Adjust caller.
42951         * lib/mkostemp.c (mkostemp): Likewise.
42952         * lib/mkstemp.c (mkstemp): Likewise.
42953         * lib/tmpfile.c (tmpfile): Likewise.
42954         * NEWS: Document this.
42955
42956         utimens: fix use of futimens on older Linux
42957         * lib/utimens.c (fdutimens): Use updated, rather than original,
42958         timespec to avoid bug in older Linux kernel.
42959         Reported by Simon Josefsson.
42960
42961 2009-11-04  Bruno Haible  <bruno@clisp.org>
42962
42963         Make num_processors more flexible and consistent.
42964         * lib/nproc.h (enum nproc_query): New type.
42965         (num_processors): Add a 'query' argument.
42966         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
42967         (num_processors): Add a 'query' argument. Test the value of the
42968         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
42969         mingw, count the number of CPUs available for the current process.
42970         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
42971         Check for sched_getaffinity and sched_getaffinity_np.
42972         * modules/nproc (Depends-on): Add c-ctype, extensions.
42973         * NEWS: Mention the change.
42974
42975 2009-11-03  Bruno Haible  <bruno@clisp.org>
42976
42977         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
42978
42979 2009-11-03  Jim Meyering  <meyering@redhat.com>
42980
42981         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
42982         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
42983         if it is defined.
42984
42985 2009-11-02  Eric Blake  <ebb9@byu.net>
42986
42987         mktime, timegm: share common declaration
42988         * lib/mktime-internal.h: New file.
42989         * lib/mktime.c: Use it rather than open-coding a declaration.
42990         * lib/timegm.c: Likewise.
42991         * modules/mktime (Files): Ship it.
42992         * modules/timegm (Files): Likewise.
42993         Suggested by Bruno Haible.
42994
42995         test-update-copyright: update test to match script changes
42996         * tests/test-update-copyright.sh: Avoid hard-coding perl
42997         location.  Don't update *.bak created by earlier runs.
42998
42999 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43000             Simon Josefsson  <simon@josefsson.org>
43001             Bruno Haible  <bruno@clisp.org>
43002
43003         Fix link error on Solaris 8.
43004         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43005         also in libnsl. Define also INET_PTON_LIB.
43006         * modules/inet_pton (Link): New section.
43007
43008 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43009             Bruno Haible  <bruno@clisp.org>
43010
43011         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43012         * modules/inet_ntop (Link): New section.
43013         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43014
43015 2009-11-02  Eric Blake  <ebb9@byu.net>
43016
43017         maint: avoid compiler warnings in m4 macros
43018         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43019         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43020
43021 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43022
43023         * m4/pmccabe2html.m4: Remove file.
43024         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43025         function.  Change maintainer.
43026         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43027         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43028         Courtès).
43029
43030 2009-10-31  Eric Blake  <ebb9@byu.net>
43031
43032         fseeko: fix m4 regression
43033         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43034         regression from 2009-10-27.
43035         Reported by Ralf Wildenhues.
43036
43037 2009-10-31  Jim Meyering  <meyering@redhat.com>
43038
43039         inttostr: aesthetics and improved (compile-time) safety
43040         Define inttype_is_signed rather than inttype_is_unsigned,
43041         since the sole use is via "#if inttype_is_signed".
43042         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43043         inttype_is_unsigned.
43044         * lib/offtostr.c (inttype_is_signed): Likewise.
43045         * lib/uinttostr.c (inttype_is_signed): Likewise.
43046         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43047         * lib/inttostr.c (inttostr): Use verify to cross-check the
43048         inttype_is_signed value and the signedness of the actual type.
43049         * modules/inttostr (Depends-on): Add verify.
43050
43051 2009-10-30  Eric Blake  <ebb9@byu.net>
43052
43053         build: avoid compiler warnings
43054         * lib/fchmodat.c (lchmod): Mark unused variables.
43055         * lib/getopt.c (_getopt_initialize): Likewise.
43056         * lib/mktime.c (__mktime_internal): Provide prototype.
43057         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43058         older gcc that do not understand #pragma GCC diagnostic.
43059         * lib/uinttostr.c (inttype_is_unsigned): Define.
43060         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43061
43062 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43063
43064         stat: fix compilation on AIX
43065         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43066         only see struct stat64.
43067
43068 2009-10-30  Eric Blake  <ebb9@byu.net>
43069
43070         exclude: make more robust
43071         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43072         rather than masking a coding bug.
43073         Suggested by Bruno Haible.
43074
43075 2009-10-30  Jim Meyering  <meyering@redhat.com>
43076
43077         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43078         Rather than putting #!/usr/bin/perl on the first line,
43079         start with a variant of what's recommended by "man perlrun" that
43080         invokes the first "perl" program from your shell's search path.
43081         * build-aux/gitlog-to-changelog: Replace #!... as above.
43082         Add a "Local Variables" perl mode setting.
43083         Prompted by a patch from Ludovic Courtès.
43084         Improved by Eric Blake.
43085         * build-aux/useless-if-before-free: Likewise.
43086         * build-aux/announce-gen: Likewise.
43087         * build-aux/update-copyright: Likewise.
43088
43089 2009-10-29  Eric Blake  <ebb9@byu.net>
43090
43091         filenamecat-lgpl: adjust clients
43092         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43093         filenamecat.
43094         * modules/renameat (Depends-on): Likewise.
43095
43096         filenamecat: split into filenamecat-lgpl
43097         * modules/filenamecat-lgpl: New module.
43098         * modules/filenamecat (Files): Move library-safe files into
43099         filenamecat-lgpl.
43100         (Depends-on): Add filenamecat-lgpl.
43101         (configure.ac): Declare witness.
43102         * lib/filenamecat.h (file_name_concat): Only declare when using
43103         GPL module.
43104         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43105         Move...
43106         * lib/filenamecat-lgpl.c: ...into new file.
43107         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43108         (gl_FILE_NAME_CONCAT): Use it.
43109         * MODULES.html.sh (File system functions): Mention new module.
43110
43111         argp: avoid memory leak
43112         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43113         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43114         base_name, since the latter malloc()s and can call exit().
43115         Leak introduced 2006-07-03.
43116
43117         dirname-lgpl: adjust clients that don't need full dirname
43118         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43119         * modules/filenamecat (Depends-on): Likewise.
43120         * modules/linkat (Depends-on): Likewise.
43121         * modules/mkancesdirs (Depends-on): Likewise.
43122         * modules/mkdir (Depends-on): Likewise.
43123         * modules/openat (Depends-on): Likewise.
43124         * modules/savewd (Depends-on): Likewise.
43125         * modules/rename (Depends-on): Likewise.
43126         (License): Relax license.
43127         * modules/mkdir-tests (Depends-on): Drop progname.
43128         (Makefile.am): Delete unneeded LDADD.
43129         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43130
43131         dirname: split into dirname-lgpl
43132         * modules/dirname-lgpl: New module.
43133         * modules/dirname (Files): Move library-safe files into
43134         dirname-lgpl.
43135         (Depends-on): Add dirname-lgpl.
43136         (configure.ac): Declare witness.
43137         * modules/double-slash-root (License): Relax license.
43138         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43139         module.
43140         * lib/dirname.c (dir_len, mdir_name): Move...
43141         * lib/dirname-lgpl.c: ...into new file.
43142         * lib/basename.c (last_component, base_len): Move...
43143         * lib/basename-lgpl.c: ...into new file.
43144         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43145         (gl_DIRNAME): Use it.
43146         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43147         Mention new module.
43148         * modules/dirname-tests (Depends-on): Add progname.
43149         * tests/test-dirname.c (program_name): Delete.
43150
43151         mkdir: make safe for libraries
43152         * modules/mkdir (Depends-on): Drop xalloc.
43153         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43154         exit.
43155
43156         tests: avoid some compiler warnings
43157         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43158         literals.
43159         * tests/test-memchr.c (main): Avoid type mismatch.
43160         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43161         * tests/test-base64.c (main): Likewise.
43162         * tests/test-getdelim.c (main): Likewise.
43163         * tests/test-gethostname.c (main): Likewise.
43164         * tests/test-getline.c (main): Likewise.
43165         * tests/test-netinet_in.c (main): Likewise.
43166         * tests/test-select.c (open_server_socket, main): Likewise.
43167         * tests/test-select-stdin.c (main): Likewise.
43168         * tests/test-sockets.c (main): Likewise.
43169         * tests/test-strsignal.c (main): Likewise.
43170         * tests/test-sys_select.c (main): Likewise.
43171         * tests/test-sys_socket.c (main): Likewise.
43172         * tests/test-u64.c (main): Likewise.
43173         * tests/test-xfprintf-posix.c (main): Likewise.
43174         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43175
43176         sockets: avoid compiler warning
43177         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43178
43179         maint: detect usage(1) and other suspicious exits
43180         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43181
43182 2009-10-29  Jim Meyering  <meyering@redhat.com>
43183
43184         timespec: long-to-int truncation could make timespec_cmp malfunction
43185         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43186         a multiple of 2^32 nanoseconds as no difference.
43187
43188 2009-10-28  Jim Meyering  <meyering@redhat.com>
43189
43190         fprintftime: wrap macro code argument in "do {...} while(0)"
43191         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43192         cpy macro must be a statement that can be followed by a semicolon.
43193         Now that the else clause contains a comment and is hence longer
43194         than one line, I require curly braces.  That in turn requires
43195         that we wrap this code block in the standard do...while(0).
43196
43197         fprintftime: remove stray semicolon from previous change
43198         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43199
43200         fprintftime: avoid a warning about ignored fwrite return value
43201         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43202         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43203         that is unsafe.
43204         * modules/fprintftime (Depends-on): Add ignore-value.
43205
43206         exclude: avoid an unwarranted warning
43207         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43208
43209 2009-10-27  Eric Blake  <ebb9@byu.net>
43210
43211         fseek: avoid compilation failure when fflush is replaced
43212         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43213         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43214         module is in use.
43215         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43216         module is not in use; since REPLACE_FSEEK worked otherwise.
43217         (GNULIB_FTELLO): Likewise for ftell.
43218         Reported by Ian Beckwith and others.
43219
43220 2009-10-27  Bruno Haible  <bruno@clisp.org>
43221
43222         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43223         Reported by Jim Meyering.
43224
43225 2009-10-27  Jim Meyering  <jim@meyering.net>
43226             Bruno Haible  <bruno@clisp.org>
43227
43228         Avoid warning despite dropping the return value of fwrite.
43229         * lib/unicodeio.c: Include ignore-value.h.
43230         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43231         * modules/unicodeio (Depends-on): Add ignore-value.
43232
43233 2009-10-26  Eric Blake  <ebb9@byu.net>
43234
43235         areadlinkat: fix fallback path
43236         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43237         pointer and zero.
43238
43239 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43240
43241         Use a better IO block size for modern systems
43242         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43243         * lib/md2.c: Likewise.
43244         * lib/md4.c: Likewise.
43245         * lib/md5.c: Likewise.
43246         * lib/sha1.c: Likewise.
43247         * lib/sha256.c: Likewise.
43248         * lib/sha512.c: Likewise.
43249
43250 2009-10-22  Eric Blake  <ebb9@byu.net>
43251
43252         tests: avoid several compiler warnings
43253         * tests/test-getcwd.c (main): Avoid buffer underflow.
43254         * tests/test-getdate.c (main): String literals are not safe with
43255         putenv, so use setenv.  Declare unused argument.
43256         * modules/getdate-tests (Depends-on): Add setenv.
43257         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43258         problems with string literals in char *.
43259         * tests/test-hash.c (main): Avoid shadowing declaration.
43260         (insert_new): Treat string literals as char const *.
43261         * tests/test-getopt.h (test_getopt): Likewise.
43262         (getopt_loop): Alter types to minimize casting elsewhere.
43263         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43264         (test_getopt_long_posix): Likewise.
43265         (do_getopt_long): Add wrapper to minimize casting.
43266         * tests/test-atexit.c (clear_temp_file): Use void.
43267         * tests/test-areadlink-with-size.c (main): Declare unused
43268         arguments.
43269         * tests/test-areadlink.c (main): Likewise.
43270         * tests/test-areadlinkat-with-size.c (main): Likewise.
43271         * tests/test-areadlinkat.c (main): Likewise.
43272         * tests/test-canonicalize-lgpl.c (main): Likewise.
43273         * tests/test-canonicalize.c (main): Likewise.
43274         * tests/test-dirent-safer.c (main): Likewise.
43275         * tests/test-dirname.c (main): Likewise.
43276         * tests/test-dup2.c (main): Likewise.
43277         * tests/test-fchdir.c (main): Likewise.
43278         * tests/test-fcntl-h.c (main): Likewise.
43279         * tests/test-fcntl-safer.c (main): Likewise.
43280         * tests/test-fdopendir.c (main): Likewise.
43281         * tests/test-fdutimensat.c (main): Likewise.
43282         * tests/test-fflush.c (main): Likewise.
43283         * tests/test-filenamecat.c (main): Likewise.
43284         * tests/test-filevercmp.c (main): Likewise.
43285         * tests/test-fopen-safer.c (main): Likewise.
43286         * tests/test-fopen.c (main): Likewise.
43287         * tests/test-fpending.c (main): Likewise.
43288         * tests/test-fpurge.c (main): Likewise.
43289         * tests/test-freading.c (main): Likewise.
43290         * tests/test-fstatat.c (main): Likewise.
43291         * tests/test-fsync.c (main): Likewise.
43292         * tests/test-futimens.c (main): Likewise.
43293         * tests/test-getndelim2.c (main): Likewise.
43294         * tests/test-gettimeofday.c (main): Likewise.
43295         * tests/test-getopt.c (main): Likewise.
43296         * tests/test-i-ring.c (main): Likewise.
43297         * tests/test-inttypes.c (main): Likewise.
43298         * tests/test-link.c (main): Likewise.
43299         * tests/test-lstat.c (main): Likewise.
43300         * tests/test-math.c (main): Likewise.
43301         * tests/test-md5.c (main): Likewise.
43302         * tests/test-memchr2.c (main): Likewise.
43303         * tests/test-memrchr.c (main): Likewise.
43304         * tests/test-mkdir.c (main): Likewise.
43305         * tests/test-mkdirat.c (main): Likewise.
43306         * tests/test-mkfifoat.c (main): Likewise.
43307         * tests/test-open.c (main): Likewise.
43308         * tests/test-openat-safer.c (main): Likewise.
43309         * tests/test-openat.c (main): Likewise.
43310         * tests/test-quotearg.c (main): Likewise.
43311         * tests/test-rawmemchr.c (main): Likewise.
43312         * tests/test-readlink.c (main): Likewise.
43313         * tests/test-remove.c (main): Likewise.
43314         * tests/test-rename.c (main): Likewise.
43315         * tests/test-renameat.c (main): Likewise.
43316         * tests/test-rmdir.c (main): Likewise.
43317         * tests/test-sha1.c (main): Likewise.
43318         * tests/test-signal.c (main): Likewise.
43319         * tests/test-sigaction.c (main): Likewise.
43320         * tests/test-stat.c (main): Likewise.
43321         * tests/test-stat-time.c (main): Likewise.
43322         * tests/test-stddef.c (main): Likewise.
43323         * tests/test-stdint.c (main): Likewise.
43324         * tests/test-stdio.c (main): Likewise.
43325         * tests/test-stdlib.c (main): Likewise.
43326         * tests/test-strchrnul.c (main): Likewise.
43327         * tests/test-strerror.c (main): Likewise.
43328         * tests/test-string.c (main): Likewise.
43329         * tests/test-strtod.c (main): Likewise.
43330         * tests/test-strverscmp.c (main): Likewise.
43331         * tests/test-symlink.c (main): Likewise.
43332         * tests/test-symlinkat.c (main): Likewise.
43333         * tests/test-sys_stat.c (main): Likewise.
43334         * tests/test-sys_time.c (main): Likewise.
43335         * tests/test-time.c (main): Likewise.
43336         * tests/test-unistd.c (main): Likewise.
43337         * tests/test-unlink.c (main): Likewise.
43338         * tests/test-unlinkat.c (main): Likewise.
43339         * tests/test-utimens.c (main): Likewise.
43340         * tests/test-utimensat.c (main): Likewise.
43341         * tests/test-version-etc.c (main): Likewise.
43342         * tests/test-wchar.c (main): Likewise.
43343         * tests/test-wctype.c (main): Likewise.
43344         * tests/test-xprintf-posix.c (main): Likewise.
43345         * tests/test-posixtm.c (main): Likewise.
43346         (STREQ): Delete unused macro.
43347         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43348         shadowed variables.
43349         * tests/test-memchr.c (main): Likewise.
43350
43351 2009-10-21  Eric Blake  <ebb9@byu.net>
43352
43353         areadlinkat: avoid failure on older glibc
43354         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43355         rather than mis-comparing 0 against FUNC_RESULT of char*.
43356
43357 2009-10-21  Bruno Haible  <bruno@clisp.org>
43358
43359         * modules/stpncpy (License): Relicense under LGPLv2+.
43360         Reported by David Lutterkort <lutter@redhat.com>.
43361
43362 2009-10-20  Eric Blake  <ebb9@byu.net>
43363
43364         utimensat: work around Solaris 9 bug
43365         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43366         has trailing slash bugs.
43367         * tests/test-lutimens.h (test_lutimens): Enhance test.
43368         * tests/test-utimens.h (test_utimens): Likewise.
43369         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43370         * doc/posix-functions/utimes.texi (utimes): Likewise.
43371         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43372         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43373         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43374         * doc/posix-functions/futimens.texi (futimens): Likewise.
43375
43376         fdutimensat: new module
43377         * modules/fdutimensat: New file.
43378         * lib/fdutimensat.c (fdutimensat): Likewise.
43379         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43380         * MODULES.html.sh (File system functions): Mention module.
43381         * modules/fdutimensat-tests: New test.
43382         * tests/test-fdutimensat.c: Likewise.
43383
43384         doc: regenerate INSTALL
43385         * doc/INSTALL: Reflect recent autoconf update.
43386         * doc/INSTALL.ISO: Likewise.
43387         * doc/INSTALL.UTF-8: Likewise.
43388
43389 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43390
43391         acl: warn if ACL support is not detected
43392         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43393
43394 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43395
43396         * lib/nproc.h: Add extern "C" block for C++.
43397
43398 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43399             Bruno Haible  <bruno@clisp.org>
43400
43401         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43402         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43403         * doc/posix-functions/isalpha.texi: Likewise.
43404         * doc/posix-functions/isblank.texi: Likewise.
43405         * doc/posix-functions/iscntrl.texi: Likewise.
43406         * doc/posix-functions/isdigit.texi: Likewise.
43407         * doc/posix-functions/isgraph.texi: Likewise.
43408         * doc/posix-functions/islower.texi: Likewise.
43409         * doc/posix-functions/isprint.texi: Likewise.
43410         * doc/posix-functions/ispunct.texi: Likewise.
43411         * doc/posix-functions/isspace.texi: Likewise.
43412         * doc/posix-functions/isupper.texi: Likewise.
43413         * doc/posix-functions/isxdigit.texi: Likewise.
43414
43415 2009-10-18  Bruno Haible  <bruno@clisp.org>
43416
43417         Tests for module 'isblank'.
43418         * modules/isblank-tests: New file.
43419         * tests/test-isblank.c: New file.
43420
43421         New module 'isblank'.
43422         * lib/isblank.c: New file.
43423         * m4/isblank.m4: New file.
43424         * modules/isblank: New file.
43425         * doc/posix-functions/isblank.texi: Mention the new module.
43426
43427 2009-10-18  Bruno Haible  <bruno@clisp.org>
43428
43429         New module 'ctype'.
43430         * lib/ctype.in.h: New file.
43431         * m4/ctype.m4: New file.
43432         * modules/ctype: New file.
43433         * doc/posix-headers/ctype.texi: Mention the new module.
43434
43435 2009-10-18  Jim Meyering  <meyering@redhat.com>
43436
43437         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43438         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43439         right after its initialization, rather than farther down.
43440         Keeping these in close proximity makes it easier to ensure
43441         that each such variable is initialized.  E.g.,
43442
43443             LIB_CLOCK_GETTIME=
43444             AC_SUBST([LIB_CLOCK_GETTIME])
43445
43446         This change also increments these serial numbers.
43447         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43448         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43449         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43450
43451 2009-10-18  Bruno Haible  <bruno@clisp.org>
43452
43453         Don't let environment variables perturb build.
43454         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43455         (gl_PREREQ_GETHRXTIME): ... not here.
43456
43457 2009-10-18  Bruno Haible  <bruno@clisp.org>
43458
43459         Avoid symlink attack in localcharset module.
43460         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43461         (O_NOFOLLOW): Define fallback.
43462         (get_charset_aliases): Don't open the file if it is a symbolic link.
43463         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43464         gl_FCNTL_H.
43465         (gl_FCNTL_H): Require it.
43466         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43467         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43468         Reported by Fergal Glynn <fglynn@veracode.com>.
43469
43470 2009-10-18  Bruno Haible  <bruno@clisp.org>
43471
43472         Implement nproc for mingw.
43473         * lib/nproc.c: Include <windows.h>
43474         (num_processors): On native Windows platforms, try GetSystemInfo.
43475
43476 2009-10-18  Bruno Haible  <bruno@clisp.org>
43477
43478         Implement nproc for IRIX.
43479         * lib/nproc.c: Include <sys/sysmp.h>.
43480         (num_processors): On IRIX systems, try sysmp.
43481         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43482
43483 2009-10-18  Bruno Haible  <bruno@clisp.org>
43484
43485         Implement nproc for HP-UX.
43486         * lib/nproc.c: Include <sys/pstat.h>
43487         (num_processors): On HP-UX systems, try pstat_getdynamic.
43488         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43489         pstat_getdynamic.
43490
43491 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43492             Bruno Haible  <bruno@clisp.org>
43493
43494         Implement nproc for NetBSD, OpenBSD.
43495         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43496         (ARRAY_SIZE): New macro.
43497         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43498         * m4/nproc.m4: New file.
43499         * modules/nproc (Files): Add m4/nproc.m4.
43500         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43501         (Makefile.am): Instead, augment lib_SOURCES.
43502
43503 2009-10-18  Bruno Haible  <bruno@clisp.org>
43504
43505         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43506         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43507         sys/param.h.
43508
43509 2009-10-16  Eric Blake  <ebb9@byu.net>
43510
43511         utimensat: new module
43512         * modules/utimensat: New file.
43513         * lib/utimensat.c (utimensat): Likewise.
43514         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43515         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43516         so we can work around Linux bugs.
43517         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43518         * modules/sys_stat (Makefile.am): Substitute them.
43519         * lib/sys_stat.in.h (utimensat): Declare it.
43520         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43521         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43522         * modules/utimensat-tests: New test.
43523         * tests/test-utimensat.c: Likewise.
43524
43525         utimens: let lutimens work on non-symlinks
43526         * lib/utimens.c (lutimens): Fall back to utimens rather than
43527         failing with ENOSYS, when file is not a symlink.
43528         (utimens): Reduce redirection.
43529         * tests/test-lutimens.h (test_lutimens): Update test to cover
43530         non-symlinks.
43531         * tests/test-utimens.h (test_utimens): Update test to cover
43532         symlinks.
43533         * tests/test-utimens.c (main): Update caller.
43534
43535         utimens: cache whether utimensat syscall works
43536         * lib/utimens.c (utimensat_works_really): New cache variable.
43537         (fdutimens, lutimens): Use it to avoid failing syscall.
43538
43539         test-stat-time, test-utimens: improve portability
43540         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43541         ext4 on alpha, and for cygwin.
43542         * tests/test-utimens-common.h: New file.
43543         (nap): Factor delays into single function.
43544         * tests/test-lutimens.h (test_lutimens): Use new header.
43545         * tests/test-futimens.h (test_futimens): Likewise.
43546         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43547         timestamps to occur from same machine, as was done previously for
43548         test_utimens.
43549         * modules/utimens-tests (Files): Ship new file.
43550         * modules/futimens-tests (Files): Likewise.
43551         Reported in part by Jim Meyering.
43552
43553         sys_stat: sort replacement declarations
43554         * lib/sys_stat.in.h: Sort declarations.
43555         * lib/futimens.c (futimens): Fix typo.
43556
43557 2009-10-15  Jim Meyering  <meyering@redhat.com>
43558
43559         don't let environment settings perturb build
43560         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43561         could cause a configure-time and/or build-time malfunction.
43562         Typically, a configure-time function-in-library test is performed
43563         via code like this:
43564
43565           LIB_VAR=
43566           AC_SUBST([LIB_VAR])
43567           prefix_saved_LIBS=$LIBS
43568             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43569                        [test "$ac_cv_search_FUNC" = "none required" ||
43570                         LIB_VAR=$ac_cv_search_FUNC])
43571           LIBS=$prefix_saved_LIBS
43572
43573         However, in each of the files affected by this change, the LIB_VAR=
43574         initialization was omitted.  Thus, when set in the environment, its
43575         value would propagate into generated Makefiles when FUNC is not found
43576         in LIB_NAME.
43577         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43578         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43580
43581 2009-10-14  Eric Blake  <ebb9@byu.net>
43582
43583         fchdir: avoid infinite recursion in mingw
43584         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43585         recursing.
43586
43587         test-stat-time: port to mingw
43588         * tests/test-stat-time.c (force_unlink): Return a value.
43589         (test_ctime) [W32]: Fix compilation error.
43590         (nap): Don't call usleep with too large an argument.  Use
43591         force_unlink.
43592         * doc/pastposix-functions/usleep.texi (usleep): Document the
43593         portability issue.
43594
43595 2009-10-13  Jim Meyering  <meyering@redhat.com>
43596
43597         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43598         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43599         * modules/pipe-filter-ii: Likewise.
43600         * modules/sys_socket-tests: Likewise.
43601         * modules/tsearch-tests: Likewise.
43602         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43603         (check): Depend on it.
43604
43605 2009-10-12  Eric Blake  <ebb9@byu.net>
43606
43607         utimens-tests: port to NFS file systems
43608         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43609         comparisons to avoid spurious failures from timestamp drift
43610         between NFS machines.
43611
43612 2009-10-12  Eric Blake  <ebb9@byu.net>
43613
43614         stat-time-tests: minor cleanups
43615         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43616         * tests/test-stat-time.c (nap): Separate assignment from call.
43617         Suggested by Paolo Bonzini and Bruno Haible.
43618
43619         sys_stat: guarantee struct timespec
43620         * lib/sys_stat.in.h (includes): Always include <time.h>
43621         * modules/sys_stat (Depends-on): Add time.
43622         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43623         mode_t permission values.
43624         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43625         get at subsecond timestamps.
43626
43627 2009-10-10  Eric Blake  <ebb9@byu.net>
43628
43629         futimens: new module
43630         * modules/futimens: New file.
43631         * lib/futimens.c (futimens): Likewise.
43632         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43633         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43634         we can work around Linux bugs.
43635         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43636         * modules/sys_stat (Makefile.am): Substitute them.
43637         * lib/sys_stat.in.h (futimens): Declare it.
43638         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43639         * doc/posix-functions/futimens.texi (futimens): Likewise.
43640         * modules/futimens-tests: New test.
43641         * tests/test-futimens.c: Likewise.
43642
43643         utimens: introduce fdutimens
43644         * lib/utimens.h (fdutimens): New prototype.
43645         * lib/utimens.c (gl_futimens): Move guts...
43646         (fdutimens): ...to new interface.
43647         * tests/test-utimens.c (do_fdutimens): Use it.
43648
43649         utimens: add UTIME_NOW and UTIME_OMIT support
43650         * lib/utimens.c (validate_timespec, update_timespec): New helper
43651         functions.
43652         (gl_futimens, lutimens): Use them.
43653         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43654         stdbool, sys_stat.
43655         (Link): Mention resulting library dependency.
43656         * modules/utimecmp (Link): Likewise.
43657         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43658         (Makefile.am): Pick up library dependency.
43659         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43660         definition.
43661         * tests/test-sys_stat.c: Test the definitions.
43662         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43663         * NEWS: Document library dependency.
43664
43665         utimecmp: support symlink timestamps
43666         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43667         hashing when possible.  Use pathconf when available.
43668         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43669         * modules/utimecmp (Depends-on): Add lstat.
43670
43671         utimens: add lutimens interface
43672         * lib/utimens.c (lutimens): New function.
43673         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43674         * lib/utimens.h (lutimens): Declare new interface.
43675         * tests/test-utimens.c (main): Enhance test.
43676         * tests/test-lutimens.h (test_lutimens): New file.
43677         * modules/utimens-tests (Files): Distribute it.
43678         (Depends-on): Add symlink.
43679         (configure.ac): Check for usleep.
43680
43681         utimens: validate futimens usage
43682         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43683         fewer syscalls on failure later on.  Avoid compiler warning on
43684         mingw.
43685         * modules/utimens (Depends-on): Add dup2.
43686
43687         utimens: add test
43688         * modules/utimens-tests: New test.
43689         * tests/test-utimens.h: New file.
43690         * tests/test-futimens.h: Likewise.
43691         * tests/test-utimens.c: Likewise.
43692
43693         doc: mention timestamp portability issues
43694         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43695         instead.
43696         * doc/posix-functions/utime.texi (utime): Likewise.
43697         * doc/posix-functions/utimes.texi (utimes): Likewise.
43698         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43699         instead.
43700         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43701         module.
43702         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43703         Mention weakness with symlink timestamps.
43704         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43705         to utimensat/futimens instead.
43706         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43707
43708         test-dup2: enhance test
43709         * tests/test-dup2.c (main): Also check AT_FDCWD.
43710
43711         test-stat-time: avoid more spurious failures
43712         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
43713         xfs; and avoid race if the two timestamps cross quantization edge.
43714
43715         relocatable: prefer 'file system' over 'filesystem'
43716         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
43717         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
43718         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
43719         * doc/relocatable.texi (Enabling Relocatability): Likewise.
43720         * lib/relocatable.c (compute_curr_prefix): Likewise.
43721
43722 2009-10-10  Jim Meyering  <meyering@redhat.com>
43723
43724         stat-time-tests: check for the usleep function
43725         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
43726
43727 2009-10-10  Bruno Haible  <bruno@clisp.org>
43728
43729         * modules/xnanosleep: Put the Link section after the Include section.
43730
43731 2009-10-09  Eric Blake  <ebb9@byu.net>
43732
43733         dup2: work around FreeBSD 6.1 bug
43734         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
43735         * doc/posix-functions/dup2.texi (dup2): Document it.
43736         Reported by Nelson H. F. Beebe and Jim Meyering.
43737
43738         test-stat-time: port to buggy NFS clients
43739         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
43740         (test_ctime): Also skip test if mtime and ctime are skewed.
43741
43742         maint: prefer 'file system' over 'filesystem'
43743         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43744         * doc/posix-functions/lstat.texi (lstat): Likewise.
43745         * lib/file-has-acl.c (file_has_acl): Likewise.
43746         * lib/fwriteerror.c [TEST]: Likewise.
43747         * tests/test-areadlink.h (test_areadlink): Likewise.
43748         * tests/test-areadlinkat-with-size.c (main): Likewise.
43749         * tests/test-areadlinkat.c (main): Likewise.
43750         * tests/test-canonicalize-lgpl.c (main): Likewise.
43751         * tests/test-canonicalize.c (main): Likewise.
43752         * tests/test-fstatat.c (main): Likewise.
43753         * tests/test-linkat.c (main): Likewise.
43754         * tests/test-lstat.h (test_lstat_func): Likewise.
43755         * tests/test-mkdir.h (test_mkdir): Likewise.
43756         * tests/test-readlink.h (test_readlink): Likewise.
43757         * tests/test-remove.c (main): Likewise.
43758         * tests/test-rename.h (test_rename): Likewise.
43759         * tests/test-renameat.c (main): Likewise.
43760         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43761         * tests/test-symlink.h (test_symlink): Likewise.
43762         * tests/test-symlinkat.c (main): Likewise.
43763         * tests/test-unlink.h (test_unlink_func): Likewise.
43764         * tests/test-unlinkat.c (main): Likewise.
43765
43766         maint: make realtime library usage explicit
43767         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
43768         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
43769         * modules/settime (Link): Likewise.
43770         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
43771
43772         test-stat-time: speed up execution
43773         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
43774         warning on mingw.
43775         (nap): New helper function.
43776         (prepare_test): Use it to reduce sleep time.
43777         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
43778         execution.
43779         * modules/stat-time-tests (configure.ac): Check for usleep.
43780
43781 2009-10-09  Jim Meyering  <meyering@redhat.com>
43782
43783         selinux-h: always use getfilecon wrappers
43784         * lib/getfilecon.c: New file.
43785         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
43786         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
43787         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
43788         (fgetfilecon): Provide a stub.
43789         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
43790         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
43791         file unconditionally.
43792         When <selinux/selinux.h> is found, arrange to use wrappers.
43793         * modules/selinux-h (Files): Add getfilecon.c.
43794         (Makefile.am): Substitute include-next-related bits
43795         into the now-always-generated selinux/selinux.h file.
43796         * doc/glibc-functions/lgetfilecon.texi: New file.
43797         * doc/glibc-functions/fgetfilecon.texi: New file.
43798         * doc/glibc-functions/getfilecon.texi: New file.
43799         * doc/glibc-functions/getfilecon-desc.texi: New file.
43800         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
43801         which to pull in the new files.
43802         * MODULES.html.sh (Misc): Add selinux-h.
43803
43804 2009-10-08  Jim Meyering  <meyering@redhat.com>
43805
43806         unistd: fix comment typo
43807         * lib/unistd.in.h (euidaccess): Fix a comment typo.
43808
43809 2009-10-08  Eric Blake  <ebb9@byu.net>
43810
43811         areadlink: use SIZE_MAX consistently
43812         * modules/areadlink (Depends-on): Add stdint.
43813         * modules/areadlink-with-size (Depends-on): Likewise.
43814         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
43815         gives NULL; drop sys/types, since unistd gives size_t; and add
43816         stdint for SIZE_MAX.
43817         (SIZE_MAX): Rely on headers.
43818         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
43819         and add stdint.
43820         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
43821         (SIZE_MAX): Likewise.
43822         (INITIAL_BUF_SIZE): Turn into enum.
43823         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
43824
43825 2009-10-08  Jim Meyering  <meyering@redhat.com>
43826
43827         areadlinkat: avoid compilation failure
43828         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
43829         Fix typo in comment.
43830
43831 2009-10-07  Eric Blake  <ebb9@byu.net>
43832
43833         areadlinkat-with-size: new module
43834         * modules/areadlinkat-with-size: New module.
43835         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
43836         * lib/areadlink.h (areadlinkat): Declare it.
43837         * MODULES.html.sh (File system functions): Mention it.
43838         * modules/areadlinkat-with-size-tests: New test.
43839         * tests/test-areadlinkat-with-size.c: New file.
43840
43841         xreadlinkat: new module
43842         * modules/xreadlinkat: New module.
43843         * lib/xreadlinkat.c (xreadlinkat): New file.
43844         * lib/xreadlink.h (xreadlinkat): Declare it.
43845         * MODULES.html.sh (File system functions): Mention it.
43846
43847         areadlinkat: new module
43848         * lib/at-func.c (FUNC_FAIL): New define.
43849         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
43850         * modules/areadlinkat: New module.
43851         * lib/linkat.c (areadlinkat): Move...
43852         * lib/areadlinkat.c (areadlinkat): ...to new file.
43853         * lib/areadlink.h (areadlinkat): Declare it.
43854         * modules/linkat (Depends-on): Add areadlinkat.
43855         * MODULES.html.sh (File system functions): Mention it.
43856         * modules/areadlinkat-tests: New test.
43857         * tests/test-areadlinkat.c: New file.
43858
43859         areadlink, areadlink-with-size: add tests
43860         * modules/areadlink-tests: New test.
43861         * modules/areadlink-with-size-tests: Likewise.
43862         * tests/test-areadlink.h: New file.
43863         * tests/test-areadlink.c: Likewise.
43864         * tests/test-areadlink-with-size.c: Likewise.
43865
43866         maint: minor cleanups
43867         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
43868         _UNUSED_PARAMETER_ instead.
43869         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
43870         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
43871         * modules/linkat-tests (Files): Distribute test-link.h.
43872
43873         openat, utimens: whitespace cleanup
43874         * lib/openat.c: Prefer space throughout, rather than mix of 8
43875         spaces vs. tabs.
43876         * lib/at-func.c: Likewise.
43877         * lib/utimens.c: Likewise.
43878
43879         openat: avoid using wrong fd
43880         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43881         working directory chooses same fd.
43882         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43883
43884         mkdir, mkdirat: fix cygwin 1.5.x bug
43885         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
43886         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
43887         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
43888         bug.
43889         (gl_PREREQ_MKDIR): Delete unused macro.
43890         * modules/mkdir (Files): Track file rename.
43891         (configure.ac): Update macro name.
43892         * modules/openat (Depends-on): Add mkdir.
43893         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
43894
43895         mkdir, mkdirat: add tests
43896         * modules/mkdir-tests: New test.
43897         * tests/test-mkdir.h: New file.
43898         * tests/test-mkdir.c: Likewise.
43899         * tests/test-mkdirat.c: Likewise.
43900         * modules/openat-tests (Files): Add new files.
43901         (Makefile.am): Run new test.
43902
43903 2009-10-06  Eric Blake  <ebb9@byu.net>
43904
43905         doc: tweak *at function documentation
43906         * doc/posix-functions/faccessat.texi (faccessat): Mention
43907         known issue with replacement.
43908         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
43909         * doc/posix-functions/linkat.texi (linkat): Likewise.
43910         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43911         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43912         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43913         * doc/posix-functions/renameat.texi (renameat): Likewise.
43914         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43915
43916         openat: fix GNU/Hurd bug in unlinkat
43917         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
43918         broken.
43919         * doc/posix-functions/unlink.texi (unlink): Document this.
43920         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
43921
43922         fdopendir: fix GNU/Hurd bug
43923         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
43924         allowing non-directory fds.
43925         * lib/fdopendir.c (rpl_fdopendir): Work around it.
43926         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
43927         * modules/dirent (Makefile.am): Substitute it.
43928         * lib/dirent.in.h (fdopendir): Declare replacement.
43929         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
43930         * tests/test-fdopendir.c (main): Test something other than
43931         /dev/null, since on Hurd that behaves like a directory.
43932
43933         test-symlink: port to GNU/Hurd
43934         * tests/test-symlink.h (test_symlink): Relax expected errno.
43935
43936         doc: tweak more cygwin information
43937         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
43938         now compatible with glibc.
43939         * doc/posix-functions/getopt.texi (getopt): Likewise.
43940
43941         getopt-gnu: add another test
43942         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
43943         guarantee behavior relied on by m4.
43944         * tests/test-getopt.c (main): Use it.
43945         * modules/getopt-posix-tests (Depends-on): Add setenv.
43946         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
43947
43948         getopt: fix compilation on darwin
43949         * lib/getopt.in.h (includes): Leave breadcrumbs during system
43950         include.
43951         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
43952         Reported by Ludovic Courtès.
43953
43954 2009-10-06  Bruno Haible  <bruno@clisp.org>
43955
43956         * modules/size_max (Description): Discourage its use.
43957         Reported by Simon Josefsson.
43958
43959 2009-10-06  Jim Meyering  <meyering@redhat.com>
43960
43961         linkat: avoid compilation failure
43962         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
43963
43964 2009-10-05  Eric Blake  <ebb9@byu.net>
43965
43966         linkat: support Linux 2.6.17
43967         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
43968         linkat on Linux, but allow cache variable override.
43969         * lib/linkat.c (rpl_linkat): Define override.
43970         * modules/linkat (Depends-on): Add symlinkat.
43971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
43972         * modules/unistd (Makefile.am): Substitute it.
43973         * lib/unistd.in.h (linkat): Declare replacement.
43974         Reported by Pádraig Brady.
43975
43976         quotearg: port test to systems with C.UTF-8 locale
43977         * tests/test-quotearg.c (struct result_strings): Add another
43978         member, differentiating between C.ASCII and C.UTF-8 handling.
43979         (compare_strings): Add parameter.
43980         (main): Adjust all callers.
43981
43982         getopt: avoid clash with FreeBSD _getopt_internal
43983         * lib/getopt.in.h (_getopt_internal): Override the name.
43984         * lib/getopt_int.h (includes): Pick up any overrides.
43985         Reported by Reuben Thomas.
43986
43987         hash: allow C89 compilation
43988         * lib/hash.c (check_tuning): Move declaration before statement.
43989         Reported by Reuben Thomas.
43990
43991 2009-10-05  Karl Berry  <karl@gnu.org>
43992
43993         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
43994
43995 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
43996             Bruno Haible  <bruno@clisp.org>
43997
43998         * lib/uname.c (uname): Use a table-driven algorithm to compute
43999         Windows NT versions.
44000
44001 2009-10-04  Bruno Haible  <bruno@clisp.org>
44002
44003         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44004         program_invocation_short_name.
44005         * modules/progname (configure.ac): Test for presence of
44006         program_invocation_short_name.
44007         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44008
44009 2009-10-04  Bruno Haible  <bruno@clisp.org>
44010
44011         * lib/progname.c (set_program_name): Fix comment.
44012         Reported by Jim Meyering.
44013
44014 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44015             Bruno Haible  <bruno@clisp.org>
44016
44017         * lib/uname.c: Include <string.h>.
44018         (uname): Do only one call to GetVersionEx in the common case.
44019
44020 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44021             Bruno Haible  <bruno@clisp.org>
44022
44023         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44024         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44025         (uname): Add support for Windows CE and various non-x86 CPU types.
44026
44027 2009-10-03  Bruno Haible  <bruno@clisp.org>
44028
44029         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44030         invocation to tests/configure.ac.
44031         Reported by Ian Beckwith <ianb@erislabs.net>.
44032
44033 2009-10-02  Eric Blake  <ebb9@byu.net>
44034
44035         fchdir: avoid compiler warning
44036         * lib/fchdir.c (canonicalize_file_name)
44037         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44038
44039         test-open: support mingw errno values
44040         * tests/test-open.h (test_open): Relax test.
44041         * tests/test-fopen.h (test_fopen): Likewise.
44042         * tests/test-openat-safer.c (main): Likewise.
44043
44044         open: fix opening directory on mingw
44045         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44046
44047         test-open: on GNU/Hurd, /dev/null is a directory
44048         * tests/test-fopen.h (main): Rename...
44049         (test_fopen): ...to this.  Use a guaranteed non-directory when
44050         confirming open behavior on trailing slash.
44051         * tests/test-openat-safer.c (main): Likewise.
44052         * tests/test-open.h (main): Likewise....
44053         (test_open): ...to this.
44054         * tests/test-fopen.c (main): Adjust caller.
44055         * tests/test-fopen-safer.c (main): Likewise.
44056         * tests/test-open.c (main): Likewise.
44057         * tests/test-fcntl-safer.c (main): Likewise.
44058         Reported by Samuel Thibault.
44059
44060         rename, fchdir: don't ignore chdir failure
44061         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44062         * lib/rename.c (rpl_rename) [W32]: Likewise.
44063         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44064         an empty destination directory if source cannot be renamed,
44065         although there is still possibility for failure.
44066         * doc/posix-functions/rename.texi (rename): Document the race.
44067         Reported by Jim Meyering.
44068
44069         maint: cleanup whitespace in recent commits
44070         * lib/rename.c (rpl_rename): Remove tabs.
44071         * tests/test-link.h (test_link): Likewise.
44072         * lib/fchdir.c (get_name): Likewise.
44073         Reported by Jim Meyering.
44074
44075 2009-10-02  Ben Pfaff  <blp@gnu.org>
44076
44077         relocatable-prog-wrapper: Add missing dependency on
44078         double-slash-root.
44079         * modules/relocatable-prog-wrapper: Add dependency.
44080         Reported by Ian Beckwith <ianb@erislabs.net>.
44081
44082 2009-10-02  Eric Blake  <ebb9@byu.net>
44083
44084         renameat: fix Solaris bugs
44085         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44086         needed fixing.
44087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44088         * modules/stdio (Makefile.am): Substitute it.
44089         * lib/stdio.in.h (renameat): Declare replacement.
44090         * lib/renameat.c (rpl_renameat): Implement fix.
44091
44092         renameat: new module
44093         * modules/renameat: New file.
44094         * lib/renameat.c (renameat): Likewise.
44095         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44096         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44097         * modules/stdio (Makefile.am): Substitute them.
44098         * lib/stdio.in.h (renameat): Declare it.
44099         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44100         * doc/posix-functions/renameat.texi (renameat): Likewise.
44101         * modules/renameat-tests: New test.
44102         * tests/test-renameat.c: Likewise.
44103
44104         rename: fix mingw bugs
44105         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44106         directory overwrite bugs.
44107
44108         rename: fix another cygwin 1.5 bug
44109         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44110         checks.
44111         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44112         unnecessary cygwin workarounds.  Also work around bug with moving
44113         full directory onto an empty one.
44114         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44115
44116         rename-dest-slash: merge into rename module
44117         * modules/rename-dest-slash (Status): Mark obsolete.
44118         (Depends-on): Add rename.
44119         (Files): Let rename do it all.
44120         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44121         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44122         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44123         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44124         * lib/rename.c (rpl_rename): Update comments.
44125
44126         rename: fix cygwin 1.5.x bugs
44127         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44128         * lib/rename.c (rpl_rename): Work around them.
44129         * modules/rename (Depends-on): Add same-inode.
44130
44131         rename: fix Solaris 10 bug
44132         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44133         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44134         was the only bug.
44135
44136         rename: fix Solaris 9 bug
44137         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44138         on non-directory.  Avoid calling exit.
44139         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44140         strdup.
44141         * modules/rename-tests (Depends-on): Drop lstat.
44142         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44143         (gl_PREREQ_RENAME): Delete unused macro.
44144
44145         rename-dest-slash: fix NetBSD bug
44146         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44147         links.
44148         * modules/rename-dest-slash (Depends-on): Add same-inode.
44149
44150         rename-tests: new test, exposes several platform bugs
44151         * modules/rename-tests: New file.
44152         * tests/test-rename.h: Likewise.
44153         * tests/test-rename.c: Likewise.
44154         * doc/posix-functions/rename.texi (rename): Improve documentation,
44155         including bugs that will eventually be fixed in gnulib.
44156
44157 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44158
44159         * lib/uname.c: Include <stdlib.h>
44160         (uname): Assume version info is available.
44161
44162 2009-10-02  Jim Meyering  <meyering@redhat.com>
44163
44164         gnu-web-doc-update: correct --help output
44165         * build-aux/gnu-web-doc-update: Make --help output relevant.
44166
44167         gnu-web-doc-update: add standard options
44168         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44169
44170         gnu-web-doc-update: New module.
44171         Use this script to automatically update the on-line web documentation
44172         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44173         * modules/gnu-web-doc-update: New file, from coreutils.
44174         * build-aux/gnu-web-doc-update: New script.
44175
44176 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44177
44178         link: LoadLibrary is not needed.
44179         * lib/link.c: Use GetModuleHandle.
44180
44181 2009-10-01  Eric Blake  <ebb9@byu.net>
44182
44183         getopt: bump serial number
44184         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44185         change.
44186
44187         tests: tighten link, rmdir, and remove tests
44188         * tests/test-link.h (includes): No need to use <config.h> here.
44189         Clean up if directory hard link was created, otherwise test for
44190         trailing '.'.
44191         * tests/test-linkat.c (main): Simplify.
44192         * tests/test-remove.c (main): Enhance test for trailing '.'.
44193         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44194
44195 2009-10-01  Jim Meyering  <meyering@redhat.com>
44196
44197         maint.mk: requiring "make major" was annoying, for a "minor" release.
44198         What is intended is "stable", to contrast with alpha and beta,
44199         so require "make stable", not "make major".
44200         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44201         (get_tool_versions): Likewise.
44202         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44203
44204 2009-09-30  Ben Pfaff  <blp@gnu.org>
44205
44206         Fix broken build of replacement for Windows tmpfile().
44207         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44208         flags argument added along with the 'mkostemp' module.
44209
44210 2009-09-28  Bruno Haible  <bruno@clisp.org>
44211
44212         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44213         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44214         to 'remove_elt'.
44215         (gl_list_remove): Update.
44216         * lib/gl_list.c (gl_list_remove): Update.
44217         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44218         to 'remove_elt'.
44219         (gl_oset_remove): Update.
44220         * lib/gl_list.c (gl_oset_remove): Update.
44221         Reported by Eric Blake.
44222
44223 2009-09-28  Eric Blake  <ebb9@byu.net>
44224
44225         doc: mention yet more cygwin 1.7 status
44226         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44227         cygwin.
44228         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44229         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44230
44231         argp: fix test failure
44232         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44233         that are not upper-case.  Pass correct range to tolower.
44234
44235 2009-09-27  Jim Meyering  <meyering@redhat.com>
44236
44237         test-yesno: work around sparc-dash here-document infelicity
44238         Without this change, the literal \177 byte in a here document
44239         would make dash 0.5.5.1-3 access uninitialized memory.
44240         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44241         Instead, use a marker, "@", and filter through tr to create the desired
44242         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44243
44244 2009-09-27  Bruno Haible  <bruno@clisp.org>
44245
44246         Disable untested support for new flavours of ACLs on AIX.
44247         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44248         progress.
44249         * lib/set-mode-acl.c (qset_acl): Likewise.
44250
44251 2008-12-07  Bruno Haible  <bruno@clisp.org>
44252
44253         Add support for new flavours of ACLs on AIX. (Untested.)
44254         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44255         (file_has_acl): Add support for newer AIX.
44256         * lib/set-mode-acl.c (qset_acl): Likewise.
44257         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44258         Rainer Tammer <tammer@tammer.net>.
44259
44260 2009-09-26  Eric Blake  <ebb9@byu.net>
44261
44262         argp: fix compilation of getopt
44263         * lib/getopt.in.h (includes): Use different guard than glibc.
44264         Reported by Sergey Poznyakoff.
44265
44266         doc: mention more cygwin 1.7 status
44267         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44268         bug.
44269         * doc/posix-functions/execl.texi (execl): Likewise.
44270         * doc/posix-functions/execle.texi (execle): Likewise.
44271         * doc/posix-functions/execlp.texi (execlp): Likewise.
44272         * doc/posix-functions/execv.texi (execv): Likewise.
44273         * doc/posix-functions/execve.texi (execve): Likewise.
44274         * doc/posix-functions/execvp.texi (execvp): Likewise.
44275         * doc/glibc-functions/canonicalize_file_name.texi
44276         (canonicalize_file_name): Cygwin 1.7 now provides this.
44277         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44278         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44279         on AT_SYMLINK_NOFOLLOW.
44280
44281 2009-09-24  Eric Blake  <ebb9@byu.net>
44282
44283         test-linkat: make test more robust
44284         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44285
44286         getopt: fix inclusion guards for cygwin
44287         * modules/getopt-posix (Depends-on): Add include-next.
44288         (Makefile.am): Substitute more items in replacement header.
44289         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44290         <getopt.h>.
44291         * lib/getopt.in.h (includes): Use split inclusion guard, and
44292         prefer <getopt.h> over include <unistd.h> when one is present.
44293         (option): Also override name of 'struct option'.
44294
44295         same-inode: revert prior change; it is not yet ready
44296         * NEWS: Undo mention of this change.
44297         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44298         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44299         * lib/cycle-check.c (cycle_check): Likewise.
44300         * lib/same.c (same_name): Likewise.
44301         * lib/at-func2.c (at_func2): Likewise.
44302
44303 2009-09-23  Eric Blake  <ebb9@byu.net>
44304
44305         linkat: new module
44306         * modules/linkat: New file.
44307         * lib/at-func2.c (at_func2): Likewise.
44308         * lib/linkat.c (linkat): Likewise.
44309         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44310         * lib/openat-priv.h (at_func2): Add declaration.
44311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44312         * modules/unistd (Makefile.am): Substitute them.
44313         * lib/unistd.in.h (linkat): Declare it.
44314         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44315         * doc/posix-functions/linkat.texi (linkat): Likewise.
44316         * doc/posix-functions/link.texi (link): Tweak wording.
44317         * tests/test-link.c (main): Move guts...
44318         * tests/test-link.h (test_link): ...into new file.
44319         * modules/linkat-tests: New test.
44320         * tests/test-linkat.c: Likewise.
44321         * modules/link-tests (Files): Ship new file.
44322         (Depends-on): Add stdbool.
44323
44324         dirname: add library-safe mdir_name
44325         * lib/dirname.h (mdir_name): New prototype.
44326         * lib/dirname.c (dir_name): Move guts...
44327         (mdir_name): ...to new function that avoids xalloc_die.
44328
44329         fchdir: another mingw fix
44330         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44331         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44332         on mingw (where it has not yet been ported), and make it optional
44333         elsewhere.
44334         (_gl_register_fd): Use it.
44335
44336         same-inode: make SAME_INODE tri-state, to port to mingw
44337         * NEWS: Mention this change.
44338         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44339         st_ino always being 0.
44340         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44341         * lib/cycle-check.c (cycle_check): Likewise.
44342         * lib/same.c (same_name): Likewise.
44343
44344         lstat: avoid mingw compilation error
44345         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44346         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44347         lstat ourselves.
44348         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44349         was adequate.
44350         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44351         the checks for lstat.
44352         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44353
44354         link: fix test failure on Solaris 9
44355         * lib/link.c (rpl_link): Don't assume link will catch bogus
44356         trailing slash on source.
44357
44358         test-symlinkat: enhance test
44359         * tests/test-readlink.c (main): Move guts...
44360         * tests/test-readlink.h (test_readlink): ...into new file.
44361         * tests/test-symlink.c (main): Move guts...
44362         * tests/test-symlink.h (test_symlink): ...into new file.
44363         * tests/test-symlinkat.c (main): Use new files for further
44364         coverage.
44365         (do_symlink, do_readlink): New helper functions.
44366         * modules/symlink-tests (Files): Ship new file.
44367         (Depends-on): Add stdbool.
44368         * modules/readlink-tests (Files): Ship new file.
44369         (Depends-on): Add stdbool.
44370         * modules/symlinkat-tests (Files): Use new files.
44371
44372 2009-09-23  Eric Blake  <ebb9@byu.net>
44373
44374         readlink: document portability issue with symlink length
44375         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44376         systems have bogus st_size on symlinks, and mention the
44377         areadlink-with-size module.
44378         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44379         * doc/posix-functions/readlink.texi (readlink): Mention the
44380         areadlink module, and ERANGE failure.
44381         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44382         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44383
44384         readlink: fix Solaris 9 bug with trailing slash
44385         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44386         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44387         * doc/posix-functions/readlink.texi (readlink): Document this.
44388         * modules/readlink-tests: New test.
44389         * tests/test-readlink.c: Likewise.
44390
44391         readlink: fix cygwin 1.5.x bug with return type
44392         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44393         * lib/unistd.in.h (readlink): Use ssize_t.
44394         * lib/readlink.c (readlink): Likewise.
44395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44396         * modules/unistd (Makefile.am): Substitute it.
44397         * lib/unistd.in.h (readlink): Declare replacement.
44398         * doc/posix-functions/readlink.texi (readlink): Document this.
44399
44400         symlink: use throughout gnulib
44401         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44402         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44403         symlink is not used.
44404         * modules/symlinkat (Depends-on): Add symlink.
44405         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44406         * modules/canonicalize-tests (Depends-on): Likewise.
44407         * modules/lstat-tests (Depends-on): Likewise.
44408         * modules/openat-tests (Depends-on): Likewise.
44409         * modules/remove-tests (Depends-on): Likewise.
44410         * modules/rmdir-tests (Depends-on): Likewise.
44411         * modules/unlink-tests (Depends-on): Likewise.
44412         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44413         * tests/test-canonicalize.c (symlink): Likewise.
44414         * tests/test-fstatat.c (symlink): Likewise.
44415         * tests/test-lstat.c (symlink): Likewise.
44416         * tests/test-remove.c (symlink): Likewise.
44417         * tests/test-rmdir.c (symlink): Likewise.
44418         * tests/test-unlink.c (symlink): Likewise.
44419         * tests/test-unlinkat.c (symlink): Likewise.
44420
44421         symlink: new module, for Solaris 9 bug
44422         * modules/symlink: New file.
44423         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44424         * lib/symlink.c: Likewise.
44425         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44426         * modules/unistd (Makefile.am): Substitute them.
44427         * lib/unistd.in.h (symlink): Declare replacement.
44428         * MODULES.html.sh (File system functions): Mention it.
44429         * doc/posix-functions/symlink.texi (symlink): Likewise.
44430         * modules/symlink-tests: New test.
44431         * tests/test-symlink.c: Likewise.
44432
44433 2009-09-23  Bruno Haible  <bruno@clisp.org>
44434
44435         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44436         when needed.
44437         Test case: gnulib-tool --import --with-tests atexit inttypes.
44438         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44439
44440 2009-09-23  Bruno Haible  <bruno@clisp.org>
44441
44442         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44443         subcommand, not in a subshell.
44444
44445 2009-09-22  Eric Blake  <ebb9@byu.net>
44446
44447         unistd: sort replacement declarations
44448         * lib/unistd.in.h: Sort declarations.
44449
44450         open, openat: minor optimization
44451         * lib/open.c (open): If open succeeded, len is non-zero.
44452         * lib/openat.c (rpl_openat): Likewise.
44453
44454         link-follow: ensure correct result
44455         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44456         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44457         distinguish between possible failures.
44458
44459 2009-09-21  Eric Blake  <ebb9@byu.net>
44460
44461         fts: avoid compiler warning
44462         * lib/fts.c (dirent_inode_sort_may_be_useful)
44463         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44464
44465 2009-09-19  Bruno Haible  <bruno@clisp.org>
44466
44467         * lib/progreloc.c (canonicalize_file_name): New declaration.
44468
44469 2009-09-19  Eric Blake  <ebb9@byu.net>
44470
44471         link: fix quoting
44472         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44473
44474         openat: fix openat bugs on Solaris 9
44475         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44476         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44477         * modules/openat (Depends-on): Add open.
44478         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44479         * modules/fcntl-h (Makefile.am): Substitute it.
44480         * lib/fcntl.in.h (openat): Declare replacement.
44481         * doc/posix-functions/openat.texi (openat): Document this.
44482
44483         openat: move fstatat and unlinkat into correct files
44484         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44485         compiled.
44486         * lib/openat.c (fstatat, unlinkat): Move...
44487         * lib/fstatat.c (fstatat): ...into correct files.
44488         * lib/unlinkat.c (unlinkat): Likewise.
44489
44490         openat: fix unlinkat bugs on Solaris 9
44491         * lib/unlinkat.c (unlinkat): New file.
44492         * modules/openat (Depends-on): Add unlink.
44493         (Files): Distribute it.
44494         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44495         trailing slash behavior is broken.
44496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44497         * modules/unistd (Makefile.am): Substitute it.
44498         * lib/unistd.in.h (unlinkat): Declare replacement.
44499         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44500
44501         openat: fix fstatat bugs on Solaris 9
44502         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44503         stat.
44504         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44505
44506         test-unlinkat: enhance test, to expose Solaris 9 bug
44507         * tests/test-unlink.c (main): Factor guts...
44508         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44509         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44510         * tests/test-rmdir.c (main): Adjust caller.
44511         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44512         (unlinker): New helper function.
44513         (rmdirat): Enhance check.
44514         * modules/rmdir-tests (Depends-on): Add stdbool.
44515         * modules/unlink-tests (Depends-on): Likewise.
44516         (Files): Add test-unlink.h.
44517         * modules/openat-tests (Files): Likewise.
44518         (Depends-on): Add unlinkdir.
44519
44520         test-fstatat: new test, to expose Solaris 9 bugs
44521         * tests/test-stat.c (main): Factor guts...
44522         * tests/test-stat.h (test_stat_func): ...into new file.
44523         * tests/test-lstat.c (main): Factor guts...
44524         * tests/test-lstat.h (test_lstat_func): ...into new file.
44525         * tests/test-fstatat.c: New file.
44526         * modules/stat-tests (Files): Add test-stat.h.
44527         * modules/lstat-tests (Files): Add test-lstat.h.
44528         (Depends-on): Add stdbool.
44529         * modules/openat-tests (Depends-on): Add pathmax.
44530         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44531         (Makefile.am): Run new test.
44532
44533         remove: new module, for mingw and Solaris 9 bugs
44534         * modules/remove: New file.
44535         * lib/remove.c: Likewise.
44536         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44537         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44538         * modules/stdio (Makefile.am): Use them.
44539         * lib/stdio.in.h (remove): Declare replacement.
44540         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44541         * doc/posix-functions/remove.texi (remove): Likewise.
44542         * modules/remove-tests: New test.
44543         * tests/test-remove.c: Likewise.
44544
44545         unlink: new module, for Solaris 9 bug
44546         * modules/unlink: New file.
44547         * lib/unlink.c: Likewise.
44548         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44550         * modules/unistd (Makefile.am): Use them.
44551         * lib/unistd.in.h (stat): Declare replacement.
44552         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44553         * doc/posix-functions/unlink.texi (unlink): Likewise.
44554         * modules/unlink-tests: New test.
44555         * tests/test-unlink.c: Likewise.
44556
44557         lstat: fix Solaris 9 bug
44558         * lib/lstat.c (lstat): Also check for trailing slash on
44559         non-symlink, non-directories.  Use stat module to simplify logic.
44560         * doc/posix-functions/lstat.texi (lstat): Document it.
44561         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44562         (configure.ac): Check for symlink.
44563         * tests/test-lstat.c (main): Add more tests.
44564
44565         stat: add as dependency to other modules
44566         * modules/chown (Depends-on): Add stat.
44567         * modules/euidaccess (Depends-on): Likewise.
44568         * modules/fchdir (Depends-on): Likewise.
44569         * modules/isdir (Depends-on): Likewise.
44570         * modules/link (Depends-on): Likewise.
44571         * modules/lstat (Depends-on): Likewise.
44572         * modules/mkdir-p (Depends-on): Likewise.
44573         * modules/modechange (Depends-on): Likewise.
44574         * modules/open (Depends-on): Likewise.
44575         * modules/readlink (Depends-on): Likewise.
44576         * modules/same (Depends-on): Likewise.
44577
44578         stat: fix Solaris 9 bug
44579         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44580         slash.
44581         * lib/stat.c (rpl_stat): Work around it.
44582         * doc/posix-functions/stat.texi (stat): Update documentation.
44583
44584         stat: new module, for mingw bug
44585         * modules/stat: New file.
44586         * lib/stat.c: Likewise.
44587         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44588         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44589         * modules/sys_stat (Makefile.am): Use them.
44590         * lib/sys_stat.in.h (stat): Declare replacement.
44591         * lib/openat.c (fstatat): Deal with lstat and stat being function
44592         macros.
44593         * modules/openat (Depends-on): Add inline.
44594         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44595         * doc/posix-functions/stat.texi (stat): Likewise.
44596         * modules/stat-tests: New test.
44597         * tests/test-stat.c: Likewise.
44598
44599 2009-09-19  Jim Meyering  <meyering@redhat.com>
44600
44601         syntax-check: detect unnecessary inclusion of canonicalize.h
44602         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44603
44604 2009-09-19  Eric Blake  <ebb9@byu.net>
44605
44606         canonicalize-lgpl: adjust clients to use correct header
44607         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44608         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44609         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44610         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44611         * lib/progreloc.c (includes): Likewise.
44612
44613 2009-09-19  Jim Meyering  <meyering@redhat.com>
44614
44615         test-posixtm.c: correct a comment
44616         * tests/test-posixtm.c: Correct first-line comment.
44617         Spotted by Eric Blake.
44618
44619 2009-09-16  Jim Meyering  <meyering@redhat.com>
44620
44621         posixtm-tests: make T const-correct; add a test case
44622         * tests/test-posixtm.c (T): Declare const.
44623         Add a test for -(2^31+1).
44624         Remove useless can-succeed-only-in-2002 test.
44625
44626         posixtm-tests: adjust the sole failing test
44627         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44628         expected output matches what mktime now produces.  Cross-checked via
44629         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44630
44631         posixtm: move #ifdef'd tests into a new module
44632         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44633         * tests/test-posixtm.c: ... this new file.
44634         * modules/posixtm-tests: New module.
44635
44636 2009-09-19  Eric Blake  <ebb9@byu.net>
44637
44638         openat: simplify use of at-func.c
44639         * lib/at-func.c (includes): Include prerequisites here, to
44640         simplify requirements on client files.
44641         * lib/openat-priv.h: Add double-inclusion guard.
44642         * lib/faccessat.c (includes): Simplify.
44643         * lib/fchmodat.c (includes): Likewise.
44644         * lib/fchownat.c (includes): Likewise.
44645         * lib/mkdirat.c (includes): Likewise.
44646         * lib/mkfifoat.c (includes): Likewise.
44647         * lib/symlinkat.c (includes): Likewise.
44648
44649         openat: allow return of fd 0
44650         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44651         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44652         unistd-safer.
44653         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44654         <fcntl.h>; this module does not leak fds.
44655         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44656         must be allowed to return 0, leaving openat_safer to add the
44657         safety.
44658         (openat_permissive): Avoid writing to just-opened fd 2 if
44659         restoring the current directory fails.
44660         * lib/openat-die.c (openat_restore_fail): Add comment.
44661         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44662         (save_cwd): Guarantee safe fd, but without use of open_safer.
44663         * tests/test-openat.c: New test.
44664         * modules/openat-tests (Files, Makefile.am): Distribute and build
44665         new file.
44666
44667         relocatable-prog-wrapper: fix build
44668         * modules/relocatable-prog-wrapper (Files): Update name of
44669         canonicalize m4 file, broken on 2009-09-17.
44670         Reported by emad hajjar <aleppos@hotmail.com>.
44671
44672 2009-09-19  Bruno Haible  <bruno@clisp.org>
44673
44674         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44675         * lib/safe-alloc.c: Likewise.
44676         Reported by Ian Beckwith <ianb@erislabs.net>.
44677
44678 2009-09-18  Bruno Haible  <bruno@clisp.org>
44679
44680         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44681         Reported by <erobles@sensacd.com.mx>.
44682
44683 2009-09-17  Eric Blake  <ebb9@byu.net>
44684
44685         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44686         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44687         slashes when checking if last component is missing.
44688         * tests/test-canonicalize.c (main): Test this.
44689
44690         canonicalize, canonicalize-lgpl: honor // if distinct from /
44691         * modules/canonicalize (Files): Add double-slash-root.m4.
44692         * modules/canonicalize-lgpl (Files): Likewise.
44693         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44694         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44695         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44696         fallback definition.
44697         (canonicalize_filename_mode): Use it to protect //.
44698         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44699         (__realpath): Likewise.
44700         * tests/test-canonicalize.c (main): Test this.
44701         * tests/test-canonicalize-lgpl.c (main): Likewise.
44702         * modules/canonicalize-tests (Depends-on): Add same-inode.
44703         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44704
44705         canonicalize-lgpl: fix glibc bug with trailing slash
44706         * m4/canonicalize-lgpl.m4: Move contents...
44707         * m4/canonicalize.m4: ...here.
44708         (gl_CANONICALIZE_LGPL): Factor realpath check...
44709         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
44710         glibc 2.3.5 bug, fixed 2005-04-27.
44711         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
44712         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
44713         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
44714         * modules/canonicalize-lgpl (Files): Manage file rename.
44715         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44716         * modules/stdlib (Makefile.am): Substitute witness.
44717         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
44718         is needed.
44719         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
44720         replacement is required.
44721         * lib/canonicalize.c (canonicalize_file_name): Likewise.
44722         * doc/glibc-functions/canonicalize_file_name.texi
44723         (canonicalize_file_name): Document this.
44724         * doc/posix-functions/realpath.texi (realpath): Likewise.
44725
44726         canonicalize-lgpl: reject non-directory with trailing slash
44727         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
44728         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
44729         catches failures in glibc 2.3.5.
44730         * tests/test-canonicalize.c (main): Likewise.
44731
44732         canonicalize-lgpl: use native realpath if it works
44733         * lib/canonicalize-lgpl.c (realpath): Guard with
44734         FUNC_REALPATH_WORKS.
44735         * lib/stdlib.in.h (realpath): Make declaration optional based on
44736         HAVE_REALPATH.
44737         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
44738         native realpath works.
44739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44740         * modules/stdlib (Makefile.am): Substitute witness.
44741
44742         canonicalize, canonicalize-lgpl: use <stdlib.h>
44743         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
44744         (Include): Mention <stdlib.h>.
44745         (configure.ac): Mention functions we provide.
44746         * modules/canonicalize (configure.ac): Likewise.
44747         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
44748         realpath if canonicalize_file_name is missing.
44749         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
44750         * modules/stdlib (Makefile.am): Substitute witnesses.
44751         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
44752         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
44753         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
44754         * NEWS: Document this.
44755         * doc/glibc-functions/canonicalize_file_name.texi
44756         (canonicalize_file_name): Likewise.
44757         * doc/posix-functions/realpath.texi (realpath): Likewise.
44758         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
44759
44760         test-canonicalize: consolidate into single C program
44761         * tests/test-canonicalize.sh: Delete; move setup into...
44762         * tests/test-canonicalize.c (main): ...the program, making it
44763         easier to run in debugger.  Add some tests.
44764         * modules/canonicalize-tests (Files): Remove unused file.
44765         (Depends-on): Add progname.
44766         (configure.ac, Makefile.am): Simplify.
44767
44768         test-canonicalize-lgpl: consolidate into single C program
44769         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
44770         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
44771         easier to run in debugger.  Add some tests.
44772         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
44773         (configure.ac, Makefile.am): Simplify.
44774
44775         canonicalize: avoid resolvepath
44776         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
44777         unnecessary checks.
44778         * lib/canonicalize.c (includes): Simplify.
44779         (canonicalize_file_name): Drop resolvepath implementation.
44780         * modules/canonicalize (Depends-on): Drop filenamecat.
44781
44782         canonicalize: don't lose errno
44783         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
44784         over calls to free.
44785
44786         canonicalize: simplify errno handling
44787         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
44788         assignment.
44789
44790         canonicalize, canonicalize-lgpl: update module dependencies
44791         * modules/canonicalize (Depends-on): Add extensions, lstat,
44792         pathmax, stdlib.
44793         (Files): Drop pathmax.h.
44794         (configure.ac): Adjust macro name.
44795         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
44796         lstat, stdlib, sys_stat.
44797         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
44798         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
44799         extensions.
44800         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
44801         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
44802         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
44803         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
44804         declaration, if available.
44805         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
44806         we can rely on the readlink module.
44807         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
44808         (includes): Use <unistd.h> unconditionally.
44809
44810 2009-09-17  Eric Blake  <ebb9@byu.net>
44811
44812         maint: make Include sections of modules consistent
44813         * modules/alloca: Use only header name; no need to list #include.
44814         * modules/alloca-opt: Likewise.
44815         * modules/arpa_inet: Likewise.
44816         * modules/canon-host: Likewise.
44817         * modules/configmake: Likewise.
44818         * modules/dirent: Likewise.
44819         * modules/eealloc: Likewise.
44820         * modules/environ: Likewise.
44821         * modules/fchdir: Likewise.
44822         * modules/fcntl: Likewise.
44823         * modules/fcntl-h: Likewise.
44824         * modules/gethrxtime: Likewise.
44825         * modules/gettime: Likewise.
44826         * modules/ignore-value: Likewise.
44827         * modules/inet_ntop: Likewise.
44828         * modules/inet_pton: Likewise.
44829         * modules/inttypes: Likewise.
44830         * modules/isnand-nolibm: Likewise.
44831         * modules/isnanf-nolibm: Likewise.
44832         * modules/mbchar: Likewise.
44833         * modules/mbfile: Likewise.
44834         * modules/mbiter: Likewise.
44835         * modules/mbuiter: Likewise.
44836         * modules/netdb: Likewise.
44837         * modules/netinet_in: Likewise.
44838         * modules/nproc: Likewise.
44839         * modules/pagealign_alloc: Likewise.
44840         * modules/poll: Likewise.
44841         * modules/printf-frexp: Likewise.
44842         * modules/pthread: Likewise.
44843         * modules/putenv: Likewise.
44844         * modules/random_r: Likewise.
44845         * modules/relocatable-prog: Likewise.
44846         * modules/search: Likewise.
44847         * modules/select: Likewise.
44848         * modules/selinux-h: Likewise.
44849         * modules/settime: Likewise.
44850         * modules/signal: Likewise.
44851         * modules/size_max: Likewise.
44852         * modules/socklen: Likewise.
44853         * modules/ssize_t: Likewise.
44854         * modules/stdarg: Likewise.
44855         * modules/stdbool: Likewise.
44856         * modules/stddef: Likewise.
44857         * modules/stdint: Likewise.
44858         * modules/stdio: Likewise.
44859         * modules/stdlib: Likewise.
44860         * modules/string: Likewise.
44861         * modules/strings: Likewise.
44862         * modules/sys_file: Likewise.
44863         * modules/sys_ioctl: Likewise.
44864         * modules/sys_select: Likewise.
44865         * modules/sys_socket: Likewise.
44866         * modules/sys_stat: Likewise.
44867         * modules/sys_time: Likewise.
44868         * modules/sys_times: Likewise.
44869         * modules/sys_utsname: Likewise.
44870         * modules/sys_wait: Likewise.
44871         * modules/sysexits: Likewise.
44872         * modules/time: Likewise.
44873         * modules/times: Likewise.
44874         * modules/tmpfile: Likewise.
44875         * modules/trim: Likewise.
44876         * modules/unistd: Likewise.
44877         * modules/wchar: Likewise.
44878         * modules/wctype: Likewise.
44879
44880 2009-09-17  Bruno Haible  <bruno@clisp.org>
44881
44882         Make getdate.y compile on QNX and NetBSD 5 / i386.
44883         * m4/getdate.m4 (gl_GETDATE): Conditionally define
44884         TIME_T_FITS_IN_LONG_INT.
44885         * lib/getdate.y (long_time_t): New type.
44886         (relative_time): Change type of 'seconds' field to long_time_t.
44887         (get_date): Update types of local variables. Check against overflow
44888         during conversion from long_time_t to time_t.
44889         Reported by Matt Kraai <kraai@ftbfs.org>
44890         and Hasso Tepper <hasso@netbsd.org>.
44891
44892 2009-09-17  Bruno Haible  <bruno@clisp.org>
44893
44894         * modules/COPYING: Update copyright years.
44895         * modules/README: Likeiwse.
44896         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
44897         Reported by Ian Beckwith <ianb@erislabs.net>.
44898
44899 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44900
44901         * users.txt: Update references for gnuit package.
44902
44903 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44904
44905         * m4/getdelim.m4: Fix typo in copyright line.
44906
44907 2009-09-17  Bruno Haible  <bruno@clisp.org>
44908
44909         * lib/atoll.c: Use the standard header with GPL copyright.
44910         * lib/argz.in.h: Likewise.
44911         * lib/glob.c: Likewise.
44912         * lib/glob-libc.h: Likewise.
44913         * lib/random_r.c: Likewise.
44914         * lib/siglist.h: Likewise.
44915         * lib/strsignal.c: Likewise.
44916         Reported by Ian Beckwith <ianb@erislabs.net>.
44917
44918 2009-09-17  Eric Blake  <ebb9@byu.net>
44919
44920         rmdir: ensure correct dependency order
44921         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
44922
44923 2009-09-17  Bruno Haible  <bruno@clisp.org>
44924
44925         Disable assertion that fails on NetBSD 5 / i386.
44926         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
44927         Reported by Sam Steingold <sds@gnu.org>
44928         and Hasso Tepper <hasso@netbsd.org>.
44929
44930 2009-09-16  Eric Blake  <ebb9@byu.net>
44931
44932         unlinkdir: port to mingw
44933         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
44934         on which no one can unlink a directory.
44935
44936         stdlib: sort witness names
44937         * modules/stdlib (Makefile.am): Sort replacements.
44938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44939         * lib/stdlib.in.h: Likewise.
44940
44941         parse-duration-tests: avoid link failure
44942         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
44943         LIBINTL.
44944         Reported by Tom G. Christensen.
44945
44946         openat-tests: ensure unlinkat behaves like rmdir
44947         * tests/test-rmdir.c (main): Factor guts...
44948         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
44949         * modules/rmdir-tests (Files): Ship new file.
44950         * modules/openat-tests: New test.
44951         * tests/test-unlinkat.c: Likewise.
44952
44953         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
44954         * modules/rmdir-errno (Status, Notice): Now obsolete.
44955
44956         rmdir: work around cygwin 1.5.x and mingw bugs
44957         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
44958         * lib/rmdir.c (rmdir): Work around it.
44959         * modules/rmdir (Status, Notice): No longer obsolete.
44960         (Files): Add dos.m4.
44961         (Depends-on): Add unistd.
44962         (configure.ac): Set witnesses.
44963         (License): Relax to LGPLv2+.
44964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
44965         * modules/unistd (Makefile.am): Substitute witnesses.
44966         * lib/unistd.in.h (rmdir): Declare replacement.
44967         * doc/posix-functions/rmdir.texi (rmdir): Document this.
44968         * modules/rmdir-tests: New tests.
44969         * tests/test-rmdir.c: Likewise.
44970
44971 2009-09-15  Eric Blake  <ebb9@byu.net>
44972
44973         fchdir: improve use of replacement functions
44974         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
44975         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
44976         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
44977         REPLACE_CLOSEDIR.
44978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
44979         * modules/sys_stat (Makefile.am): Substitute correct witness.
44980         * modules/dirent (Makefile.am): Likewise.
44981         * modules/unistd (Makefile.am): Likewise.
44982         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
44983         * lib/unistd.in.h (dup): Likewise.
44984         * lib/sys_stat.in.h (fstat): Likewise.
44985
44986         maint: ignore gnulib-tool temp files
44987         * .gitignore: Ignore files created during gnulib-tool --test.
44988
44989 2009-09-13  Jim Meyering  <meyering@redhat.com>
44990
44991         posixtm: don't reject a time that specify "60" as the number of seconds
44992         * lib/posixtm.c (posixtime): The code to reject invalid dates
44993         would also reject a time specified with the .60 suffix.
44994         But POSIX allows that, in order to accommodate leap seconds.
44995         So don't reject it.
44996         (main): Adjust tests accordingly.
44997         * modules/posixtm (Depends-on): Add stpcpy.
44998
44999 2009-09-11  Jim Meyering  <meyering@redhat.com>
45000
45001         announce-gen: include [$release_type] in emitted Subject:
45002         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45003         e.g., [stable] in the emitted Subject: line.
45004
45005 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45006
45007         Remove obsolete macros from several modules.
45008         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45009         obsolete Autoconf macros with their modern counterparts.
45010         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45011         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45013         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45014         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45015         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45016         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45017         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45018         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45019         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45020         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45021         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45022         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45023         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45024         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45025         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45026         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45027         * m4/time_r.m4 (gl_TIME_R): Likewise.
45028         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45029         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45030         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45031
45032         Fix copyright header in build-aux scripts.
45033         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45034         recommendation.
45035         * build-aux/ncftpput-ftp: Likewise.
45036         * build-aux/update-copyright: Likewise.
45037
45038 2009-09-09  Eric Blake  <ebb9@byu.net>
45039
45040         test-link: allow Linux choice of errno
45041         * tests/test-link.c (main): Relax test for alternate error.
45042
45043         strndup: fix improper m4 caching
45044         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45045         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45046         (gl_PREREQ_STRNDUP): Delete.
45047         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45048         * modules/string (Makefile.am): Substitute it.
45049         * lib/string.in.h (strndup): Modernize prototype.
45050
45051         getcwd: port to mingw
45052         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45053         different from the POSIX assumptions made throughout the getcwd
45054         module; fortunately, the mingw getcwd does not need replacement.
45055         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45056         * modules/getcwd-tests: New test.
45057         * tests/test-getcwd.c: Likewise.
45058
45059         link: fix platform bugs
45060         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45061         * lib/link.c (link): Work around them.  Fix related mingw bug.
45062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45063         * modules/unistd (Makefile.am): Substitute it.
45064         * lib/unistd.in.h (link): Declare replacement.
45065         * doc/posix-functions/link.texi (link): Document this.
45066         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45067
45068         test-link: consolidate into single C program, test more cases
45069         * tests/test-link.sh: Delete.
45070         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45071         at least Cygwin and Solaris.
45072         * modules/link-tests (Files): Remove unused file.
45073         (Depends-on): Add errno, sys_stat.
45074         (Makefile.am): Simplify.
45075
45076 2009-09-08  Bruno Haible  <bruno@clisp.org>
45077
45078         Work around towlower, towupper bug on mingw.
45079         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45080         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45081         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45082         * doc/posix-functions/towupper.texi: Likewise.
45083         Reported by Eric Blake.
45084
45085 2009-09-08  Jim Meyering  <meyering@redhat.com>
45086
45087         build: don't try to run autoheader if we don't use it
45088         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45089         is not used in configure.ac.
45090
45091 2009-09-08  Eric Blake  <ebb9@byu.net>
45092
45093         euidaccess: fix compilation error
45094         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45095
45096         rawmemchr: relax license
45097         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45098         okay.
45099         Reported by Jim Meyering.
45100
45101         mkfifoat: new module
45102         * modules/mkfifoat: New file.
45103         * lib/mkfifoat.c: Likewise.
45104         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45105         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45106         * modules/sys_stat (Makefile.am): Use them.
45107         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45108         * MODULES.html.sh (File system functions): Mention module.
45109         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45110         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45111         * modules/mkfifoat-tests: New test.
45112         * tests/test-mkfifoat.c: Likewise.
45113
45114         strchrnul: relax license
45115         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45116         okay.
45117         Reported by Jim Meyering.
45118
45119 2009-09-08  Eric Blake  <ebb9@byu.net>
45120
45121         fstatat: fix compilation on Solaris
45122         * lib/fstatat.c (includes): Add fcntl.h.
45123         Reported by Pádraig Brady.
45124
45125 2009-09-07  Eric Blake  <ebb9@byu.net>
45126
45127         rename: modernize replacement
45128         * modules/rename (Depends-on): Add stdio.
45129         (configure.ac): Declare witness.
45130         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45131         stdio take care of replacement.
45132         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45133         * modules/stdio (Makefile.am): Substitute them.
45134         * lib/stdio.in.h (rename): Declare replacement.
45135         * lib/rename.c (includes): Allow cross-compilation to non-windows
45136         machines.
45137         * doc/posix-functions/rename.texi (rename): Improve
45138         documentation.
45139
45140         stdio: sort witness names
45141         * modules/stdio (Makefile.am): Sort replacements.
45142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45143         * lib/stdio.in.h: Likewise.
45144
45145         getcwd: minor cleanups
45146         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45147         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45148
45149         openat: provide more convenience names
45150         * modules/faccessat (configure.ac): Add C witness.
45151         * lib/unistd.in.h (readlinkat): Fix typo.
45152         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45153         convenience wrappers.
45154         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45155         wrappers in syntax checks.
45156
45157 2009-09-06  Eric Blake  <ebb9@byu.net>
45158
45159         doc: fix comments in recent patches
45160         * lib/faccessat.c: Mention correct function.
45161         * lib/fchmodat.c: Likewise.
45162         * lib/fchownat.c: Likewise.
45163         * lib/symlinkat.c: Likewise.
45164         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45165         constants.
45166
45167         faccessat, symlinkat: continue cleanup of previous patch
45168         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45169         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45170         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45172         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45173         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45174         set.
45175
45176 2009-09-06  Bruno Haible  <bruno@clisp.org>
45177
45178         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45179         (fstatat): Declare if GNULIB_FSTATAT is set.
45180         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45181         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45182         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45183         * modules/fcntl-h (Files): Remove m4/openat.m4.
45184         * modules/sys_stat (Files): Remove m4/openat.m4.
45185         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45186         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45187         * modules/unistd (Files): Remove m4/openat.m4.
45188         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45189         GNULIB_OPENAT.
45190         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45191         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45192         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45193         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45194         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45195         gl_OPENAT_DEFAULTS.
45196         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45197         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45198         Don't require gl_OPENAT_DEFAULTS.
45199         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45200         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45201         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45202         (gl_OPENAT_DEFAULTS): Remove macro.
45203
45204 2009-09-06  Bruno Haible  <bruno@clisp.org>
45205
45206         * modules/openat (configure.ac): Remove unneeded witness.
45207
45208 2009-09-06  Bruno Haible  <bruno@clisp.org>
45209
45210         Set errno to ENOSYS when a function is entirely unsupported.
45211         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45212         EOPNOTSUPP.
45213         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45214         * modules/chown (Depends-on): Remove errno.
45215
45216 2009-09-06  Bruno Haible  <bruno@clisp.org>
45217
45218         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45219
45220 2009-09-06  Bruno Haible  <bruno@clisp.org>
45221
45222         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45223
45224 2009-09-06  Ben Pfaff  <blp@gnu.org>
45225             Bruno Haible  <bruno@clisp.org>
45226
45227         Work around a glibc bug in strtok_r.
45228         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45229         Undefine if UNDEFINE_STRTOK_R is set.
45230         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45231         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45232         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45233         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45234         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45235         UNDEFINE_STRTOK_R.
45236         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45237
45238 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45239
45240         exclude: minor fix
45241         * lib/exclude.c: Include wctype.h
45242
45243 2009-09-06  Akim Demaille  <demaille@gostai.com>
45244
45245         bootstrap: improve error message
45246         * build-aux/bootstrap (find_tool): Upon failure, report the list
45247         of candidates.
45248         Honor the initial value of the envvar.
45249
45250 2009-09-05  Eric Blake  <ebb9@byu.net>
45251
45252         symlinkat: new module
45253         * modules/symlinkat: New file.
45254         * lib/symlinkat.c: Likewise.
45255         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45257         * modules/unistd (Makefile.am): Use them.
45258         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45259         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45260         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45261         * MODULES.html.sh (File system functions): Mention module.
45262         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45263         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45264         * modules/symlinkat-tests: New test.
45265         * tests/test-symlinkat.c: Likewise.
45266
45267         test-openat-safer: add more checks
45268         * tests/test-openat-safer.c (main): Check more code paths.
45269
45270 2009-09-05  Jim Meyering  <meyering@redhat.com>
45271
45272         syntax-check: detect unnecessary inclusion of openat.h
45273         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45274
45275 2009-09-05  Bruno Haible  <bruno@clisp.org>
45276
45277         Support towlower, towupper.
45278         * doc/posix-functions/towlower.texi: Mention module wctype.
45279         * doc/posix-functions/towupper.texi: Likewise.
45280         * lib/wctype.in.h (towlower, towupper): New functions.
45281         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45282         (ASSERT): New macro.
45283         (e): New variable.
45284         (main): Test also towlower, towupper. Test WEOF argument.
45285         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45286
45287 2009-09-05  Bruno Haible  <bruno@clisp.org>
45288
45289         Fix conversion behaviour when the input is invalid.
45290         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45291         mark occurring in first pass of indirect conversion.
45292         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45293         input.
45294         Found by clang's static analyzer.
45295
45296 2009-09-05  Bruno Haible  <bruno@clisp.org>
45297
45298         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45299         where direct conversion is possible.
45300
45301 2009-09-04  Eric Blake  <ebb9@byu.net>
45302
45303         openat: fail with ENOENT on empty name
45304         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45305         buffer.
45306
45307         link-follow: fix logic bug in prior patch
45308         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45309         reversed sense of yes and no in prior patch.  Avoid confusing
45310         compilation failure with desired semantics.
45311
45312         link-follow: accommodate mingw and cross-compilation
45313         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45314         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45315         cross-compilation results to -1, to make linkat easier to
45316         implement when cross-compiling.  Trivially support mingw.
45317         * modules/link-follow (configure.ac): Call new name.
45318         * NEWS: Mention this.
45319
45320 2009-09-03  Eric Blake  <ebb9@byu.net>
45321
45322         faccessat: compile replacement
45323         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45324         needed.
45325
45326         fts: fix compilation error
45327         * lib/fts.c (includes): Re-add "openat.h", for
45328         openat_needs_fchdir.
45329
45330         faccessat: new module
45331         * modules/faccessat: New file.
45332         * lib/faccessat.c: Likewise.
45333         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45335         * modules/unistd (Makefile.am): Use it.
45336         * lib/unistd.in.h (faccessat): Declare it.
45337         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45338         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45339         * MODULES.html.sh (File system functions): Mention it.
45340         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45341         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45342
45343         euidaccess: prefer POSIX over non-standard implementation
45344         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45345         * lib/euidaccess.c (euidaccess): Use it if available.
45346
45347         openat: make template easier to use
45348         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45349         AT_FUNC_F2 to be undefined.
45350         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45351         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45352         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45353         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45354         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45355         Likewise.
45356         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45357         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45358         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45359         Likewise.
45360
45361         openat: declare in POSIX headers
45362         * NEWS: Mention this.
45363         * modules/openat (configure.ac): Declare witnesses.
45364         (Depends-on): Add fcntl-h, sys_stat, unistd.
45365         (Include): Mention correct headers.
45366         * modules/fcntl-h (Depends-on): Add link-warning.
45367         (Files): Add openat.m4.
45368         (Makefile.am): Substitute witnesses.
45369         * modules/sys_stat (Files, Makefile.am): Likewise.
45370         * modules/unistd (Files, Makefile.am): Likewise.
45371         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45372         (gl_OPENAT_DEFAULTS): New macro.
45373         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45375         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45376         (SYS_STAT_H): Remove unused variable.
45377         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45378         * lib/fcntl--.h (includes): Remove unneeded header.
45379         * lib/openat-safer.c (includes): Likewise.
45380         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45381         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45382         appropriate headers.
45383         (__OPENAT_PREFIX): Delete.
45384         * lib/fcntl.in.h (openat): Provide declaration.
45385         (AT_FDCWD): Fix Solaris bug.
45386         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45387         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45388         * lib/fchmodat.c (includes):  Adjust to find declaration.
45389         * lib/fchownat.c (includes): Likewise.
45390         * lib/mkdirat.c (includes): Likewise.
45391         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45392         still visible.
45393
45394 2009-09-02  Eric Blake  <ebb9@byu.net>
45395
45396         errno: use consistently
45397         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45398         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45399         * lib/canonicalize.c (ELOOP): Likewise.
45400         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45401         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45402         * lib/lchown.c (EOPNOTSUPP): Likewise.
45403         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45404         * lib/savewd.c (ESTALE): Likewise.
45405         * lib/settime.c (ENOSYS): Likewise.
45406         * lib/utimens.c (ENOSYS): Likewise.
45407         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45408         * lib/chdir-safer.c (ELOOP): Likewise.
45409         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45410         * modules/c-stack (Depends-on): Add errno.
45411         * modules/canonicalize (Depends-on): Likewise.
45412         * modules/chdir-safer (Depends-on): Likewise.
45413         * modules/fdopendir (Depends-on): Likewise.
45414         * modules/inet_ntop (Depends-on): Likewise.
45415         * modules/inet_pton (Depends-on): Likewise.
45416         * modules/lchown (Depends-on): Likewise.
45417         * modules/openat (Depends-on): Likewise.
45418         * modules/savewd (Depends-on): Likewise.
45419         * modules/settime (Depends-on): Likewise.
45420         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45421
45422         fts: avoid leaking fds
45423         * modules/fts (Depends-on): Add cloexec.
45424         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45425         flag.
45426
45427         fts: make directory fds more robust
45428         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45429         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45430
45431         backupfile, chdir-long, fts, savedir: make safer
45432         * lib/backupfile.c (includes): Use "dirent--.h", since
45433         numbered_backup can write to stderr during readdir.
45434         * lib/savedir.c (includes): Likewise.
45435         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45436         emulation can write to stderr on failure.
45437         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45438         * lib/getcwd.c: Document why opendir_safer is unused.
45439         * lib/glob.c: Likewise.
45440         * lib/scandir.c: Likewise.
45441         * lib/openat-proc.c: Likewise, for open_safer.
45442         * modules/backupfile (Depends-on): Add dirent-safer.
45443         * modules/savedir (Depends-on): Likewise.
45444         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45445         * modules/chdir-long (Depends-on): Add openat-safer.
45446
45447         openat-safer: new module
45448         * modules/openat-safer: New file.
45449         * lib/openat-safer.c: Likewise.
45450         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45451         * lib/fcntl-safer.h (openat_safer): Declare.
45452         * lib/fcntl--.h (openat): Override.
45453         * MODULES.html.sh (File descriptor based I/O): Mention it.
45454         * lib/openat.h: Add double-inclusion guards.
45455         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45456         "fcntl--.h", so we can implement openat.
45457         * modules/openat-safer-tests: New test.
45458         * tests/test-openat-safer.c: New file.
45459
45460         dirent-safer: new module
45461         * modules/dirent-safer: New file.
45462         * lib/dirent--.h: Likewise.
45463         * lib/dirent-safer.h: Likewise.
45464         * lib/opendir-safer.c: Likewise.
45465         * m4/dirent-safer.m4: Likewise.
45466         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45467         * modules/dirent-safer-tests: New test.
45468         * tests/test-dirent-safer.c: New file.
45469         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45470
45471         fdopendir: optimize on mingw
45472         * lib/unistd.in.h (_gl_directory_name): New prototype.
45473         * lib/fchdir.c (_gl_directory_name): Implement it.
45474         (fchdir): Use it to simplify implementation.
45475         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45476         fchdir, when available, to avoid calling [f]chdir().
45477
45478         fdopendir: split into its own module
45479         * lib/openat.c (fdopendir): Move...
45480         * lib/fdopendir.c: ...into new file.
45481         * modules/fdopendir: New module.
45482         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45483         * modules/openat (Depends-on): Add fdopendir.
45484         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45485         fdopendir here.
45486         * modules/savedir (Depends-on): Only need fdopendir, not full
45487         openat.
45488         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45489         * lib/openat.h (fdopendir): Drop prototype.
45490         * lib/dirent.in.h (fdopendir): Provide prototype.
45491         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45492         * modules/dirent (Makefile.am): Substitute them.
45493         * MODULES.html.sh (File system functions): Mention it.
45494         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45495         * modules/fdopendir-tests: New file.
45496         * tests/test-fdopendir.c: Likewise.
45497
45498         fchdir: use more consistent macro convention
45499         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45500         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45501         REPLACE_FCHDIR, rather than relying on config.h macros.
45502         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45503         inside a single make-time REPLACE_FCHDIR block, rather than using
45504         the config.h FCHDIR_REPLACEMENT.
45505         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45506         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45507         Manage fstat replacement.
45508         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45509         REPLACE_FCHDIR.
45510         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45511         (Makefile.am): Substitute REPLACE_FCHDIR.
45512         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45513         FCHDIR_REPLACEMENT.
45514         * lib/dup-safer.c (dup_safer): Likewise.
45515         * lib/dup2.c (rpl_dup2): Likewise.
45516         * lib/dup3.c (rpl_dup3): Likewise.
45517         * lib/open.c (rpl_open): Likewise.
45518
45519         fchdir: simplify error handling, and support dup3
45520         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45521         stdbool, malloc-posix, realloc-posix.
45522         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45523         (ensure_dirs_slot): Return false on allocation failure.
45524         (rpl_dup2): Delete.
45525         (_gl_register_dup): New function.
45526         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45527         (_gl_register_fd): Close fd on allocation failure.
45528         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45529         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45530         prototype.
45531         (rpl_dup2_fchdir): Delete prototype.
45532         * lib/open.c (open): Update caller.
45533         * lib/dup2.c (dup2): Track fchdir metadata.
45534         * lib/dup3.c (dup3): Likewise.
45535         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45536         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45537
45538 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45539
45540         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45541         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45542         don't pass arguments to AC_OUTPUT.
45543
45544 2009-09-02  Bruno Haible  <bruno@clisp.org>
45545
45546         * modules/mkdtemp (License): Relicense under LGPLv2+.
45547         Reported by Paolo Bonzini.
45548
45549 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45550
45551         Replace uses of obsolete autoconf macros in Jim's modules.
45552         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45553         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45554         can evoke a warning from autoconf when run with -Wobsolete
45555         enabled.  They were declared obsolete for good reasons (see
45556         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45557         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45558         should not continue using the deprecated macros.
45559         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45560         obsolete Autoconf macros with modern counterparts.
45561         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45562         * m4/dos.m4 (gl_AC_DOS): Likewise.
45563         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45564         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45565         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45566         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45567         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45568         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45569         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45570         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45571         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45572         Likewise.
45573         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45574         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45575         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45576         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45577         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45578         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45579
45580 2009-09-01  Eric Blake  <ebb9@byu.net>
45581
45582         fchdir: fix off-by-one bug in previous patch
45583         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45584         (_gl_unregister_fd): Delete useless if.
45585
45586 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45587
45588         maint.mk: sort the list of syntax-check rules
45589         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45590         easier to get a sense of progress when the rules are run sequentially
45591         and take a long time.
45592
45593 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45594
45595         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45596         * modules/netinet_in: Likewise.
45597         * modules/sys_file: Likewise.
45598         * modules/sys_ioctl: Likewise.
45599         * modules/sys_select: Likewise.
45600         * modules/sys_socket: Likewise.
45601         * modules/sys_stat: Likewise.
45602         * modules/sys_time: Likewise.
45603         * modules/sys_times: Likewise.
45604         * modules/sys_utsname: Likewise.
45605         * modules/sys_wait: Likewise.
45606
45607 2009-09-01  Jim Meyering  <meyering@redhat.com>
45608
45609         fts: help ensure that return values are not ignored
45610         * lib/fts_.h (__GNUC_PREREQ): Define.
45611         (__attribute_warn_unused_result__): Define.
45612         (fts_children, fts_close, fts_open, fts_read): Declare with
45613         __attribute_warn_unused_result__.
45614
45615         fts: fts_close now fails also when closing a dir file descriptor fails
45616         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45617         and propagate to caller, along with errno.
45618
45619         announce-gen: correct formatting in --help output
45620         * build-aux/announce-gen (usage): Move the one-line description in
45621         --help output "up", to where it belongs, just after Usage:.
45622
45623 2009-08-31  Eric Blake  <ebb9@byu.net>
45624
45625         fchdir: port to mingw
45626         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45627         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45628         opened, then use a substitute.
45629         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45630         replacement.
45631         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45632         (_gl_register_fd): No need to check stat if open already filters
45633         all directories.
45634         (fchdir): Fix error condition to match POSIX.
45635         * modules/fchdir (Depends-on): Add sys_stat.
45636         * doc/posix-functions/open.texi (open): Document the limitation.
45637         * modules/fchdir-tests: New file.
45638         * tests/test-fchdir.c: Likewise.
45639
45640         canonicalize: allow cross-testing from cygwin to mingw
45641         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45642         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45643         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45644         Likewise.
45645         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45646         target does not support symlinks.
45647         * tests/test-canonicalize-lgpl.sh: Likewise.
45648
45649         chown: avoid compilation warning on mingw
45650         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45651         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45652         mingw.
45653         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45654         * modules/chown (Depends-on): Add errno.
45655
45656 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45657
45658         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45659         command.
45660
45661 2009-08-31  Jim Meyering  <meyering@redhat.com>
45662
45663         canonicalize: remove useless initialization
45664         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45665         initialization of local, "end".
45666
45667 2009-08-30  Bruno Haible  <bruno@clisp.org>
45668
45669         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45670         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45671         ENOSYS.
45672
45673 2009-08-30  Bruno Haible  <bruno@clisp.org>
45674
45675         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45676         /usr/xpg4/bin/tr when it exists.
45677         * tests/test-pipe-filter-gi1.sh: Likewise.
45678
45679 2009-08-30  Bruno Haible  <bruno@clisp.org>
45680
45681         Work around deficient /usr/bin/id program on Solaris.
45682         * tests/test-file-has-acl.sh (ID): New variable.
45683         * tests/test-set-mode-acl.sh (ID): Likewise.
45684         * tests/test-copy-acl.sh (ID): Likewise.
45685         * tests/test-copy-file.sh (ID): Likewise.
45686
45687 2009-08-30  Bruno Haible  <bruno@clisp.org>
45688
45689         New module 'xstriconveh'.
45690         * lib/xstriconveh.h: New file.
45691         * lib/xstriconveh.c: New file.
45692         * modules/xstriconveh: New file.
45693
45694 2009-08-30  Bruno Haible  <bruno@clisp.org>
45695
45696         Make it easier to use mem_cd_iconveh.
45697         * lib/striconveh.h (iconveh_t): New type.
45698         (iconveh_open, iconveh_close): New declarations.
45699         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45700         with a single 'const iconveh_t *' argument.
45701         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45702         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45703         with a single 'const iconveh_t *' argument.
45704         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45705         * tests/test-striconveh.c (main): Update.
45706         * NEWS: Mention the change.
45707
45708 2009-08-30  Bruno Haible  <bruno@clisp.org>
45709
45710         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
45711         problem.
45712
45713 2009-08-30  Bruno Haible  <bruno@clisp.org>
45714
45715         Work around iconv_open problem on Solaris.
45716         * lib/iconv_open-solaris.gperf: New file.
45717         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
45718         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
45719         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
45720         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
45721         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
45722         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
45723
45724 2009-08-29  Jim Meyering  <meyering@redhat.com>
45725
45726         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
45727         * top/maint.mk (cvs-check): Remove target; it was just an alias
45728         to the better-named vc-diff-check.
45729         (maintainer-distcheck): Remove rule.  It was used only from
45730         the (alpha/beta/major) target, and all of its commands but one
45731         were coreutils-specific.
45732         (vc-dist): Remove rule.
45733         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
45734         Run vc-diff-check, not vc-dist.
45735         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
45736
45737 2009-08-27  Bruno Haible  <bruno@clisp.org>
45738
45739         * tests/test-bitrotate.c (main): Remove test that uses a shift count
45740         of 0.
45741
45742 2009-08-27  Bruno Haible  <bruno@clisp.org>
45743
45744         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
45745         compilers.
45746         * doc/func.texi: Document the SunPRO C bug.
45747
45748 2009-08-27  Bruno Haible  <bruno@clisp.org>
45749
45750         Fix link error on Solaris.
45751         * tests/test-parse-duration.c (xstrdup): Remove function.
45752
45753 2009-08-26  Pádraig Brady  <P@draigbrady.com>
45754
45755         ignore-value: handle pointer types, too
45756         * lib/ignore-value.h (__attribute__): Remove definition.
45757         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
45758         of a more concise and more-often effective "(void) i" statement.
45759         (ignore_ptr): New function to suppress warnings from functions that
45760         return pointers, and to make it explicit that one function doesn't
45761         handle all cases.
45762
45763 2009-08-25  Bruno Haible  <bruno@clisp.org>
45764
45765         dup2: work around a Linux bug.
45766         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
45767         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
45768         * doc/posix-functions/dup2.texi: Mention the Linux bug.
45769         Reported by Simon Josefsson.
45770
45771 2009-08-25  Jim Meyering  <meyering@redhat.com>
45772
45773         libguestfs uses gnulib
45774         * users.txt: Add libguestfs.
45775
45776 2009-08-24  Eric Blake  <ebb9@byu.net>
45777
45778         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
45779         * lib/pipe2.c (includes): Add binary-io.h.
45780         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
45781
45782 2009-08-24  Bruno Haible  <bruno@clisp.org>
45783
45784         Tolerate declared but missing accept4 syscall.
45785         * lib/accept4.c (accept4): Invoke original accept4 function first, if
45786         available.
45787         * lib/sys_socket.in.h (accept4): If the function is already present,
45788         override it.
45789         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
45790         * modules/accept4 (Makefile.am): Compile accept4.c always.
45791         Reported by Paolo Bonzini and Eric Blake.
45792
45793 2009-08-23  Bruno Haible  <bruno@clisp.org>
45794
45795         New module 'accept4'.
45796         * lib/sys_socket.in.h (accept4): New declaration.
45797         * lib/accept4.c: New file.
45798         * m4/accept4.m4: New file.
45799         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45800         GNULIB_ACCEPT4, HAVE_ACCEPT4.
45801         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
45802         HAVE_ACCEPT4.
45803         * modules/accept4: New file.
45804         * doc/glibc-functions/accept4.texi: Mention the new module.
45805
45806 2009-08-24  Jim Meyering  <meyering@redhat.com>
45807
45808         progname: also set global program_invocation_name, when possible
45809         Before this change, a libtool-enabled program that calls glibc's
45810         error function would report the program name as
45811         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
45812         * modules/progname (configure.ac): Check for a declaration of
45813         program_invocation_name.
45814         * lib/progname.c:  Include <errno.h>.
45815         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
45816         Set program_invocation_name.
45817
45818 2009-08-23  Bruno Haible  <bruno@clisp.org>
45819
45820         * lib/dup3.c: Include <string.h>.
45821
45822 2009-08-23  Bruno Haible  <bruno@clisp.org>
45823
45824         * lib/dup3.c (dup3): Test only once whether the system actually exists.
45825         * lib/pipe2.c (pipe2): Likewise.
45826         Suggested by Eric Blake.
45827
45828 2009-08-23  Bruno Haible  <bruno@clisp.org>
45829
45830         Tolerate declared but missing dup3 syscall.
45831         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
45832         * lib/unistd.in.h (dup3): If the function is already present,
45833         override it.
45834         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
45835         * modules/dup3 (Makefile.am): Compile dup3.c always.
45836         Reported by Paolo Bonzini.
45837
45838 2009-08-23  Bruno Haible  <bruno@clisp.org>
45839
45840         Tolerate declared but missing pipe2 syscall.
45841         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
45842         available.
45843         * lib/unistd.in.h (pipe2): If the function is already present,
45844         override it.
45845         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
45846         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
45847         Reported by Paolo Bonzini.
45848
45849 2009-08-23  Bruno Haible  <bruno@clisp.org>
45850
45851         * lib/pipe2.c (pipe2): Move #ifs inside function.
45852
45853 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45854
45855         quotearg: document limitations of quote_these_too
45856         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
45857         those limitations are created.
45858         * lib/quotearg.h (set_char_quoting): Document that digits and
45859         letters that are special after backslash are not permitted.
45860         (quotearg_char): Cross-reference set_char_quoting documentation.
45861
45862 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
45863
45864         quotearg: implement custom_quoting_style
45865         * lib/quotearg.c: (struct quoting_options): Add left_quote and
45866         right_quote fields.
45867         (set_custom_quoting): New public function.
45868         (quotearg_buffer_restyled): Add left_quote and right_quote
45869         arguments, handle them very much like locale quoting, and update
45870         all uses.
45871         (quotearg_n_custom): New public function.
45872         (quotearg_n_custom_mem): New public function.
45873         (quotearg_custom): New public function.
45874         (quotearg_custom_mem): New public function.
45875         * lib/quotearg.h: Prototype and document new public functions.
45876         (enum quoting_style): For escape_quoting_style and
45877         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45878         ignored even though they're otherwise like c_quoting_style.
45879         Add custom_quoting_style member and document with comparison to
45880         clocale_quoting_style.
45881         * tests/test-quotearg.c (custom_quotes): New array.
45882         (custom_results): New array.
45883         (main): Extend to test custom quoting.
45884
45885 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45886
45887         quotearg: fix right quote escaping when it's in quote_these_too
45888         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
45889         quote, be sure to prepend only one backslash.
45890         * tests/test-quotearg.c (use_quote_double_quotes): New function.
45891         (main): Test it.
45892
45893 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45894
45895         quotearg-tests: test escaping of embedded locale quotes
45896         * tests/test-quotearg.c (struct result_strings): Add member for
45897         new input.
45898         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
45899         (inputs): Add new input.
45900         (results_g): Add expected results.
45901         (flag_results): Likewise.
45902         (locale_results): Likewise.
45903         (compare_strings): Check those.
45904
45905 2009-08-23  Bruno Haible  <bruno@clisp.org>
45906
45907         Tests for module 'dup3'.
45908         * modules/dup3-tests: New file.
45909         * tests/test-dup3.c: New file.
45910
45911         New module 'dup3'.
45912         * lib/unistd.in.h (dup3): New declaration.
45913         * lib/dup3.c: New file.
45914         * m4/dup3.m4: New file.
45915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
45916         HAVE_DUP3.
45917         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
45918         * modules/dup3: New file.
45919         * doc/glibc-functions/dup3.texi: Mention the new module.
45920
45921 2009-08-23  Bruno Haible  <bruno@clisp.org>
45922
45923         Tweak the dup2 test.
45924         * tests/test-dup2.c (main): Create the test file empty. Verify that an
45925         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
45926         the test file is still empty. Fix argument order of lseek.
45927
45928 2009-08-23  Bruno Haible  <bruno@clisp.org>
45929
45930         Avoid test link errors when the modules getopt-gnu, gettext are used.
45931         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
45932         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45933
45934 2009-08-23  Bruno Haible  <bruno@clisp.org>
45935
45936         Fix getdtablesize() on mingw.
45937         * lib/getdtablesize.c (getdtablesize): Implement differently.
45938         * lib/unistd.in.h (getdtablesize): Improve comment.
45939
45940 2009-08-23  Bruno Haible  <bruno@clisp.org>
45941
45942         New module 'mkostemp'.
45943         Based on Ulrich Drepper's 2007-08-10 change in glibc.
45944         * lib/stdlib.in.h (mksotemp): New declaration.
45945         * lib/mkostemp.c: New file, from glibc with modifications.
45946         * lib/tempname.h (GT_FILE): Remove outdated comment.
45947         (gen_tempname): Add flags argument.
45948         * lib/tempname.c (__GT_BIGFILE): Remove macro.
45949         (__GT_FILE): Map to 1.
45950         (small_open, large_open): Remove macros.
45951         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
45952         * lib/mkstemp.c (mkstemp): Update.
45953         * lib/mkdtemp.c (mkdtemp): Likewise.
45954         * m4/mkostemp.m4: New file.
45955         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
45956         HAVE_MKOSTEMP.
45957         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
45958         HAVE_MKOSTEMP.
45959         * modules/mkostemp: New file, based on modules/mkstemp.
45960         * doc/glibc-functions/mkostemp.texi: Mention the new module.
45961         * NEWS: Mention the change.
45962
45963 2009-08-23  Bruno Haible  <bruno@clisp.org>
45964
45965         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
45966         Reported by Eric Blake.
45967
45968 2009-08-23  Bruno Haible  <bruno@clisp.org>
45969
45970         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
45971         Reported by Eric Blake.
45972
45973 2009-08-23  Bruno Haible  <bruno@clisp.org>
45974
45975         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
45976         * modules/pipe2 (Depends-on): Likewise.
45977
45978 2009-08-23  Eric Blake  <ebb9@byu.net>
45979
45980         fcntl-h: add O_TTY_INIT support
45981         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
45982         * tests/test-fcntl-h.c (o): Test it.
45983         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45984
45985         fcntl-h: rename from fcntl, in preparation for fcntl(2)
45986         * modules/fcntl: Move <fcntl.h> header replacement...
45987         * modules/fcntl-h: ...to new name, so as not to collide with
45988         like-named function.
45989         * tests/test-fcntl.c: Rename...
45990         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
45991         * modules/fcntl-tests: Rename...
45992         * modules/fcntl-h-tests: ...to this.  Update test file name.
45993         * modules/chdir-long (Depends-on): Update clients.
45994         * modules/chdir-safer (Depends-on): Likewise.
45995         * modules/fcntl-safer (Depends-on): Likewise.
45996         * modules/fts (Depends-on): Likewise.
45997         * modules/mkancesdirs (Depends-on): Likewise.
45998         * modules/mkdir-p (Depends-on): Likewise.
45999         * modules/open (Depends-on): Likewise.
46000         * modules/savewd (Depends-on): Likewise.
46001         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46002         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46003
46004 2009-08-22  Bruno Haible  <bruno@clisp.org>
46005
46006         * modules/binary-io (License): Relicense under LGPL.
46007         * modules/pipe2 (License): Likewise.
46008
46009 2009-08-22  Bruno Haible  <bruno@clisp.org>
46010
46011         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46012         return value.
46013         * lib/pipe-filter-gi.c (filter_init): Likewise.
46014         Reported by Eric Blake.
46015
46016 2009-08-22  Bruno Haible  <bruno@clisp.org>
46017
46018         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46019         * modules/pipe (Depends-on): Add pipe2.
46020
46021 2009-08-22  Bruno Haible  <bruno@clisp.org>
46022
46023         Tests for module 'pipe2'.
46024         * modules/pipe2-tests: New file.
46025         * tests/test-pipe2.c: New file.
46026
46027         New module 'pipe2'.
46028         * lib/unistd.in.h (pipe2): New declaration.
46029         * lib/pipe2.c: New file.
46030         * m4/pipe2.m4: New file.
46031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46032         HAVE_PIPE2.
46033         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46034         * modules/pipe2: New file.
46035         * doc/glibc-functions/pipe2.texi: Mention the new module.
46036
46037 2009-08-22  Bruno Haible  <bruno@clisp.org>
46038
46039         Reference some new glibc functions.
46040         * doc/glibc-functions/accept4.texi: New file.
46041         * doc/glibc-functions/dup3.texi: New file.
46042         * doc/glibc-functions/mkostemp.texi: New file.
46043         * doc/glibc-functions/pipe2.texi: New file.
46044         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46045         (Glibc sys/socket.h): Refer to accept4.
46046         (Glibc unistd.h): Refer to dup3, pipe2.
46047         Reported by Eric Blake.
46048
46049 2009-08-22  Jim Meyering  <meyering@redhat.com>
46050             Bruno Haible  <bruno@clisp.org>
46051
46052         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46053         This makes it so packages using automake-1.11's silent-rules option
46054         can print e.g., a single "GEN    configmake.h" line, rather than
46055         the 30+ statements that perform the job.  If you want to see the
46056         actual commands, you can still run "make V=1".
46057         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46058         so that make output is abbreviated when those variables are defined
46059         appropriately.
46060         * modules/argz: Likewise.
46061         * modules/arpa_inet: Likewise.
46062         * modules/byteswap: Likewise.
46063         * modules/configmake: Likewise.
46064         * modules/dirent: Likewise.
46065         * modules/errno: Likewise.
46066         * modules/fcntl: Likewise.
46067         * modules/float: Likewise.
46068         * modules/fnmatch: Likewise.
46069         * modules/getopt-posix: Likewise.
46070         * modules/glob: Likewise.
46071         * modules/iconv_open: Likewise.
46072         * modules/inttypes: Likewise.
46073         * modules/localcharset: Likewise.
46074         * modules/locale: Likewise.
46075         * modules/math: Likewise.
46076         * modules/netdb: Likewise.
46077         * modules/netinet_in: Likewise.
46078         * modules/poll: Likewise.
46079         * modules/posix_spawnp-tests: Likewise.
46080         * modules/sched: Likewise.
46081         * modules/search: Likewise.
46082         * modules/selinux-h: Likewise.
46083         * modules/signal: Likewise.
46084         * modules/spawn: Likewise.
46085         * modules/stdarg: Likewise.
46086         * modules/stdbool: Likewise.
46087         * modules/stddef: Likewise.
46088         * modules/stdint: Likewise.
46089         * modules/stdio: Likewise.
46090         * modules/stdlib: Likewise.
46091         * modules/string: Likewise.
46092         * modules/strings: Likewise.
46093         * modules/sys_file: Likewise.
46094         * modules/sys_ioctl: Likewise.
46095         * modules/sys_select: Likewise.
46096         * modules/sys_socket: Likewise.
46097         * modules/sys_stat: Likewise.
46098         * modules/sys_time: Likewise.
46099         * modules/sys_times: Likewise.
46100         * modules/sys_utsname: Likewise.
46101         * modules/sys_wait: Likewise.
46102         * modules/sysexits: Likewise.
46103         * modules/time: Likewise.
46104         * modules/unistd: Likewise.
46105         * modules/wchar: Likewise.
46106         * modules/wctype: Likewise.
46107
46108 2009-08-22  Jim Meyering  <meyering@redhat.com>
46109
46110         announce-gen: detect write failure
46111         * build-aux/announce-gen: Add Coda at end.
46112         Remove equivalent-but-more-verbose block at top.
46113
46114 2009-08-19  Akim Demaille  <demaille@gostai.com>
46115
46116         bootstrap: --help to stdout.
46117         * bootstrap (usage): Don't send --help to stderr.
46118         Use a here doc instead of a long string.
46119
46120 2009-08-21  Eric Blake  <ebb9@byu.net>
46121
46122         test-popen-safer: split from test-popen
46123         * tests/test-popen.c (main): Move...
46124         * tests/test-popen.h: ...into new file.
46125         * tests/test-popen-safer2.c: New file.
46126         * modules/popen-tests (Files): Add test-popen.h.
46127         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46128         Suggested by Bruno Haible.
46129
46130         test-fcntl-safer: split from test-open
46131         * tests/test-open.c (main): Move...
46132         * tests/test-open.h: ...into new file.
46133         * tests/test-fcntl-safer.c: New file.
46134         * modules/open-tests (Files): Add test-open.h.
46135         * modules/fcntl-safer-tests: New file.
46136         Suggested by Bruno Haible.
46137
46138         test-fopen-safer: split from test-fopen
46139         * tests/test-fopen.c (main): Move...
46140         * tests/test-fopen.h: ...into new file.
46141         * tests/test-fopen-safer.c: New file.
46142         * modules/fopen-tests (Files): Add test-fopen.h.
46143         * modules/fopen-safer-tests: New file.
46144         Suggested by Bruno Haible.
46145
46146 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46147
46148         popen-safer: test O_CLOEXEC at run-time.
46149         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46150
46151 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46152
46153         fcntl: move more flags to the header
46154         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46155         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46156         * lib/fcntl.in.h: Do both things here.
46157
46158 2009-08-21  Jim Meyering  <meyering@redhat.com>
46159
46160         consistently remove $@-t before redirecting to it
46161         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46162         * modules/alloca-opt: Likewise.
46163         * modules/byteswap: Likewise.
46164         * modules/fnmatch: Likewise.
46165         * modules/getopt-posix: Likewise.
46166         * modules/glob: Likewise.
46167         * modules/poll: Likewise.
46168         * modules/posix_spawnp-tests: Likewise.
46169         * modules/sys_socket: Likewise.
46170         * modules/sysexits: Likewise.
46171
46172 2009-08-21  Eric Blake  <ebb9@byu.net>
46173
46174         popen: simplify access to original popen
46175         * lib/popen.c (rpl_popen): No need to worry about popen being a
46176         macro.
46177         Reported by Bruno Haible.
46178
46179 2009-08-20  Eric Blake  <ebb9@byu.net>
46180
46181         build: avoid some compiler warnings
46182         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46183         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46184         type.
46185         (new_exclude_segment, excluded_file_pattern_p)
46186         (excluded_file_name_p): Reduce scope.
46187         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46188         old-style declaration.
46189
46190 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46191
46192         * tests/test-exclude1.sh: Handle Windows EOL.
46193         * tests/test-exclude2.sh: Likewise.
46194         * tests/test-exclude3.sh: Likewise.
46195         * tests/test-exclude4.sh: Likewise.
46196         * tests/test-exclude5.sh: Likewise.
46197         * tests/test-exclude6.sh: Likewise.
46198         * tests/test-exclude7.sh: Likewise.
46199
46200 2009-08-19  Akim Demaille  <demaille@gostai.com>
46201
46202         bootstrap: find sha1sum when named gsha1sum.
46203         * bootstrap (find_tool): New.
46204         ($SHA1SUM): New.
46205         Use it.
46206
46207 2009-08-20  Jim Meyering  <meyering@redhat.com>
46208
46209         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46210         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46211         expression that converts "." in a file name to "\." in the resulting
46212         regexp.  Start with a dummy statement, so that prior shell variable
46213         definitions are expanded portably.  Reported by Simon Josefsson.
46214
46215 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46216
46217         Fix polling for writeability of a screen buffer.
46218         * lib/poll.c: Distinguish input and screen buffers for the
46219         Win32 implementation.
46220         * lib/select.c: Likewise.
46221
46222 2009-08-19  Eric Blake  <ebb9@byu.net>
46223
46224         popen-safer: prevent popen from clobbering std descriptors
46225         * modules/popen-safer: New file.
46226         * lib/popen-safer.c: Likewise.
46227         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46228         * lib/stdio--.h (popen): Provide override.
46229         * lib/stdio-safer.h (popen_safer): Provide declaration.
46230         * tests/test-popen.c (includes): Partially test this.
46231         * modules/popen-safer-tests: New file, for more tests.
46232         * tests/test-popen-safer.c: Likewise.
46233         * MODULES.html.sh (file stream based Input/Output): Mention it.
46234
46235         tests: test some of the *-safer modules
46236         * modules/fopen-safer (Depends-on): Add fopen.
46237         * modules/fcntl-safer (Depends-on): Add fcntl.
46238         * modules/stdlib-safer (Depends-on): Add stdlib.
46239         (configure.ac): Set indicator.
46240         * modules/unistd-safer (configure.ac): Likewise.
46241         * modules/tmpfile-safer (configure.ac): Likewise.
46242         (Depends-on): Add tmpfile.
46243         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46244         active.
46245         * tests/test-fopen.c (includes): Test safer versions when they are
46246         in use.
46247         * tests/test-open.c (includes): Likewise.
46248
46249         popen: fix cygwin 1.5 bug when stdin closed
46250         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46251         * modules/popen: New file.
46252         * modules/popen-tests: Likewise.
46253         * tests/test-popen.c: Likewise.
46254         * m4/popen.m4: Likewise.
46255         * lib/popen.c: Likewise.
46256         * lib/stdio.in.h (popen): New declaration.
46257         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46258         * modules/stdio (Makefile.am): Likewise.
46259         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46260
46261 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46262
46263         maint.mk: give full control over update-copyright exclusions
46264         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46265         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46266         (update-copyright): Don't force inclusion of top-level
46267         ChangeLog.  Don't force exclusion of all COPYING files, but make
46268         them the default exclusion instead.
46269
46270 2009-08-16  Bruno Haible  <bruno@clisp.org>
46271
46272         Fix test failures on Solaris 10.
46273         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46274         tests when Solaris iconv() is used.
46275         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46276         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46277         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46278         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46279         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46280
46281 2009-08-16  Bruno Haible  <bruno@clisp.org>
46282
46283         Fix test failures on Solaris 10.
46284         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46285         'tr' program and pass it as first argument.
46286         * tests/test-pipe-filter-gi1.sh: Likewise.
46287         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46288         program as first argument.
46289         * tests/test-pipe-filter-gi1.c (main): Likewise.
46290
46291 2009-08-16  Eric Blake  <ebb9@byu.net>
46292
46293         fpurge: fix previous commits
46294         * modules/fpurge (Makefile.am): Make replacement conditional,
46295         partially reverting 2007-04-29 change; missed in previous
46296         attempt.
46297         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46298         is missing.
46299
46300 2009-08-16  Bruno Haible  <bruno@clisp.org>
46301
46302         Clarify fpurge's effect on the file position.
46303         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46304         * tests/test-fpurge.c (main): Make a second pass for checking the file
46305         position.
46306
46307 2009-08-16  Bruno Haible  <bruno@clisp.org>
46308
46309         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46310         declaration of fpurge is missing.
46311         * tests/test-fpurge.c (main): Check that the file has not more contents
46312         than expected. Close the file before removing it.
46313
46314 2009-08-15  Eric Blake  <ebb9@byu.net>
46315
46316         fpurge: don't wrap working cygwin implementation
46317         * lib/fpurge.c (fpurge): Fix comment typo.
46318         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46319         1.7 to avoid replacement.
46320         * tests/test-fpurge.c (main): Enhance test.
46321
46322 2009-08-15  Eric Blake  <ebb9@byu.net>
46323         and Jim Meyering  <meyering@redhat.com>
46324
46325         test-update-copyright: skip if perl is insufficient
46326         * tests/test-update-copyright.sh: Failure to run maintainer tool
46327         should not cause testsuite failure on cygwin 1.5.
46328
46329 2009-08-14  Eric Blake  <ebb9@byu.net>
46330
46331         doc: mention more functions added in cygwin 1.7.0
46332         * doc/posix-headers/limits.texi (limits.h): Update for recent
46333         cygwin additions.
46334         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46335         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46336         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46337         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46338         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46339
46340 2009-08-14  Eric Blake  <ebb9@byu.net>
46341
46342         maint.mk: simplify update-copyright rule
46343         * top/maint.mk (update-copyright-local): Delete, and document how
46344         to do it in cfg.mk instead.
46345         (update-copyright-exclude-regexp): Delete, and document how to do
46346         it in .x-update-copyright instead.
46347         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46348         exclude ChangeLog.
46349
46350 2009-08-14  Bruno Haible  <bruno@clisp.org>
46351
46352         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46353
46354 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46355
46356         maint.mk: support update-copyright-env
46357         * top/maint.mk (update-copyright-env): Define place-holder.
46358         (update-copyright): Expand $(update-copyright-env) before
46359         invoking update-copyright.
46360
46361 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46362
46363         update-copyright: implement forced reformatting
46364         * build-aux/update-copyright: Implement and document
46365         UPDATE_COPYRIGHT_FORCE.
46366         * tests/test-update-copyright.sh: Test it.
46367
46368 2009-08-14  Eric Blake  <ebb9@byu.net>
46369         and Bruno Haible  <bruno@clisp.org>
46370
46371         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46372         * tests/test-locale.c: Revert previous patch related to NULL.
46373         * tests/test-stdio.c: Likewise.
46374         * tests/test-stdlib.c: Likewise.
46375         * tests/test-string.c: Likewise.
46376         * tests/test-unistd.c: Likewise.
46377         * modules/time-tests (Depends-on): Add verify.
46378         * modules/wchar-tests (Depends-on): Likewise.
46379         * tests/test-time.c: Test for NULL compliance.
46380         * tests/test-wchar.c: Likewise.
46381         * modules/locale (Depends-on): Add stddef.
46382         * modules/stdio (Depends-on): Likewise.
46383         * modules/stdlib (Depends-on): Likewise.
46384         * modules/string (Depends-on): Likewise.
46385         * modules/time (Depends-on): Likewise.
46386         * modules/unistd (Depends-on): Likewise.
46387         * modules/wchar (Depends-on): Likewise.
46388         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46389         * lib/stdlib.in.h (includes): Likewise.
46390         * lib/string.in.h (includes): Likewise.
46391         * lib/time.in.h (includes): Likewise.
46392         * lib/unistd.in.h (includes): Likewise.
46393         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46394         replaced.
46395         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46396         * m4/stddef_h.m4: New file.
46397         * modules/stddef: Likewise.
46398         * lib/stddef.in.h: Likewise.
46399         * modules/stddef-tests: Likewise.
46400         * tests/test-stddef.c: Likewise.
46401         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46402         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46403         * doc/posix-headers/locale.texi (locale.h): Likewise.
46404         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46405         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46406         * doc/posix-headers/string.texi (string.h): Likewise.
46407         * doc/posix-headers/time.texi (time.h): Likewise.
46408         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46409         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46410
46411 2009-08-14  Eric Blake  <ebb9@byu.net>
46412
46413         doc: improve git diff of texinfo files
46414         * .gitattributes: Add rule for *.texi files, with hint on how to
46415         use it.
46416         Copied from m4, and based on a report by Bruno Haible.
46417
46418 2009-08-14  Bruno Haible  <bruno@clisp.org>
46419
46420         Disable multithread support by default on Cygwin 1.5.x for real.
46421         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46422
46423 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46424
46425         update-copyright: much ado about intervals
46426         * build-aux/update-copyright: Implement and document
46427         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46428         of copyright year intervals.
46429         Also, document UPDATE_COPYRIGHT_YEAR.
46430         * tests/test-update-copyright.sh: Test it.
46431
46432         update-copyright: convert 2-digit to 4-digit years
46433         * build-aux/update-copyright: Implement and document.
46434         * tests/test-update-copyright.sh: Update.
46435
46436 2009-08-14  Jim Meyering  <meyering@redhat.com>
46437
46438         test-exclude: avoid coreutils "make check" failure
46439         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46440         just as in test-argmatch.c.
46441
46442 2009-08-13  Eric Blake  <ebb9@byu.net>
46443
46444         test-dup2: fix bad assumption
46445         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46446         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46447
46448         test-version-etc: fix CRLF portability issue
46449         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46450         recognize \r.
46451         * tests/test-argp-version-etc-1.sh: Likewise.
46452
46453         getopt: update client modules
46454         * modules/argp (Depends-on): Use getopt-gnu.
46455         * modules/git-merge-changelog (Depends-on): Likewise.
46456         * modules/long-options (Depends-on): Likewise.
46457         * modules/xstrtol (Depends-on): Likewise.
46458
46459 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46460
46461         * tests/test-version-etc.sh: Don't fail on different
46462         project/version.  Don't fail on CRLF differences.  Rewrite to use
46463         multiple -e instead of multiple sed forks, suggested by Eric Blake
46464         <ebb9@byu.net>.
46465         * tests/test-argp-version-etc-1.sh: Likewise.
46466
46467 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46468
46469         * tests/test-version-etc.sh: Don't fail on different
46470         project/version.
46471
46472 2009-08-12  Bruno Haible  <bruno@clisp.org>
46473
46474         Tests for modules 'getopt-posix', 'getopt-gnu'.
46475         * modules/getopt-posix-tests: New file.
46476         * tests/test-getopt.c: New file.
46477         * tests/test-getopt.h: New file.
46478         * tests/test-getopt_long.h: New file.
46479
46480         New modules 'getopt-posix', 'getopt-gnu'.
46481         * modules/getopt-gnu: New file, renamed from modules/getopt.
46482         * modules/getopt-posix: New file.
46483         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46484         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46485         (gl_GETOPT): Remove macro.
46486         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46487         Disable the test against BSD systems that declare optreset. Test
46488         against mingw bug. Test against lack of support of optional arguments
46489         on many platforms.
46490         * doc/glibc-headers/getopt.texi: Update module name and list of
46491         relevant platforms.
46492         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46493         'getopt-gnu' and more portability problems.
46494         * NEWS: Mention the changes.
46495
46496 2009-08-12  Bruno Haible  <bruno@clisp.org>
46497
46498         Ensure that optarg etc. get declared by <unistd.h>.
46499         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46500         AC_USE_SYSTEM_EXTENSIONS.
46501         * modules/getopt (Depends-on): Add 'extensions'.
46502
46503 2009-08-12  Bruno Haible  <bruno@clisp.org>
46504
46505         Avoid test link errors.
46506         * modules/pipe-filter-ii-tests (Makefile.am): Define
46507         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46508         * modules/pipe-filter-gi-tests (Makefile.am): Define
46509         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46510         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46511
46512 2009-08-12  Bruno Haible  <bruno@clisp.org>
46513
46514         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46515         gl_GETOPT_SUBSTITUTE before.
46516         (gl_GETOPT): Use it.
46517         * m4/argp.m4 (gl_ARGP): Update.
46518         Reported by Sergey Poznyakoff.
46519
46520         * m4/getopt.m4: Reorder macros.
46521         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46522         (gl_GETOPT_SUBSTITUTE): Remove macro.
46523
46524 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46525
46526         Minor improvement in gitlog-to-changelog
46527
46528         * build-aux/gitlog-to-changelog: New option `--format' makes
46529         output format string configurable.
46530
46531 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46532
46533         Optimize exclude: use hash tables for non-wildcard patterns.
46534
46535         * lib/exclude.c: Include hash.h and mbuiter.h
46536         (struct exclude_pattern, exclude_segment): New data types.
46537         (struct exclude): Rewrite.
46538         (fnmatch_pattern_has_wildcards): New function.
46539         (new_exclude_segment, free_exclude_segment): New functions.
46540         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46541         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46542         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46543         * modules/exclude: Depend on hash and mbuiter.
46544
46545         * modules/exclude-tests: New file.
46546         * tests/test-exclude.c: New file.
46547         * tests/test-exclude1.sh: New file.
46548         * tests/test-exclude2.sh: New file.
46549         * tests/test-exclude3.sh: New file.
46550         * tests/test-exclude4.sh: New file.
46551         * tests/test-exclude5.sh: New file.
46552         * tests/test-exclude6.sh: New file.
46553         * tests/test-exclude7.sh: New file.
46554
46555 2009-08-12  Bruno Haible  <bruno@clisp.org>
46556
46557         Ensure that getopt() gets declared by <unistd.h>.
46558         * lib/unistd.in.h: Conditionally include getopt.h.
46559         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46560         Set GNULIB_UNISTD_H_GETOPT.
46561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46562         GNULIB_UNISTD_H_GETOPT.
46563         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46564
46565 2009-08-12  Bruno Haible  <bruno@clisp.org>
46566
46567         Clarify logic.
46568         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46569         gl_replace_getopt instead of GETOPT_H.
46570
46571 2009-08-12  Bruno Haible  <bruno@clisp.org>
46572
46573         * m4/getopt.m4: Add comments.
46574
46575 2009-08-12  Bruno Haible  <bruno@clisp.org>
46576
46577         Disable multithread support by default on Cygwin 1.5.x.
46578         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46579         set gl_use_threads=no if not specified otherwise.
46580
46581 2009-08-11  Bruno Haible  <bruno@clisp.org>
46582
46583         Avoid compilation error on NetBSD 5.0.
46584         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46585         * tests/test-stdio.c: Likewise.
46586         * tests/test-stdlib.c: Likewise.
46587         * tests/test-string.c: Likewise.
46588         * tests/test-unistd.c: Likewise.
46589         Reported by Greg Troxel <gdt@ir.bbn.com>
46590         at <https://savannah.gnu.org/support/?106973>.
46591
46592 2009-08-11  Bruno Haible  <bruno@clisp.org>
46593
46594         * modules/dup2-tests (Depends-on): Remove close.
46595
46596         Undo 2009-07-19 commit.
46597         * modules/acl-tests (Depends-on): Remove close.
46598         * modules/binary-io-tests (Depends-on): Likewise.
46599         * modules/closein-tests (Depends-on): Likewise.
46600         * modules/flock-tests (Depends-on): Likewise.
46601         * modules/fsync-tests (Depends-on): Likewise.
46602         * modules/lseek-tests (Depends-on): Likewise.
46603         * modules/pipe-tests (Depends-on): Likewise.
46604         * modules/posix_spawn-tests (Depends-on): Likewise.
46605         * modules/posix_spawnp-tests (Depends-on): Likewise.
46606         * modules/stat-time-tests (Depends-on): Likewise.
46607         * modules/yesno-tests (Depends-on): Likewise.
46608
46609 2009-08-10  Bruno Haible  <bruno@clisp.org>
46610
46611         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46612
46613 2009-08-10  Bruno Haible  <bruno@clisp.org>
46614
46615         Fix a gcc warning.
46616         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46617
46618 2009-08-10  Bruno Haible  <bruno@clisp.org>
46619
46620         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46621         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46622         not only the first time.
46623         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46624         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46625         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46626         is 1, not only the the first time.
46627
46628 2009-08-10  Bruno Haible  <bruno@clisp.org>
46629
46630         Make it possible to use module 'gethostname' without module 'close'.
46631         * lib/unistd.in.h (close): Evoke a link error only if
46632         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46634         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46635         * modules/unistd (Makefile.am): Substitute
46636         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46637         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46638         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46639         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46640         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46641         * modules/sys_ioctl (Makefile.am): Substitute
46642         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46643         * modules/socket (configure.ac): On native Windows, set
46644         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46645         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46646         Reported by Sam Steingold <sds@gnu.org>.
46647
46648 2009-08-10  Bruno Haible  <bruno@clisp.org>
46649
46650         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46651         * modules/ioctl (configure.ac): Likewise.
46652
46653 2009-08-10  Bruno Haible  <bruno@clisp.org>
46654
46655         Avoid collision between gnulib wrapper and libintl wrapper.
46656         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46657         already defined in intl/printf.c.
46658         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46659         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46660
46661 2009-08-09  Bruno Haible  <bruno@clisp.org>
46662
46663         Make <sys/select.h> really self-contained, also on Solaris 10.
46664         * lib/sys_select.in.h: Include <string.h>.
46665         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46666         Solaris 10 problem.
46667         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46668         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46669         Reported by Jim Meyering.
46670
46671 2009-08-09  Bruno Haible  <bruno@clisp.org>
46672
46673         Avoid warnings from 'aclocal' that are due to a use of macro name
46674         AM_XGETTEXT_OPTION that is not defined in automake.
46675         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46676         automake.
46677         * modules/error (configure.ac): Likewise.
46678         * modules/propername (configure.ac): Likewise.
46679         * modules/vasprintf (configure.ac): Likewise.
46680         * modules/verror (configure.ac): Likewise.
46681         * modules/xprintf (configure.ac): Likewise.
46682         * modules/xvasprintf (configure.ac): Likewise.
46683
46684 2009-08-08  Bruno Haible  <bruno@clisp.org>
46685
46686         Avoid compilation error in C++ mode.
46687         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46688         Reported by Sam Steingold <sds@gnu.org>.
46689
46690 2009-08-08  Bruno Haible  <bruno@clisp.org>
46691
46692         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46693         for the various Unix platforms.
46694         * doc/posix-headers/limits.texi: Update platforms list regarding
46695         HOST_NAME_MAX.
46696         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46697
46698 2009-08-07  Jim Meyering  <meyering@redhat.com>
46699
46700         selinux-at: fix typo in a comment
46701         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46702         Spotted by Paolo Bonzini.
46703
46704         selinux-at: remove redundant m4 code, add documentation
46705         * modules/selinux-at (configure.ac): Remove redundant code.
46706         LIB_SELINUX is already set via the dependent module, selinux-h.
46707         (Include): Add quotes around selinux-at.h.
46708         * lib/selinux-at.h: Add documentation.
46709         Reported by Bruno Haible in
46710         http://marc.info/?l=gnulib-bug&m=124958988300749
46711
46712 2009-08-07  Bruno Haible  <bruno@clisp.org>
46713
46714         Avoid link error on MacOS X 10.3 and 10.4.
46715         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
46716         on non-ELF systems.
46717         * lib/argp-pv.c (argp_program_version): Likewise.
46718         Reported by Simon Josefsson.
46719
46720 2009-08-07  Simon Josefsson  <simon@josefsson.org>
46721
46722         * tests/test-version-etc.sh: Use $EXEEXT.
46723
46724 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
46725
46726         update-copyright: update documentation to point to maint.mk
46727         * build-aux/update-copyright: Here.
46728
46729 2009-08-06  Jim Meyering  <meyering@redhat.com>
46730
46731         maint.mk: support update-copyright-local
46732         * top/maint.mk (update-copyright-local): Define place-holder.
46733         (update-copyright): Depend on $(update-copyright-local).
46734
46735 2009-08-06  Jim Meyering  <meyering@redhat.com>
46736
46737         selinux-at: new module
46738         Initially written for coreutils, this module will soon be
46739         used by findutils, too.
46740         * MODULES.html.sh [Misc]: Add selinux-at.
46741         * lib/selinux-at.h: New file, from coreutils.
46742         * lib/selinux-at.c: Likewise.
46743         * modules/selinux-at: Likewise.
46744         (License): Change from LGPL to GPL, since it depends
46745         on the GPL'd openat module.
46746
46747         doc: update README
46748         * README: Remove references to cogito.
46749         Remove cvs-repo-updating instructions from 2007.
46750         Don't imply that CVS is better if you have limited disk space.
46751
46752 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46753
46754         update-copyright: support C-style comments
46755         * build-aux/update-copyright: Implement and document.
46756         * tests/test-update-copyright.sh: Test.
46757
46758 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46759
46760         update-copyright: support omitted "(C)"
46761         * build-aux/update-copyright: Implement and document.  Also,
46762         allow variable whitespace before "(C)".
46763         * tests/test-update-copyright.sh: Test.
46764
46765 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46766
46767         update-copyright: don't trip on non-FSF copyright statements
46768         * build-aux/update-copyright: Fix so that the first correctly
46769         formatted FSF copyright statement is recognized no matter what
46770         appears before it.  Update documentation.
46771         * tests/test-update-copyright.sh: Test that.
46772
46773 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46774
46775         update-copyright: clean up code a little
46776         * build-aux/update-copyright: Append "_re" to the name of any
46777         variable holding a regular expression.
46778         Replace "old" and "new" with "stmt" in variable names.
46779         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
46780         handled correctly.
46781         Format code more consistently.
46782
46783 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46784
46785         update-copyright-tests: improve portability
46786         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
46787         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
46788
46789 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46790
46791         update-copyright: support @copyright{} and &copy;
46792         * build-aux/update-copyright: Implement and document.
46793         * tests/test-update-copyright.sh: Test.
46794
46795 2009-08-04  Jim Meyering  <meyering@redhat.com>
46796
46797         update-copyright-tests: correctly test EOL=\r\n handling
46798         * tests/test-update-copyright.sh: Put \r at the end of some lines
46799         for the dos-eol tests.  Based on a patch by Joel E. Denny.
46800
46801         maint.mk: make update-copyright exclusion list more configurable
46802         * top/maint.mk (update-copyright): Default to excluding COPYING,
46803         but allow an override, in case someone does want to update that file.
46804
46805         maint.mk: don't update copyright date in COPYING
46806         * top/maint.mk (update-copyright): Exclude COPYING.
46807
46808         maint.mk: add a copyright-updating rule
46809         * top/maint.mk (update-copyright): New rule.
46810         Derived from coreutils/Makefile.am.
46811
46812         update-copyright: rename some variables
46813         * build-aux/update-copyright: Rename a few variables for clarity.
46814         Tweak syntax.  List Joel E. Denny as coauthor.
46815
46816 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46817
46818         update-copyright: fix bug for 2-digit last year and add tests
46819         * build-aux/update-copyright: Fix bug.
46820         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
46821         specified.
46822         * modules/update-copyright-tests: New
46823         * tests/test-update-copyright.sh: New.
46824
46825 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46826
46827         update-copyright: handle leading tabs in line prefix
46828         * build-aux/update-copyright: Count leading tabs as 8 spaces
46829         when computing margin.  This helps with the formatting of
46830         ChangeLogs, for example.
46831         Fix documentation a little.
46832
46833 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46834
46835         update-copyright: support EOL=\r\n
46836         * build-aux/update-copyright: Implement that.
46837
46838 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46839
46840         update-copyright: automatically format copyright statements
46841         * build-aux/update-copyright: Implement that.
46842         Also, be a little more predictable and safer by always failing
46843         when the full copyright format is not perfectly recognized as an
46844         unbroken whole.  Discussed at
46845         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
46846         Rewrite documentation.
46847
46848 2009-08-03  Bruno Haible  <bruno@clisp.org>
46849
46850         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
46851
46852 2009-08-02  Bruno Haible  <bruno@clisp.org>
46853
46854         Tests for module 'uname'.
46855         * modules/uname-tests: New file.
46856         * tests/test-uname.c: New file.
46857
46858         New module 'uname'.
46859         * lib/uname.c: New file.
46860         * m4/uname.m4: New file.
46861         * modules/uname: New file.
46862         * doc/posix-functions/uname.texi: Mention the new module.
46863
46864 2009-08-02  Bruno Haible  <bruno@clisp.org>
46865
46866         Tests for module 'sys_utsname'.
46867         * modules/sys_utsname-tests: New file.
46868         * tests/test-sys_utsname.c: New file.
46869
46870         New module 'sys_utsname'.
46871         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
46872         * m4/sys_utsname_h.m4: New file.
46873         * modules/sys_utsname: New file.
46874         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46875
46876 2009-08-02  Bruno Haible  <bruno@clisp.org>
46877
46878         Implicitly initialize the sockets library.
46879         * lib/gethostname.c: Include sockets.h.
46880         (rpl_gethostname): Invoke gl_sockets_startup.
46881         * lib/socket.c: Include sockets.h.
46882         (rpl_socket): Invoke gl_sockets_startup.
46883         * modules/gethostname (Depends-on): Add sockets.
46884         * modules/socket (Depends-on): Likewise.
46885         * tests/test-poll.c: Don't include sockets.h.
46886         (main): Don't invoke gl_sockets_startup.
46887         * tests/test-select.c: Don't include sockets.h.
46888         (main): Don't invoke gl_sockets_startup.
46889
46890 2009-08-02  Bruno Haible  <bruno@clisp.org>
46891
46892         Allow multiple calls to gl_sockets_startup.
46893         * lib/sockets.c (initialized_sockets_version): New variable.
46894         (gl_sockets_startup): Do nothing if already called for this or a higher
46895         version.
46896         (gl_sockets_cleanup): Reset initialized_sockets_version.
46897
46898 2009-08-03  Simon Josefsson  <simon@josefsson.org>
46899
46900         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
46901         different project/version.
46902
46903 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
46904             Bruno Haible  <bruno@clisp.org>
46905
46906         Tests for module 'pipe-filter-gi'.
46907         * modules/pipe-filter-gi-tests: New file.
46908         * tests/test-pipe-filter-gi1.sh: New file.
46909         * tests/test-pipe-filter-gi1.c: New file.
46910         * tests/test-pipe-filter-gi2.sh: New file.
46911         * tests/test-pipe-filter-gi2-main.c: New file.
46912         * tests/test-pipe-filter-gi2-child.c: New file.
46913
46914         New module 'pipe-filter-gi'.
46915         * lib/pipe-filter-gi.c: New file.
46916         * modules/pipe-filter-gi: New file.
46917
46918 2009-08-02  Bruno Haible  <bruno@clisp.org>
46919             Paolo Bonzini  <bonzini@gnu.org>
46920
46921         Tests for module 'pipe-filter-ii'.
46922         * modules/pipe-filter-ii-tests: New file.
46923         * tests/test-pipe-filter-ii1.sh: New file.
46924         * tests/test-pipe-filter-ii1.c: New file.
46925         * tests/test-pipe-filter-ii2.sh: New file.
46926         * tests/test-pipe-filter-ii2-main.c: New file.
46927         * tests/test-pipe-filter-ii2-child.c: New file.
46928
46929         New module 'pipe-filter-ii'.
46930         * lib/pipe-filter.h: New file.
46931         * lib/pipe-filter-ii.c: New file.
46932         * lib/pipe-filter-aux.h: New file.
46933         * modules/pipe-filter-ii: New file.
46934
46935 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46936
46937         * lib/gc-libgcrypt.c: Change copyright to FSF.
46938         * lib/gc-gnulib.c: Likewise.
46939
46940 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
46941
46942         * lib/gethostname.c: Include limits.h.
46943
46944 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46945             Bruno Haible  <bruno@clisp.org>
46946
46947         Ensure HOST_NAME_MAX as part of the gethostname module.
46948         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
46949         define also HOST_NAME_MAX.
46950         * tests/test-gethostname.c: Include <limits.h>.
46951         (main): Check also HOST_NAME_MAX.
46952         * doc/posix-headers/limits.texi: Document the mingw problem.
46953
46954 2009-08-02  Bruno Haible  <bruno@clisp.org>
46955
46956         * lib/gethostname.c (gethostname): Fix handling of large len argument.
46957         Add comments.
46958
46959 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46960
46961         * lib/gethostname.c: Add Windows wrapper.
46962         * m4/gethostname.m4: Look for gethostname in -lws2_32.
46963         * modules/gethostname: Depend on sys_socket & errno, for also
46964         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
46965         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
46966
46967 2009-07-31  Jim Meyering  <meyering@redhat.com>
46968
46969         getloadavg: fix symbol name in comment
46970         * lib/getloadavg.c: Correct a typo I introduced when adding
46971         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
46972         Matt Kraai spotted the problem.
46973
46974 2009-07-29  Matt Kraai  <mkraai@beckman.com>
46975
46976         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
46977         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
46978         code also if ! defined N_NAME_POINTER.
46979         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
46980         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
46981         but the n_name member is a 12-byte array.
46982
46983 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
46984
46985         update-copyright: generalize comment handling
46986         * build-aux/update-copyright: Handle copyright statements
46987         within more comment styles.
46988         Document usage.
46989         Report any file with an external copyright holder or parse failure.
46990
46991 2009-07-29  Jim Meyering  <meyering@redhat.com>
46992
46993         mktime: correct setting of REPLACE_MKTIME
46994         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
46995
46996         update-copyright: new module
46997         * modules/update-copyright: New file.
46998         * build-aux/update-copyright: New file.
46999         * MODULES.html.sh (maint+release support): Add update-copyright.
47000
47001 2009-07-27  Bruno Haible  <bruno@clisp.org>
47002
47003         Fix compilation error when <ctime> is used and mktime is replaced.
47004         * lib/time.in.h (mktime): New declaration.
47005         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47006         REPLACE_MKTIME instead of defining mktime in config.h.
47007         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47008         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47009         Reported by Ross McFarland <rwmcfa1@neces.com>.
47010
47011 2009-07-27  Bruno Haible  <bruno@clisp.org>
47012
47013         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47014         Reported by Matt Kraai <mkraai@beckman.com>.
47015
47016 2009-07-25  Jim Meyering  <meyering@redhat.com>
47017
47018         maint.mk: avoid warnings about missing files
47019         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47020         diagnostic when .prev-version does not exist.
47021         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47022         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47023         nonexistent cfg.mk.
47024         Suggestions from Simon Josefsson.
47025
47026 2009-07-25  Bruno Haible  <bruno@clisp.org>
47027
47028         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47029         defined as macros. Needed on QNX 6.4.1.
47030         Reported by Matt Kraai <mkraai@beckman.com>.
47031
47032 2009-07-23  Jim Meyering  <meyering@redhat.com>
47033
47034         maint.mk: invoke "make dist" with a working value of XZ_OPT
47035         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47036
47037 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47038
47039         Make fseeko.c compile on QNX.
47040         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47041
47042 2009-07-22  Peter Simons  <simons@cryp.to>
47043
47044         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47045         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47046         * lib/md4.h: Likewise.
47047         * lib/md5.h: Likewise.
47048         * lib/sha1.h: Likewise.
47049         * lib/sha256.h: Likewise.
47050         * lib/sha512.h: Likewise.
47051
47052         tests-sha1: don't assign literal string to 'char *' variable
47053         * tests/test-sha1.c (main): Declare locals with "const" to match
47054         attributes of the right hand side.
47055
47056 2009-07-21  Eric Blake  <ebb9@byu.net>
47057
47058         dup2: fix more mingw problems
47059         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47060         fd to itself.
47061         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47062         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47063         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47064         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47065         care of mingw bugs.
47066
47067 2009-07-21  Jim Meyering  <meyering@redhat.com>
47068
47069         vc-list-files: avoid failure when /bin/sh is dash
47070         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47071         On some Debian based systems, /bin/sh is a symlink to dash, and running
47072         this command would omit the "/" following each 'tests' prefix:
47073           dash -x build-aux/vc-list-files -C . tests
47074         That is because bash and dash work differently:
47075           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47076           bash ok
47077           dash odd
47078
47079 2009-07-21  Eric Blake  <ebb9@byu.net>
47080
47081         dup2-tests: test previous patch
47082         * modules/dup2-tests: New file.
47083         * tests/test-dup2.c: Likewise.
47084         * tests/test-open.c (main): Avoid unspecified behavior.
47085         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47086         test.
47087
47088         dup2: work around mingw and cygwin 1.5 bug
47089         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47091         * modules/unistd (Makefile.am): Substitute it.
47092         * lib/unistd.in.h (dup2): Declare the replacement.
47093         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47094         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47095         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47096         * modules/execute (Depends-on): Add dup2.
47097         * modules/fseterr (Depends-on): Likewise.
47098         * modules/pipe (Depends-on): Likewise.
47099         * modules/posix_spawn-internal (Depends-on): Likewise.
47100
47101 2009-07-21  Bruno Haible  <bruno@clisp.org>
47102
47103         * modules/.gitattributes: New file.
47104
47105 2009-07-20  Bruno Haible  <bruno@clisp.org>
47106
47107         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47108         (main): Use it.
47109
47110 2009-07-20  Eric Blake  <ebb9@byu.net>
47111
47112         test-pipe: make a bit more robust.
47113         * tests/test-pipe.c (myerr): Allow error messages regardless of
47114         what we do to stderr.
47115         (test_pipe): Rearrange to avoid deadlock.
47116         (child_main): Try a larger read, to ensure we avoided deadlock.
47117         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47118         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47119         if misused.
47120
47121 2009-07-19  Jim Meyering  <meyering@redhat.com>
47122
47123         fts: avoid false-positive cycle-detection
47124         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47125         for each new command line argument.
47126
47127 2009-07-19  Bruno Haible  <bruno@clisp.org>
47128
47129         Fix build error on mingw with the modules sys_select and unistd.
47130         * modules/acl-tests (Depends-on): Add close.
47131         * modules/binary-io-tests (Depends-on): Likewise.
47132         * modules/closein-tests (Depends-on): Likewise.
47133         * modules/flock-tests (Depends-on): Likewise.
47134         * modules/fsync-tests (Depends-on): Likewise.
47135         * modules/lseek-tests (Depends-on): Likewise.
47136         * modules/pipe-tests (Depends-on): Likewise.
47137         * modules/posix_spawn-tests (Depends-on): Likewise.
47138         * modules/posix_spawnp-tests (Depends-on): Likewise.
47139         * modules/stat-time-tests (Depends-on): Likewise.
47140         * modules/yesno-tests (Depends-on): Likewise.
47141
47142 2009-07-19  Bruno Haible  <bruno@clisp.org>
47143
47144         Unify conditionals.
47145         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47146         macros, not at the compiler macros.
47147         * lib/pipe.c: Likewise.
47148         * lib/execute.c: Likewise.
47149         * lib/spawni.c: Likewise.
47150
47151 2009-07-19  Bruno Haible  <bruno@clisp.org>
47152
47153         Fix handling of closed stdin/stdout/stderr on mingw.
47154         * lib/w32spawn.h: Include unistd.h.
47155         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47156         file descriptor with O_NOINHERIT flag.
47157         (fd_safer_noinherit): New function, based on fd-safer.c.
47158         (dup_safer_noinherit): New function, based on dup-safer.c.
47159         (undup_safer_noinherit): New function.
47160         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47161         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47162         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47163         instead of fd_safer.
47164         * tests/test-pipe.c: Include <windows.h>.
47165         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47166         result.
47167
47168         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47169         from main.
47170         (test_pipe): Pass an extra argument for disambiguation.
47171         (main): Invoke parent_main or child_main.
47172
47173         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47174         consistently.
47175
47176 2009-07-18  Eric Blake  <ebb9@byu.net>
47177
47178         test-pipe: fix mingw build
47179         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47180
47181 2009-07-18  Bruno Haible  <bruno@clisp.org>
47182
47183         * modules/pipe-tests (Makefile.am): Fix typo.
47184
47185 2009-07-18  Eric Blake  <ebb9@byu.net>
47186
47187         error: fix mingw build
47188         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47189         Reported by Bruno Haible.
47190
47191         error: avoid undefined use of stdout
47192         * lib/error.c (error, error_at_line): Check that fd 1 is open
47193         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47194         is handling faults and the close_stdout module wants to report the
47195         detection of closed stdout as an error.
47196
47197 2009-07-17  Eric Blake  <ebb9@byu.net>
47198
47199         pipe: be robust in face of closed fds
47200         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47201         should cause child to misbehave.
47202         * modules/pipe-tests: New module.
47203         * tests/test-pipe.c: New file.
47204         * tests/test-pipe.sh: New file.
47205         Reported by Akim Demaille.
47206
47207 2009-07-14  Bruno Haible  <bruno@clisp.org>
47208
47209         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47210         Reported by anonymous kc.
47211
47212 2009-07-07  Jim Meyering  <meyering@redhat.com>
47213
47214         maint.mk: don't look for translatable strings in *.m4 or *.mk
47215         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47216         when searching for translatable strings.
47217
47218 2009-07-05  Jim Meyering  <meyering@redhat.com>
47219
47220         remove superfluous parentheses in STREQ definition
47221         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47222         * lib/getugroups.c (STREQ): Likewise.
47223         * lib/fnmatch.c (STREQ): Likewise.
47224         Spotted by Bruno Haible.
47225
47226 2009-07-04  Jim Meyering  <meyering@redhat.com>
47227
47228         argv-iter: new module
47229         * MODULES.html.sh: Add argv-iter.
47230         * lib/argv-iter.c, lib/argv-iter.h: New files.
47231         * modules/argv-iter: New file.
47232         * modules/argv-iter-tests: New file.
47233         * tests/test-argv-iter.c: Test it.
47234
47235 2009-07-04  Bruno Haible  <bruno@clisp.org>
47236
47237         Fix assertion.
47238         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47239         contains more exact copies of a given entry than file2, leave the extra
47240         copies unpaired rather than aborting.
47241         Reported by Eric Blake.
47242
47243 2009-07-02  Bruno Haible  <bruno@clisp.org>
47244
47245         Speedup git-merge-changelog for git cherry-pick.
47246         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47247         (entries_mapping_get): New function, extracted from compute_mapping.
47248         (entries_mapping_reverse_get): New function.
47249         (compute_mapping): Add a 'full' argument. Return the result in a
47250         'struct entries_mapping'.
47251         (main): Update. Access the mappings through entries_mapping_get.
47252         Reported by Eric Blake.
47253
47254 2009-07-02  Bruno Haible  <bruno@clisp.org>
47255
47256         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47257         best_i.
47258
47259 2009-07-02  Bruno Haible  <bruno@clisp.org>
47260
47261         Speed up approximate search for matching ChangeLog entries.
47262         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47263         argument. Call fstrcmp_bounded instead of fstrcmp.
47264         (compute_mapping, try_split_merged_entry, main): Update callers.
47265
47266 2009-07-02  Bruno Haible  <bruno@clisp.org>
47267
47268         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47269
47270 2009-06-30  Bruno Haible  <bruno@clisp.org>
47271
47272         Reduce the number of uc_is_cased calls.
47273         * lib/unicase.h (casing_suffix_context_t): Add
47274         'first_char_except_ignorable' field.
47275         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47276         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47277         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47278         Update initializer.
47279         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47280         case-ignorable characters.
47281         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47282         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47283         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47284         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47285         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47286
47287 2009-06-30  Bruno Haible  <bruno@clisp.org>
47288
47289         Tests for module 'unicase/ignorable'.
47290         * modules/unicase/ignorable-tests: New file.
47291         * tests/unicase/test-ignorable.c: New file, generated by
47292         gen-uni-tables.
47293
47294         Tests for module 'unicase/cased'.
47295         * modules/unicase/cased-tests: New file.
47296         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47297         * tests/unicase/test-predicate-part1.h: New file, derived from
47298         tests/unictype/test-predicate-part1.h.
47299         * tests/unicase/test-predicate-part2.h: New file, same as
47300         tests/unictype/test-predicate-part2.h.
47301
47302         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47303         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47304         (output_casing_properties): New function.
47305         (main): Call it.
47306         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47307         * lib/unicase/cased.c: Include unictype/bitmap.h.
47308         (uc_is_cased): Define through a bitmap lookup.
47309         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47310         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47311         (uc_is_case_ignorable): Define through a bitmap lookup.
47312         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47313         lib/unictype/bitmap.h.
47314         (Depends-on): Add inline. Clean up.
47315         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47316         lib/unictype/bitmap.h.
47317         (Depends-on): Add inline. Clean up.
47318         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47319         recognition.
47320         * tests/unicase/test-u16-tolower.c (main): Likewise.
47321         * tests/unicase/test-u32-tolower.c (main): Likewise.
47322
47323 2009-06-30  Bruno Haible  <bruno@clisp.org>
47324
47325         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47326         * lib/unicase/u16-casemap.c: Likewise.
47327         * lib/unicase/u32-casemap.c: Likewise.
47328
47329 2009-06-29  Bruno Haible  <bruno@clisp.org>
47330
47331         Define u32_casefold as a wrapper around u32_ct_casefold.
47332         * lib/unicase/u32-casefold.c: Update.
47333         * modules/unicase/u32-casefold (Depends-on): Add
47334         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47335         unicase/empty-suffix-context. Clean up.
47336
47337         Define u16_casefold as a wrapper around u16_ct_casefold.
47338         * lib/unicase/u16-casefold.c: Update.
47339         * modules/unicase/u16-casefold (Depends-on): Add
47340         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47341         unicase/empty-suffix-context. Clean up.
47342
47343         Define u8_casefold as a wrapper around u8_ct_casefold.
47344         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47345         * lib/unicase/u8-casefold.c: Update.
47346         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47347         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47348
47349         Define u32_totitle as a wrapper around u32_ct_totitle.
47350         * lib/unicase/u32-totitle.c: Update.
47351         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47352         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47353
47354         Define u16_totitle as a wrapper around u16_ct_totitle.
47355         * lib/unicase/u16-totitle.c: Update.
47356         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47357         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47358
47359         Define u8_totitle as a wrapper around u8_ct_totitle.
47360         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47361         functions.
47362         (FUNC): Delegate to U_CT_TOTITLE.
47363         * lib/unicase/u8-totitle.c: Update.
47364         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47365         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47366
47367         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47368         invocation.
47369         * modules/unicase/u32-tolower (Depends-on): Add
47370         unicase/empty-prefix-context, unicase/empty-suffix-context.
47371
47372         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47373         invocation.
47374         * modules/unicase/u16-tolower (Depends-on): Add
47375         unicase/empty-prefix-context, unicase/empty-suffix-context.
47376
47377         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47378         * modules/unicase/u8-tolower (Depends-on): Add
47379         unicase/empty-prefix-context, unicase/empty-suffix-context.
47380
47381         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47382         invocation.
47383         * modules/unicase/u32-toupper (Depends-on): Add
47384         unicase/empty-prefix-context, unicase/empty-suffix-context.
47385
47386         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47387         invocation.
47388         * modules/unicase/u16-toupper (Depends-on): Add
47389         unicase/empty-prefix-context, unicase/empty-suffix-context.
47390
47391         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47392         * modules/unicase/u8-toupper (Depends-on): Add
47393         unicase/empty-prefix-context, unicase/empty-suffix-context.
47394
47395         New module 'unicase/u32-ct-casefold'.
47396         * lib/unicase/u32-ct-casefold.c: New file.
47397         * modules/unicase/u32-ct-casefold: New file.
47398
47399         New module 'unicase/u16-ct-casefold'.
47400         * lib/unicase/u16-ct-casefold.c: New file.
47401         * modules/unicase/u16-ct-casefold: New file.
47402
47403         New module 'unicase/u8-ct-casefold'.
47404         * lib/unicase/u8-ct-casefold.c: New file.
47405         * lib/unicase/u-ct-casefold.h: New file, derived from
47406         lib/unicase/u-casefold.h.
47407         * modules/unicase/u8-ct-casefold: New file.
47408
47409         New module 'unicase/u32-ct-totitle'.
47410         * lib/unicase/u32-ct-totitle.c: New file.
47411         * modules/unicase/u32-ct-totitle: New file.
47412
47413         New module 'unicase/u16-ct-totitle'.
47414         * lib/unicase/u16-ct-totitle.c: New file.
47415         * modules/unicase/u16-ct-totitle: New file.
47416
47417         New module 'unicase/u8-ct-totitle'.
47418         * lib/unicase/u8-ct-totitle.c: New file.
47419         * lib/unicase/u-ct-totitle.h: New file, derived from
47420         lib/unicase/u-totitle.h.
47421         * modules/unicase/u8-ct-totitle: New file.
47422
47423         New module 'unicase/u32-ct-tolower'.
47424         * lib/unicase/u32-ct-tolower.c: New file.
47425         * modules/unicase/u32-ct-tolower: New file.
47426
47427         New module 'unicase/u16-ct-tolower'.
47428         * lib/unicase/u16-ct-tolower.c: New file.
47429         * modules/unicase/u16-ct-tolower: New file.
47430
47431         New module 'unicase/u8-ct-tolower'.
47432         * lib/unicase/u8-ct-tolower.c: New file.
47433         * modules/unicase/u8-ct-tolower: New file.
47434
47435         New module 'unicase/u32-ct-toupper'.
47436         * lib/unicase/u32-ct-toupper.c: New file.
47437         * modules/unicase/u32-ct-toupper: New file.
47438
47439         New module 'unicase/u16-ct-toupper'.
47440         * lib/unicase/u16-ct-toupper.c: New file.
47441         * modules/unicase/u16-ct-toupper: New file.
47442
47443         New module 'unicase/u8-ct-toupper'.
47444         * lib/unicase/u8-ct-toupper.c: New file.
47445         * modules/unicase/u8-ct-toupper: New file.
47446
47447         Add context arguments to u*_casemap functions.
47448         * lib/unicase/unicasemap.h: Include unicase.h.
47449         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47450         suffix_context arguments.
47451         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47452         functions.
47453         (FUNC): Add prefix_context and suffix_context arguments. Use
47454         uc_is_cased and uc_is_case_ignorable.
47455         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47456         * lib/unicase/u16-casemap.c: Likewise.
47457         * lib/unicase/u32-casemap.c: Likewise.
47458         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47459         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47460         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47461         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47462         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47463         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47464
47465         New module 'unicase/u32-suffix-context'.
47466         * lib/unicase/u32-suffix-context.c: New file.
47467         * modules/unicase/u32-suffix-context: New file.
47468
47469         New module 'unicase/u16-suffix-context'.
47470         * lib/unicase/u16-suffix-context.c: New file.
47471         * modules/unicase/u16-suffix-context: New file.
47472
47473         New module 'unicase/u8-suffix-context'.
47474         * lib/unicase/u8-suffix-context.c: New file.
47475         * lib/unicase/u-suffix-context.h: New file.
47476         * modules/unicase/u8-suffix-context: New file.
47477
47478         New module 'unicase/empty-suffix-context'.
47479         * lib/unicase/empty-suffix-context.c: New file.
47480         * modules/unicase/empty-suffix-context: New file.
47481
47482         New module 'unicase/u32-prefix-context'.
47483         * lib/unicase/u32-prefix-context.c: New file.
47484         * modules/unicase/u32-prefix-context: New file.
47485
47486         New module 'unicase/u16-prefix-context'.
47487         * lib/unicase/u16-prefix-context.c: New file.
47488         * modules/unicase/u16-prefix-context: New file.
47489
47490         New module 'unicase/u8-prefix-context'.
47491         * lib/unicase/u8-prefix-context.c: New file.
47492         * lib/unicase/u-prefix-context.h: New file.
47493         * lib/unicase/context.h: New file.
47494         * modules/unicase/u8-prefix-context: New file.
47495
47496         New module 'unicase/empty-prefix-context'.
47497         * lib/unicase/empty-prefix-context.c: New file.
47498         * modules/unicase/empty-prefix-context: New file.
47499
47500         New module 'unicase/ignorable'.
47501         * lib/unicase/ignorable.c: New file.
47502         * modules/unicase/ignorable: New file.
47503
47504         New module 'unicase/cased'.
47505         * lib/unicase/caseprop.h: New file.
47506         * lib/unicase/cased.c: New file.
47507         * modules/unicase/cased: New file.
47508
47509         New functions for case mapping of substrings.
47510         * lib/unicase.h (casing_prefix_context_t): New type.
47511         (unicase_empty_prefix_context): New variable.
47512         (u8_casing_prefix_context, u16_casing_prefix_context,
47513         u32_casing_prefix_context, u8_casing_prefixes_context,
47514         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47515         declarations.
47516         (casing_suffix_context_t): New type.
47517         (unicase_empty_suffix_context): New variable.
47518         (u8_casing_suffix_context, u16_casing_suffix_context,
47519         u32_casing_suffix_context, u8_casing_suffixes_context,
47520         u16_casing_suffixes_context, u32_casing_suffixes_context,
47521         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47522         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47523         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47524         declarations.
47525
47526 2009-06-28  Jim Meyering  <meyering@redhat.com>
47527
47528         boostrap: indent only with spaces
47529         * build-aux/bootstrap: Indent only with spaces, never TABs.
47530
47531         bootstrap: split long lines
47532         * build-aux/bootstrap: Keep line length < 80.
47533
47534         bootstrap: sync from coreutils
47535         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47536         just as autoreconf does.  Verify a list of prerequisite
47537         package-name,version-number pairs if defined in bootstrap.conf.
47538         Refer to README-prereq, if prerequisites are not satisfied.
47539
47540 2009-06-27  Eric Blake  <ebb9@byu.net>
47541
47542         tests: add test for bogus NULL definition
47543         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47544         * tests/test-stdlib.c: Likewise.
47545         * tests/test-string.c: Likewise.
47546         * tests/test-locale.c: Likewise.
47547         * tests/test-unistd.c: Likewise.
47548         * modules/stdio-tests (Depends-on): Add verify.
47549         * modules/stdlib-tests (Depends-on): Likewise.
47550         * modules/string-tests (Depends-on): Likewise.
47551         * modules/locale-tests (Depends-on): Likewise.
47552         * modules/unistd-tests (Depends-on): Likewise.
47553
47554 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47555
47556         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47557         self-explaining comment.
47558         * m4/selinux-selinux-h: Update serial.
47559         (gl_LIBSELINUX): New macro, adding a warning for missing development
47560         packages to code extracted from...
47561         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47562         Add warning for missing development packages here, too.
47563
47564 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47565
47566         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47567
47568 2009-06-25  Eric Blake  <ebb9@byu.net>
47569
47570         version-etc: fix regression
47571         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47572         gcc.
47573         (version_etc): Use it, to catch bugs with trailing NULL.
47574         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47575         (version_etc_va): Fix logic bug.
47576         * modules/version-etc-tests: Add test.
47577         * tests/test-version-etc.c: New file.
47578         * tests/test-version-etc.sh: Likewise.
47579
47580 2009-06-25  Sam Steingold  <sds@gnu.org>
47581
47582         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47583         mbtowc declaration.
47584
47585 2009-06-25  Eric Blake  <ebb9@byu.net>
47586
47587         fpurge: migrate into <stdio.h>
47588         * lib/fpurge.h: Delete...
47589         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47590         * lib/fpurge.c (fpurge): Change declaring header.
47591         * modules/fpurge (Files): Drop deleted file.
47592         (Depends-on): Add stdio.
47593         (configure.ac): Set witness.
47594         * modules/stdio (Makefile.am): Support fpurge macros.
47595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47596         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47597         * lib/fflush.c: Update client.
47598         * tests/test-fpurge.c: Likewise.
47599         * NEWS: Mention the change.
47600
47601 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47602
47603         * lib/argp-version-etc.c (program_authors): Add const
47604         qualifier.
47605         * lib/version-etc.c: Fix typos in the comments.
47606         * modules/argp-version-etc: Depends on version-etc.
47607
47608 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47609
47610         argp-version-etc: new module.
47611
47612         * lib/argp-version-etc.c: New file.
47613         * lib/argp-version-etc.h: New file.
47614         * modules/argp-version-etc: New file.
47615         * modules/argp-version-etc-tests: New file.
47616         * tests/test-argp-version-etc.c: New test.
47617         * tests/test-argp-version-etc-1.sh: New test.
47618
47619 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47620
47621         Provide additional interfaces and documentation for version-etc
47622         module.
47623
47624         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47625         interfaces.
47626         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47627         prototypes.
47628
47629 2009-06-24  Bruno Haible  <bruno@clisp.org>
47630
47631         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47632         HAVE_LIB${NAME} macro.
47633         Reported by Sam Steingold <sds@gnu.org>.
47634
47635 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47636
47637         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47638         needed.
47639
47640 2009-06-21  Bruno Haible  <bruno@clisp.org>
47641
47642         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47643         work.
47644         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47645         together with LIB${NAME}, LTLIB${NAME}.
47646         Reported by Sam Steingold <sds@gnu.org>.
47647
47648 2009-06-20  Jim Meyering  <meyering@redhat.com>
47649
47650         tests: make sc_require_test_exit_idiom more generic
47651         * top/maint.mk (Exit_witness_file): New overridable variable.
47652         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47653         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47654
47655 2009-06-19  Jim Meyering  <meyering@redhat.com>
47656
47657         hash: reverse order of src/dst parameters in an internal interface
47658         * lib/hash.c (transfer_entries): Reverse order of parameters to
47659         put DST before SRC.  Adjust callers.
47660
47661         tests: test-hash: avoid wholesale duplication
47662         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47663         Instead, use a loop and add a single conditional.
47664
47665         tests: test-hash: allow seed selection via a command line argument
47666         * tests/test-hash.c (get_seed): New function.
47667         (main): Use it.
47668
47669 2009-06-19  Eric Blake  <ebb9@byu.net>
47670
47671         hash: avoid memory leak on allocation failure
47672         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47673         failure.  Factor repeated algorithm...
47674         (transfer_entries): ...into new helper routine.
47675         (hash_delete): React to hash_rehash return value.
47676
47677         hash: reduce memory pressure in hash_rehash no-op case
47678         * lib/hash.c (next_prime): Avoid overflow.
47679         (hash_initialize): Factor bucket size computation...
47680         (compute_bucket_size): ...into new helper function.
47681         (hash_rehash): Use new function and open coding to reduce memory
47682         pressure, and avoid a memory leak in USE_OBSTACK code.
47683         Reported by Jim Meyering.
47684
47685 2009-06-18  Eric Blake  <ebb9@byu.net>
47686
47687         hash: make rotation more obvious
47688         * modules/hash (Depends-on): Add bitrotate and stdint.
47689         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47690         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47691         (SIZE_MAX): Rely on headers for definition.
47692         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47693         (raw_hasher): Use rotr_sz.
47694         Suggested by Jim Meyering.
47695
47696         hash: fix memory leak in last patch
47697         * lib/hash.c (hash_rehash): Avoid memory leak.
47698
47699         hash: avoid no-op rehashing
47700         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47701
47702         hash: provide default callback functions
47703         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47704         (hash_initialize): Use them as defaults.
47705         * tests/test-hash.c (main): Test this.
47706
47707         hash: minor optimization
47708         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
47709         when possible.
47710         (hash_initialize): Document this promise.
47711         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
47712         * tests/test-hash.c (hash_compare_strings): Test this.
47713
47714 2009-06-18  Bruno Haible  <bruno@clisp.org>
47715
47716         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
47717         going to be replaced anyway.
47718
47719 2009-06-18  Bruno Haible  <bruno@clisp.org>
47720
47721         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
47722         in one place.
47723         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
47724         be replaced anyway.
47725
47726 2009-06-18  Eric Blake  <ebb9@byu.net>
47727
47728         hash: check for resize before insertion
47729         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
47730         threshold before insertion, so that a pathological hash_rehash
47731         that fills every bucket can still trigger another rehash.
47732
47733 2009-06-18  Jim Meyering  <meyering@redhat.com>
47734
47735         hash-tests: add a loop around the small tests
47736         * tests/test-hash.c (main): Repeat small tests with selected
47737         small initial table sizes.
47738
47739 2009-06-17  Eric Blake  <ebb9@byu.net>
47740
47741         hash: minor cleanups
47742         * lib/hash.h (hash_entry): Make opaque, by moving...
47743         * lib/hash.c (hash_entry): ...here.
47744         (hash_insert): Clarify restrictions on what can be inserted.
47745         (hash_get_next): Clarify when it is safe to remove an element
47746         during traversal.
47747         (check_tuning): Skip verification when tuning is known safe.
47748         (hash_initialize): Clarify restrictions on tuning.
47749
47750 2009-06-17  Jim Meyering  <jim@meyering.net>
47751         and Eric Blake  <ebb9@byu.net>
47752
47753         hash-tests: new module
47754         * modules/hash-tests: New file.
47755         * tests/test-hash.c: New file.
47756
47757 2009-06-17  Eric Blake  <ebb9@byu.net>
47758
47759         strstr-simple: document new module
47760         * MODULES.html.sh: Document new module.
47761
47762         strstr, strcasestr: replace on platforms with broken memchr
47763         * modules/strstr: Split into...
47764         * modules/strstr-simple: ...new module that does not care about
47765         performance, but does care about glibc bug.
47766         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
47767         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
47768         if platform memchr is broken, per Debian bug 521737.
47769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
47770         memchr.
47771         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
47772         * doc/posix-functions/strstr.texi (strstr): Document the fix.
47773         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47774         * modules/mountlist (Depends-on): Add strstr-simple.
47775         * modules/gen-uni-tables (Depends-on): Likewise.
47776         * modules/argz (Depends-on): Add strstr.
47777
47778 2009-06-17  Bruno Haible  <bruno@clisp.org>
47779
47780         * modules/posix_spawn-internal (Depends-on): Add errno.
47781
47782 2009-06-17  Bruno Haible  <bruno@clisp.org>
47783
47784         Define missing ESTALE on Interix 3.5.
47785         * lib/errno.in.h (ESTALE): Assign a value if missing.
47786         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
47787         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
47788         missing.
47789         * doc/posix-headers/errno.texi: Mention the Interix bug.
47790         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
47791
47792 2009-06-15  Eric Blake  <ebb9@byu.net>
47793
47794         memchr, memchr2: add valgrind exception
47795         * lib/memchr.valgrind: New file.
47796         * lib/memchr2.valgrind: New file.
47797         * modules/memchr (Files): Distribute valgrind file.
47798         * modules/memchr2 (Files): Likewise.
47799
47800         docs: memchr is no longer obsolete
47801         * MODULES.html.sh: Move memchr from obsolete to string.h section.
47802         * lib/string.in.h (memchr): Simplify logic.
47803
47804 2009-06-14  Jim Meyering  <meyering@redhat.com>
47805
47806         link-follow: fix the "checking..." message to not mention trailing slash
47807         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
47808         never considered trailing slashes.
47809
47810 2009-06-14  Bruno Haible  <bruno@clisp.org>
47811
47812         * m4/memchr.m4: Mention also the bug on IA-64.
47813         * doc/posix-functions/memchr.texi: Likewise.
47814
47815 2009-06-12  Eric Blake  <ebb9@byu.net>
47816
47817         memchr: detect broken x86_64 and alpha implementations
47818         * modules/memchr-tests (Depends-on): Move mmap detection...
47819         * modules/memchr (Depends-on): ...here.
47820         (configure.ac): Set indicator.
47821         * lib/string.in.h (memchr): Declare replacement.
47822         * modules/string (Makefile.am): Trigger replacement.
47823         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47824         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
47825         bugs.
47826         * doc/posix-functions/memchr.texi (memchr): Document the bug.
47827         * modules/getpagesize (License): Relax license.
47828
47829 2009-06-11  Bruno Haible  <bruno@clisp.org>
47830
47831         * lib/idpriv.h: Add more references.
47832
47833 2009-06-08  Bruno Haible  <bruno@clisp.org>
47834
47835         Tests for module 'idpriv-droptemp'.
47836         * modules/idpriv-droptemp-tests: New file.
47837         * tests/test-idpriv-droptemp.sh: New file.
47838         * tests/test-idpriv-droptemp.su.sh: New file.
47839         * tests/test-idpriv-droptemp.c: New file.
47840
47841         New module 'idpriv-droptemp'.
47842         * lib/idpriv-droptemp.c: New file.
47843         * modules/idpriv-droptemp: New file.
47844
47845 2009-06-08  Bruno Haible  <bruno@clisp.org>
47846
47847         Tests for module 'idpriv-drop'.
47848         * modules/idpriv-drop-tests: New file.
47849         * tests/test-idpriv-drop.sh: New file.
47850         * tests/test-idpriv-drop.su.sh: New file.
47851         * tests/test-idpriv-drop.c: New file.
47852
47853         New module 'idpriv-drop'.
47854         * lib/idpriv.h: New file.
47855         * lib-idpriv-drop.c: New file.
47856         * m4/idpriv.m4: New file.
47857         * modules/idpriv-drop: New file.
47858
47859 2009-06-08  Bruno Haible  <bruno@clisp.org>
47860
47861         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
47862         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47863         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47864         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47865         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47866         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47867         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47868
47869 2009-06-08  Eric Blake  <ebb9@byu.net>
47870
47871         test-strstr: use memory fence, when possible
47872         * tests/test-strstr.c (main): Use memory fence, in order to be
47873         more likely to trigger Debian bug 521737.
47874         * modules/strstr-tests (Files): Pull in additional files.
47875
47876         memchr: no longer obsolete, for wider field testing
47877         * modules/memchr (Status, Notice): Delete, this module is no
47878         longer obsolete.
47879         * modules/vasnprintf (Depends-on): Add memchr.
47880
47881 2009-06-07  Jim Meyering  <meyering@redhat.com>
47882
47883         hash: declare some functions with the warn_unused_result attribute
47884         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
47885
47886 2009-06-07  Bruno Haible  <bruno@clisp.org>
47887
47888         * tests/test-alignof.c: Don't test int64_t if it does not exist.
47889         Reported by Eric Blake.
47890
47891 2009-06-06  Eric Blake  <ebb9@byu.net>
47892
47893         test-alignof: fix typo with long double
47894         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
47895         compiler error.
47896
47897 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
47898
47899         Escape non-texinfo { and }s.
47900         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
47901         markup error.
47902
47903 2009-06-04  Jim Meyering  <meyering@redhat.com>
47904
47905         gitlog-to-changelog: don't infloop on an empty commit log
47906         * build-aux/gitlog-to-changelog: Warn about an empty log message.
47907         Reported by Boris Petersen <transacid@centerim.org>.
47908
47909 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
47910
47911         version-etc: extend for packagers
47912         Add three new configure options, intended for packagers:
47913           --with-packager="packager name"
47914           --with-packager-version="packager-specific version"
47915           --with-packager-bug-reports="packager bug reporting"
47916         An example with coreutils:
47917           $ ./configure \
47918             --with-packager=Gentoo \
47919             --with-packager-bug-report=http://bugs.gentoo.org/ \
47920             --with-packager-version="patchset 1.6"
47921           $ ./src/ls --version | head -n2
47922           ls (GNU coreutils) 7.1-dirty
47923           Packaged by Gentoo (patchset 1.6)
47924         Note that the bug reporting info via --help doesn't show up because
47925         coreutils uses its own custom emit_bug_reporting_address() implementation
47926         in src/system.h.  If it didn't, it'd look like:
47927           $ ./src/ls --help | tail -n4
47928           Report bugs to <bug-coreutils@gnu.org>.
47929           Report Gentoo bugs to <http://bugs.gentoo.org/>.
47930           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
47931           General help using GNU software: <http://www.gnu.org/gethelp/>.
47932         * lib/version-etc.c: Print new information, if provided.
47933         * m4/version-etc.m4: New file.
47934         * modules/version-etc (Files): Add m4/version-etc.m4.
47935         (configure.ac): Add gl_VERSION_ETC.
47936
47937 2009-05-31  Bruno Haible  <bruno@clisp.org>
47938
47939         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
47940         and 'int64_t'.
47941         * modules/alignof-tests (Dependencies): Add stdint.
47942         Reported by Eric Blake.
47943
47944 2009-05-31  Bruno Haible  <bruno@clisp.org>
47945
47946         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
47947         restriction due to compiler bugs.
47948         Reported by Eric Blake.
47949
47950 2009-05-31  Simon Josefsson  <simon@josefsson.org>
47951             Bruno Haible  <bruno@clisp.org>
47952
47953         Fix test-alignof failure.
47954         * lib/alignof.h (alignof_slot): New macro.
47955         (alignof_type): New macro, with the same semantics as the previous
47956         'alignof'.
47957         (alignof): Alias to alignof_slot.
47958         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
47959         check that the results are usable as constant expressions.
47960
47961 2009-05-31  Bruno Haible  <bruno@clisp.org>
47962
47963         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
47964         * tests/test-memchr.c (main): Check that memchr does not read past the
47965         first occurrence of the byte.
47966         * tests/test-strstr.c (main): Update comment.
47967         Suggested by Eric Blake.
47968
47969 2009-05-30  Bruno Haible  <bruno@clisp.org>
47970
47971         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
47972         detail how to use dumpbin.
47973         Reported by David Byron <dbyron@dbyron.com>.
47974
47975 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47976
47977         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
47978
47979 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47980
47981         * m4/manywarnings.m4: Add GCC 4.4 warnings.
47982
47983 2009-05-28  Bruno Haible  <bruno@clisp.org>
47984
47985         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
47986         build-aux/ files.
47987
47988 2009-05-28  Simon Josefsson  <simon@josefsson.org>
47989
47990         * gnulib-tool (func_import): Transform license on build-aux/ files too.
47991
47992 2009-05-27  Simon Josefsson  <simon@josefsson.org>
47993
47994         * gnulib-tool (sed_transform_main_lib_file)
47995         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
47996         regexps.
47997
47998 2009-05-26  Simon Josefsson  <simon@josefsson.org>
47999
48000         * tests/test-strstr.c: Add another self-test.
48001         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48002         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48003
48004 2009-05-23  Bruno Haible  <bruno@clisp.org>
48005
48006         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48007         change.
48008
48009 2009-05-21  Bruno Haible  <bruno@clisp.org>
48010
48011         Simplify use of mode_t varargs.
48012         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48013         uses 'mode_t' or 'int'.
48014         * lib/openat.c (openat): Likewise.
48015         * lib/open-safer.c (open_safer): Likewise.
48016         * m4/mode_t.m4: New file.
48017         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48018         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48019         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48020         * modules/open (Files): Add m4/mode_t.m4.
48021         * modules/openat (Files): Likewise.
48022         * modules/fcntl-safer (Files): Likewise.
48023         Suggested by Eric Blake.
48024
48025 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48026
48027         * doc/glibc-functions/fallocate.texi: New file.
48028         * doc/gnulib.texi: Include it.
48029
48030 2009-05-21  Eric Blake  <ebb9@byu.net>
48031             Bruno Haible  <bruno@clisp.org>
48032
48033         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48034         invocations.
48035         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48036
48037 2009-05-21  Eric Blake  <ebb9@byu.net>
48038             Bruno Haible  <bruno@clisp.org>
48039
48040         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48041         include_next. Fix of 2008-11-20 commit.
48042         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48043         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48044         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48045         NEXT_MATH_H.
48046         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48047         instead of NEXT_MATH_H.
48048
48049 2009-05-21  Bruno Haible  <bruno@clisp.org>
48050
48051         Avoid redefinition warnings for SIZE_MAX.
48052         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48053         Reported by Simon Josefsson.
48054
48055 2009-05-21  Bruno Haible  <bruno@clisp.org>
48056
48057         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48058         AC_CACHE_VAL.
48059
48060 2009-05-20  Bruno Haible  <bruno@clisp.org>
48061
48062         Make zeroptr.h work on mingw.
48063         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48064         mprotect.
48065         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48066         * modules/memchr2-tests (configure.ac): Likewise.
48067         * modules/memcmp-tests (configure.ac): Likewise.
48068         * modules/memmem-tests (configure.ac): Likewise.
48069         * modules/memrchr-tests (configure.ac): Likewise.
48070         Reported by Simon Josefsson.
48071
48072 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48073
48074         * tests/test-glob.c: Include string.h for strcmp prototype.
48075
48076 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48077
48078         * modules/getdelim (Depends-on): Add explicit stdint, although it
48079         was implicitly already pulled in via realloc-posix.
48080         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48081
48082 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48083
48084         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48085         G. Christensen" <tgc@jupiterrise.com>.
48086         * m4/sys_socket_h.m4: Check for sa_family_t.
48087         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48088         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48089         * tests/test-sys_socket.c: Check that sa_family_t works.
48090
48091 2009-05-18  Eric Blake  <ebb9@byu.net>
48092
48093         maint.mk: allow gnulib_dir in VPATH build
48094         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48095
48096 2009-05-15  Jim Meyering  <meyering@redhat.com>
48097
48098         maint.mk: Give gnulib_dir a default definition.
48099         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48100         Thus, most packages no longer need to specify this variable in cfg.mk
48101
48102 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48103
48104         rename.m4: fix typos that would make non-mingw cross-configure fail
48105         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48106
48107 2009-05-13  Eric Blake  <ebb9@byu.net>
48108
48109         mmap-anon: avoid out-of-order autoconf expansion
48110         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48111         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48112         * modules/memchr-tests (Depends-on): Add extensions.
48113         * modules/memchr2-tests (Depends-on): Add extensions.
48114         * modules/memcmp-tests (Depends-on): Add extensions.
48115         * modules/memmem-tests (Depends-on): Add extensions.
48116         * modules/memrchr-tests (Depends-on): Add extensions.
48117
48118 2009-05-13  Bruno Haible  <bruno@clisp.org>
48119
48120         Make some tests ISO C 99 compliant.
48121         * tests/zerosize-ptr.h: New file.
48122         * tests/test-memchr.c: Include zerosize-ptr.h.
48123         (main): Use a zero-size object pointer instead of NULL.
48124         * tests/test-memchr2.c: Include zerosize-ptr.h.
48125         (main): Use a zero-size object pointer instead of NULL.
48126         * tests/test-memcmp.c: Include zerosize-ptr.h.
48127         (main): Use a zero-size object pointer instead of NULL.
48128         * tests/test-memmem.c: Include zerosize-ptr.h.
48129         (main): Use a zero-size object pointer instead of NULL.
48130         * tests/test-memrchr.c: Include zerosize-ptr.h.
48131         (main): Use a zero-size object pointer instead of NULL.
48132         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48133         m4/mmap-anon.m4.
48134         (Depends-on): Add getpagesize.
48135         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48136         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48137         m4/mmap-anon.m4.
48138         (Depends-on): Add getpagesize.
48139         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48140         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48141         m4/mmap-anon.m4.
48142         (Depends-on): Add getpagesize.
48143         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48144         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48145         m4/mmap-anon.m4.
48146         (Depends-on): Add getpagesize.
48147         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48148         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48149         m4/mmap-anon.m4.
48150         (Depends-on): Add getpagesize.
48151         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48152
48153 2009-05-12  Bruno Haible  <bruno@clisp.org>
48154
48155         Tests for module 'alignof'.
48156         * modules/alignof-tests: New file.
48157         * tests/test-alignof.c: New file.
48158
48159 2009-05-12  Bruno Haible  <bruno@clisp.org>
48160
48161         Fix alignof macro.
48162         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48163         vendor compilers that are always correct.
48164
48165 2009-05-12  Bruno Haible  <bruno@clisp.org>
48166
48167         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48168         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48169         not whether its fully works.
48170
48171 2009-05-12  Bruno Haible  <bruno@clisp.org>
48172
48173         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48174
48175 2009-05-12  Jim Meyering  <meyering@redhat.com>
48176
48177         * top/maint.mk: Adjust backslash alignment.
48178
48179 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48180
48181         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48182
48183 2009-05-11  Eric Blake  <ebb9@byu.net>
48184
48185         argp: avoid undefined behavior
48186         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48187         macros.
48188
48189 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48190
48191         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48192         user.name to prevent git commit from complaining.
48193
48194 2009-05-10  Bruno Haible  <bruno@clisp.org>
48195
48196         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48197         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48198         it rewrites every file name only once.
48199         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48200
48201 2009-05-08  Bruno Haible  <bruno@clisp.org>
48202
48203         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48204         instead of 'max'.
48205
48206 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48207
48208         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48209         sockaddr_storage test.
48210
48211 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48212
48213         * modules/sys_socket (Makefile.am): Substitute
48214         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48215         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48216         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48217         * tests/test-sys_socket.c: Check sockaddr_storage.
48218
48219 2009-05-08  Bruno Haible  <bruno@clisp.org>
48220
48221         New module 'alignof'.
48222         * lib/alignof.h: New file.
48223         * modules/alignof: New file.
48224
48225 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48226             Bruno Haible  <bruno@clisp.org>
48227
48228         Fix test-file-has-acl on FreeBSD.
48229         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48230         mask is implicitly added.
48231         * tests/test-file-has-acl.c: Include <signal.h>.
48232         (main): Terminate the test after 5 seconds.
48233         * modules/acl-tests (configure.ac): Check for alarm function.
48234
48235 2009-05-04  Bruno Haible  <bruno@clisp.org>
48236
48237         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48238         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48239         * modules/errno (configure.ac): Drop AC_REQUIRE.
48240         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48241         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48242
48243 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48244
48245         * modules/glob-tests: New module.
48246         * tests/test-glob.c: Add.
48247
48248 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48249
48250         * modules/fnmatch-tests: New module.
48251         * tests/test-fnmatch.c: Add.
48252
48253 2009-05-04  Eric Blake  <ebb9@byu.net>
48254
48255         maint: make the new no-submodule-changes rule VPATH-safe
48256         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48257
48258 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48259             Bruno Haible  <bruno@clisp.org>
48260
48261         acl: Fix infinite loop on FreeBSD.
48262         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48263         of return value from acl_get_entry.
48264         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48265         Likewise.
48266
48267 2009-05-03  Bruno Haible  <bruno@clisp.org>
48268
48269         * lib/acl-internal.h (acl_entries): Clarify return value.
48270         * lib/acl_entries.c (acl_entries): Likewise.
48271
48272 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48273
48274         Bug fix in acl module.
48275         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48276
48277 2009-05-03  Bruno Haible  <bruno@clisp.org>
48278
48279         Create gperf-generated file in the source dir, not in the build dir.
48280         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48281         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48282         * modules/unicase/locale-language (unicase/locale-languages.h):
48283         Likewise.
48284         * modules/unicase/special-casing (unicase/special-casing-table.h):
48285         Likewise.
48286         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48287         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48288         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48289         Reported by Ralf Wildenhues.
48290
48291 2009-05-03  Bruno Haible  <bruno@clisp.org>
48292
48293         * modules/fnmatch (Description, configure.ac): Taken from
48294         fnmatch-posix.
48295         * modules/fnmatch-posix: Turn into a symbolic reference to the
48296         'fnmatch' module, and deprecate.
48297         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48298
48299 2009-05-03  Bruno Haible  <bruno@clisp.org>
48300
48301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48302         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48303         Reported by Ralf Wildenhues.
48304
48305 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48306
48307         * m4/fnmatch.m4: Fix fnmatch re-define.
48308
48309 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48310
48311         priv-set: new module and tests; adapt write-any-file
48312         * lib/priv-set.c: New file.
48313         * lib/priv-set.h: New file.
48314         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48315         * lib/write-any-file.c: Simplify by using priv-set module.
48316         * m4/priv-set.m4: New file.
48317         * modules/priv-set: New file.
48318         * modules/unlinkdir: Add dependency on priv-set module.
48319         * modules/write-any-file: Likewise.
48320
48321         Tests for module 'priv-set'.
48322         * modules/priv-set-tests: New file.
48323         * tests/test-priv-set.c: New file.
48324
48325 2009-05-03  Jim Meyering  <meyering@redhat.com>
48326             Bruno Haible  <bruno@clisp.org>
48327
48328         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48329         use the converted UTF-8 variant of the name instead.
48330
48331 2009-05-03  Jim Meyering  <meyering@redhat.com>
48332
48333         tests: tighten some getdate tests
48334         * tests/test-getdate.c (main): Tighten tests: require equality,
48335         not just greater than.  Set TZ envvar to UTC0.
48336
48337 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48338
48339         getdate: correctly interpret "next monday" when run on a Monday
48340         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48341         that e.g., "next tues" (when run on a tuesday) results in a date
48342         that is one week in the future, and not today's date.
48343         I.e., add a week when the wday is the same as the current one.
48344         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48345         and earlier by Martin Bernreuther and Jan Minář.
48346         * tests/test-getdate.c (main): Check that "next DAY" is always in
48347         the future and that "last DAY" is always in the past.
48348
48349 2009-05-02  Jim Meyering  <meyering@redhat.com>
48350
48351         build: ensure that a release build fails when a submodule is unclean
48352         * top/maint.mk (no-submodule-changes): New rule.
48353         (alpha beta major): Depend on it.
48354
48355 2009-05-02  Bruno Haible  <bruno@clisp.org>
48356
48357         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48358         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48359         shell variable gl_fnmatch_required to detect which variant is
48360         requested.
48361         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48362         gl_FUNC_FNMATCH_POSIX.
48363         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48364         exclude fnmatch-posix.
48365
48366 2009-05-02  Bruno Haible  <bruno@clisp.org>
48367
48368         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48369         * modules/mbsrtowcs (License): Change to LGPLv2+.
48370         * modules/strnlen1 (License): Likewise.
48371         Reported by Simon Josefsson.
48372
48373 2009-05-02  Bruno Haible  <bruno@clisp.org>
48374
48375         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48376         "cross".
48377         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48378         gnulib-tool was called with option --source-base=lib.
48379
48380 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48381
48382         Use automake *-local hooks without commands, for extensibility.
48383         * modules/localcharset (Makefile.am): Rename install-exec-local
48384         rule to install-exec-localcharset, and make it a prerequisite of
48385         install-exec-local.  Likewise, rename the uninstall-local rule to
48386         uninstall-localcharset, and make it a prerequisite of the former.
48387
48388 2009-05-01  Bruno Haible  <bruno@clisp.org>
48389
48390         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48391         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48392         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48393         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48394         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48395         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48396         m4/locale-zh.m4, m4/codeset.m4.
48397
48398         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48399         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48400         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48401         m4/locale-zh.m4.
48402
48403         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48404         REPLACE_WCRTOMB if mbstate_t must be replaced.
48405         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48406         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48407
48408 2009-05-01  Bruno Haible  <bruno@clisp.org>
48409
48410         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48411         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48412         dngettext, dcngettext, textdomain, bindtextdomain,
48413         bind_textdomain_codeset): Undefine before redefining.
48414
48415 2009-04-30  Bruno Haible  <bruno@clisp.org>
48416
48417         Fix bug introduced on 2009-04-25.
48418         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48419         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48420         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48421         is defined.
48422         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48423         is defined.
48424         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48425         is defined.
48426         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48427
48428 2009-04-28  Bruno Haible  <bruno@clisp.org>
48429
48430         Comment tweaks.
48431         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48432         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48433         * lib/unicase.h (u*_casexfrm): Likewise.
48434         Reported by Paolo Bonzini.
48435
48436 2009-04-28  Bruno Haible  <bruno@clisp.org>
48437
48438         Fix a compilation error.
48439         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48440         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48441         Reported by Jim Meyering.
48442
48443 2009-04-27  Bruno Haible  <bruno@clisp.org>
48444
48445         New module 'libunistring'.
48446         * modules/libunistring: New file.
48447         * m4/libunistring.m4: New file.
48448         * MODULES.html.sh (Unicode string functions): Add it.
48449
48450 2009-04-27  Eric Blake  <ebb9@byu.net>
48451
48452         maint.mk: allow package-specific header to provide <config.h>
48453         * top/maint.mk (sc_require_config_h): New variable.
48454         (sc_require_config_h, sc_require_config_h_first): Use it.
48455
48456 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48457
48458         * top/maint.mk (sc_avoid_if_before_free): Except
48459         useless-if-before-free script.
48460
48461 2009-04-27  Eric Blake  <ebb9@byu.net>
48462
48463         maintainer-makefile: depend on all required helper scripts
48464         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48465         useless-if-before-free.
48466         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48467         version, rather than assuming gnulib checkout is available.
48468         Reported by Simen Josefsson.
48469
48470 2009-04-26  Bruno Haible  <bruno@clisp.org>
48471
48472         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48473         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48474         "../" or "..".
48475
48476 2009-04-26  Bruno Haible  <bruno@clisp.org>
48477
48478         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48479         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48480         AC_LIB_HAVE_LINKFLAGS.
48481
48482 2009-04-26  Bruno Haible  <bruno@clisp.org>
48483
48484         Simplify calling convention of u*_conv_from_encoding.
48485         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48486         u32_conv_from_encoding): Expect a resultbuf argument and return the
48487         result directly as a pointer.
48488         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48489         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48490         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48491         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48492         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48493         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48494         Update.
48495         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48496         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48497         * lib/vasnprintf.c (VASNPRINTF): Update.
48498         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48499         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48500         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48501         * NEWS: Mention the change.
48502
48503 2009-04-26  Bruno Haible  <bruno@clisp.org>
48504
48505         Simplify calling convention of u*_conv_to_encoding.
48506         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48507         u32_conv_to_encoding): Expect a resultbuf argument and return the
48508         result directly as a pointer.
48509         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48510         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48511         freeing scaled_offsets if mem_iconveha failed.
48512         * lib/unicase/u-casexfrm.h (FUNC): Update.
48513         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48514         * lib/vasnprintf.c (VASNPRINTF): Update.
48515         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48516         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48517         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48518         * NEWS: Mention the change.
48519
48520 2009-04-26  Bruno Haible  <bruno@clisp.org>
48521
48522         Avoid test failures on AIX and OSF/1.
48523         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48524         malloc(0).
48525         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48526         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48527         Likewise.
48528         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48529         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48530         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48531         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48532         * doc/posix-functions/malloc.texi: Document the portability problem
48533         related to malloc(0).
48534
48535 2009-04-26  Bruno Haible  <bruno@clisp.org>
48536
48537         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48538         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48539         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48540
48541 2009-04-25  Bruno Haible  <bruno@clisp.org>
48542
48543         Avoid link error when creating a namespace clean library.
48544         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48545         as macro with arguments if already defined as an alias.
48546         * lib/signbitf.c (gl_signbitf): Don't undefine.
48547         * lib/signbitd.c (gl_signbitd): Don't undefine.
48548         * lib/signbitl.c (gl_signbitl): Don't undefine.
48549
48550 2009-04-25  Jim Meyering  <meyering@redhat.com>
48551
48552         vc-list-files: fix another quoting bug
48553         * build-aux/vc-list-files: Avoid sed backslash expansion
48554         of pathological directory names.
48555
48556 2009-04-25  Eric Blake  <ebb9@byu.net>
48557
48558         vc-list-files: fix shell quoting error
48559         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48560         timestamp.
48561
48562 2009-04-25  Jim Meyering  <meyering@redhat.com>
48563
48564         vc-list-files: restore lost functionality with subdir argument
48565         * build-aux/vc-list-files: When given a non-"." sub-directory
48566         argument, substitute the $dir/ prefix back onto each resulting name.
48567         Otherwise, coreutils' root_tests check would fail.
48568
48569 2009-04-24  Eric Blake  <ebb9@byu.net>
48570
48571         vc-list-files: ignore git symlinks
48572         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48573         than ls-files, to ignore git symlinks.
48574
48575         maint.mk: import improvements from m4
48576         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48577         (move_if_change): Delete unused macro.
48578         (news-date-check, vc-diff-check): Support VPATH builds.
48579         (announcement): Likewise.  Split --bootstrap-tools list...
48580         (boostrap-tools): ...into separate list, which can be overridden
48581         in cfg.mk.
48582         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48583         requiring dependency on useless-if-before-free module.
48584         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48585         Support VPATH builds.
48586
48587 2009-04-24  Jim Meyering  <meyering@redhat.com>
48588
48589         maint.mk: remove coreutils-specific rules and variables
48590         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48591         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48592         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48593
48594         maint.mk: remove obsolete rule
48595         * top/maint.mk (rel-check): Remove rule.
48596         (WGET, WGETFLAGS): Remove now-unused variables.
48597
48598 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48599
48600         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48601         consistency.
48602
48603         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48604         '$(PATH_SEPARATOR)' instead of ':'.
48605
48606 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48607
48608         * lib/getopt1.c (main): Use 'const' for static array.
48609
48610 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48611
48612         * top/maint.mk: Sync with coreutils.
48613         * NEWS: Explain incompatibilities.
48614
48615 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48616             Bruno Haible  <bruno@clisp.org>
48617
48618         Fix cross-compilation results.
48619         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48620         statement, as third argument of AC_TRY_RUN.
48621         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48622         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48623         Likewise.
48624         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48625         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48626         Likewise.
48627         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48628         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48629         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48630
48631 2009-04-20  Bruno Haible  <bruno@clisp.org>
48632
48633         Avoid test failure on mingw.
48634         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48635
48636 2009-04-20  Bruno Haible  <bruno@clisp.org>
48637
48638         Avoid compilation error on mingw.
48639         * modules/localename-tests (Depends-on): Add locale.
48640
48641 2009-04-19  Bruno Haible  <bruno@clisp.org>
48642
48643         Support for building a shared library on Windows platforms.
48644         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48645         (main): Test the presence of UNINORM_NFC here.
48646         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48647         (main): Test the presence of UNINORM_NFD here.
48648         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48649         (main): Test the presence of UNINORM_NFKC here.
48650         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48651         (main): Test the presence of UNINORM_NFKD here.
48652
48653 2009-04-19  Bruno Haible  <bruno@clisp.org>
48654
48655         Avoid a compiler warning.
48656         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48657         Change type of variable 'sequence'.
48658
48659 2009-04-19  Bruno Haible  <bruno@clisp.org>
48660
48661         * modules/configmake (Makefile.am): When the contents of configmake.h
48662         does not change, arrange to preserve its modification time.
48663
48664 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48665
48666         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48667         gettext domain.
48668
48669 2009-04-16  Jim Meyering  <meyering@redhat.com>
48670
48671         useless-if-before-free: improve conversion code
48672         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48673         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48674
48675 2009-04-14  Bruno Haible  <bruno@clisp.org>
48676
48677         * modules/fcntl (Depends-on): Add extensions.
48678         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48679
48680 2009-04-12  Ben Pfaff  <blp@gnu.org>
48681
48682         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48683         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48684
48685 2009-03-20  Ben Pfaff  <blp@gnu.org>
48686
48687         Make rename replace existing destinations on Windows.
48688         * m4/rename.m4: Add test for Mingw.
48689         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48690         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48691         * doc/posix-functions/rename.texi: Document.
48692
48693 2009-04-10  Bruno Haible  <bruno@clisp.org>
48694
48695         New include file "iconveh.h".
48696         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48697         * lib/striconveh.h: Include it.
48698         (enum iconv_ilseq_handler): Remove definition.
48699         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48700         striconveh.h.
48701         * lib/striconveha.c: Include striconveh.h.
48702         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48703         * modules/striconveh (Files): Add lib/iconveh.h.
48704         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48705         lib/striconveh.h.
48706
48707 2009-04-10  Bruno Haible  <bruno@clisp.org>
48708
48709         * lib/uniconv.h: Update comment.
48710
48711 2009-04-10  Bruno Haible  <bruno@clisp.org>
48712
48713         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
48714         always.
48715         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48716         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48717         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48718         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
48719         "unistring-notinline.h", so that the function gets defined always.
48720         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48721         * lib/unistr/u8-uctomb.c: Likewise.
48722         * lib/unistr/u16-mbtouc.c: Likewise.
48723         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48724         * lib/unistr/u16-uctomb.c: Likewise.
48725         * lib/unistr/u32-mbtouc.c: Likewise.
48726         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48727         * lib/unistr/u32-uctomb.c: Likewise.
48728
48729 2009-04-10  Bruno Haible  <bruno@clisp.org>
48730
48731         Mark 'utime' obsolete.
48732         * modules/utime (Status, Notice): New sections.
48733         Suggested by Jim Meyering.
48734
48735         Fix cross-compile guess for utime test.
48736         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
48737         autoconf.
48738         * doc/posix-functions/utime.texi: Give more precisions.
48739         Reported by Jan <ipif@ymail.com>.
48740
48741 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
48742
48743         filevercmp: correct today's change
48744         * lib/filevercmp.c: Also handle coreutils' test inputs.
48745         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
48746
48747         Fix regression in 'filevercmp' module. Thanks Sven Joachim
48748         for reporting it.
48749         * lib/filevercmp.c: Special handle for "", "." and "..".
48750         * tests/test-filevercmp.c: Enlarge the set suite.
48751
48752 2009-04-07  Jim Meyering  <meyering@redhat.com>
48753
48754         useless-if-before-free: show how to remove braced useless free, too
48755         * build-aux/useless-if-before-free: still only in a comment, though.
48756
48757 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
48758
48759         maint.mk: import changes to syntax-check macros from coreutils
48760         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
48761         Use them in the relevant macros.
48762
48763 2009-04-06  Bruno Haible  <bruno@clisp.org>
48764
48765         Fix unportable use of bit-fields.
48766         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
48767         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
48768         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
48769
48770 2009-04-06  Bruno Haible  <bruno@clisp.org>
48771
48772         Avoid test failures on AIX and OSF/1.
48773         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
48774         that malloc(0) = NULL.
48775         * tests/unicase/test-u8-tolower.c (check): Likewise.
48776         * tests/unicase/test-u8-totitle.c (check): Likewise.
48777         * tests/unicase/test-u8-toupper.c (check): Likewise.
48778         * tests/unicase/test-u16-casefold.c (check): Likewise.
48779         * tests/unicase/test-u16-tolower.c (check): Likewise.
48780         * tests/unicase/test-u16-totitle.c (check): Likewise.
48781         * tests/unicase/test-u16-toupper.c (check): Likewise.
48782         * tests/unicase/test-u32-casefold.c (check): Likewise.
48783         * tests/unicase/test-u32-tolower.c (check): Likewise.
48784         * tests/unicase/test-u32-totitle.c (check): Likewise.
48785         * tests/unicase/test-u32-toupper.c (check): Likewise.
48786         * tests/uninorm/test-u8-nfc.c (check): Likewise.
48787         * tests/uninorm/test-u8-nfd.c (check): Likewise.
48788         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
48789         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
48790         * tests/uninorm/test-u16-nfc.c (check): Likewise.
48791         * tests/uninorm/test-u16-nfd.c (check): Likewise.
48792         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
48793         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
48794         * tests/uninorm/test-u32-nfc.c (check): Likewise.
48795         * tests/uninorm/test-u32-nfd.c (check): Likewise.
48796         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
48797         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
48798
48799 2009-04-05  Bruno Haible  <bruno@clisp.org>
48800
48801         Work around an autoconf limitation.
48802         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
48803         comment line if it would be longer than 3 KB.
48804
48805 2009-04-05  Bruno Haible  <bruno@clisp.org>
48806
48807         Avoid test failure with libiconv-1.13.
48808         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
48809         of the expected test results.
48810
48811 2009-04-05  Bruno Haible  <bruno@clisp.org>
48812
48813         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
48814         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
48815         that it should be installed.
48816
48817 2009-04-05  Bruno Haible  <bruno@clisp.org>
48818
48819         * gnulib-tool: New option --copy-file.
48820         (func_usage): Document it.
48821         (func_dest_tmpfilename): Moved out of func_import.
48822         (func_add_file, func_update_file): New functions, extracted from
48823         func_import.
48824         (func_import): Update.
48825
48826 2009-04-05  Karl Berry  <karl@gnu.org>
48827
48828         * README: prominently mention gnulib-tool.
48829         Rearrange sections so getting the code is near the top.
48830
48831 2009-04-05  Bruno Haible  <bruno@clisp.org>
48832
48833         * lib/unicase.h: Mention u*_cmp2.
48834         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48835         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
48836         * lib/unicase/ulc-casecmp.c: Likewise.
48837         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
48838         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
48839         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
48840         unistr/u8-cmp.
48841         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
48842         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
48843         unistr/u16-cmp.
48844         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
48845         unistr/u32-cmp.
48846
48847         * lib/uninorm.h: Mention u*_cmp2.
48848         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48849         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
48850         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
48851         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
48852         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
48853         unistr/u8-cmp.
48854         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
48855         unistr/u16-cmp.
48856         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
48857         unistr/u32-cmp.
48858
48859         New module 'unistr/u32-cmp2'.
48860         * lib/unistr/u32-cmp2.c: New file.
48861         * modules/unistr/u32-cmp2: New file.
48862
48863         New module 'unistr/u16-cmp2'.
48864         * lib/unistr/u16-cmp2.c: New file.
48865         * modules/unistr/u16-cmp2: New file.
48866
48867         New module 'unistr/u8-cmp2'.
48868         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
48869         * lib/unistr/u8-cmp2.c: New file.
48870         * lib/unistr/u-cmp2.h: New file.
48871         * modules/unistr/u8-cmp2: New file.
48872
48873 2009-04-05  Bruno Haible  <bruno@clisp.org>
48874
48875         * lib/unictype.h (uc_property_is_valid): New macro.
48876         * tests/unictype/test-pr_byname.c (main): Use it.
48877
48878         * lib/unistr.h: Doc fixes.
48879         * lib/uniconv.h: Doc fixes.
48880         * lib/unictype.h: Doc fixes.
48881
48882 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48883
48884         Port coreutils 7.2 to Solaris 8.
48885
48886         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
48887         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
48888         for Solaris 8.  This is a bit of a hack, as it means it's the
48889         caller's responsibility to add -lnsl if needed, but most likely it
48890         won't be needed since only getaddrinfo uses this and getaddrinfo
48891         isn't needed on Solaris 8.
48892
48893         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
48894         problem to Solaris 8 encountered with coreutils 7.2, which
48895         resulted in a message "fnmatch.c:292: warning: passing argument 4
48896         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
48897         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
48898
48899 2009-04-03  Simon Josefsson  <simon@josefsson.org>
48900
48901         * m4/ld-version-script.m4: Add FIXME comment.
48902
48903 2009-04-02  Simon Josefsson  <simon@josefsson.org>
48904
48905         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
48906         SOVERSION variable.
48907
48908 2009-04-02  Bruno Haible  <bruno@clisp.org>
48909
48910         * Makefile (info, html, dvi, pdf): Combine the rules.
48911         Suggested by Jim Meyering.
48912
48913 2009-04-01  Bruno Haible  <bruno@clisp.org>
48914
48915         * Makefile (info, html, dvi, pdf): New targets.
48916         Reported by Reuben Thomas <rrt@sc3d.org>.
48917
48918 2009-04-01  Bruno Haible  <bruno@clisp.org>
48919
48920         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
48921         can be put into PATH.
48922         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
48923
48924 2009-04-01  Bruno Haible  <bruno@clisp.org>
48925
48926         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
48927
48928 2009-04-01  Bruno Haible  <bruno@clisp.org>
48929
48930         Rename module 'visibility'.
48931         * modules/lib-symbol-visibility: Renamed from modules/visibility.
48932         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
48933         * doc/gnulib.texi: Update.
48934         * MODULES.html.sh (Misc): Update.
48935         * NEWS: Mention the change.
48936
48937 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48938
48939         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
48940         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
48941         Eric Blake <ebb9@byu.net> for review.
48942         * MODULES.html.sh: Add lib-msvc-compat.
48943         * doc/gnulib.texi: Link to new section.
48944         * m4/ld-output-def.m4: New file.
48945         * doc/ld-output-def.texi: New file.
48946
48947 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48948
48949         Rename ld-version-script to lib-symbol-versions.  Suggested by
48950         Bruno Haible <bruno@clisp.org>.
48951         * modules/ld-version-script: Renamed to lib-symbol-versions.
48952         * doc/ld-version-script.texi: Fix module name.
48953         * MODULES.html.sh: Add lib-symbol-versions.
48954
48955 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48956
48957         * modules/u64-tests: New file.
48958         * tests/test-u64.c: New file.
48959
48960 2009-03-04  Simon Josefsson  <simon@josefsson.org>
48961
48962         * MODULES.html.sh: Mention u64.
48963         * modules/u64: New module.
48964         * modules/crypto/sha512: Depend on u64 module instead of providing
48965         u64.h.
48966
48967 2009-03-27  Eric Blake  <ebb9@byu.net>
48968
48969         test-strerror: make debugging EAI_SYSTEM easier
48970         * modules/getaddrinfo-tests (Depends-on): Add strerror.
48971         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
48972         failure was EAI_SYSTEM.
48973
48974 2009-03-25  Bruno Haible  <bruno@clisp.org>
48975
48976         Fix a problem with --enable-relocatable on Solaris 7.
48977         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
48978         since 2008-02-24.
48979
48980 2009-03-25  Eric Blake  <ebb9@byu.net>
48981
48982         test-sockets: avoid gcc warning
48983         * tests/test-sockets.c (main): Silence compiler warning.
48984
48985 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48986
48987         New modules nproc, pthread, contributed by Glen Lenker.
48988
48989         * MODULES.html.sh: Add pthread, nproc.
48990         * lib/nproc.c: New file.
48991         * lib/nproc.h: New file.
48992         * lib/pthread.in.h: New file.
48993         * m4/pthread.m4: New file.
48994         * modules/nproc: New file.
48995         * modules/pthread: New file.
48996
48997 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48998
48999         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49000         New variable.
49001
49002 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49003
49004         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49005         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49006         * tests/test-filevercmp.c: Add tests for backup suffixes.
49007
49008 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49009
49010         * modules/stdlib (Depends-on): Add stdint, needed when defining
49011         struct random_data on, for example, HP-UX 10.20.  Reported by
49012         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49013
49014 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49015
49016         * lib/readline.c (readline): Call fflush on stdout after printing
49017         prompt.
49018
49019 2009-03-20  Bruno Haible  <bruno@clisp.org>
49020
49021         Remove dependency from 'close' module to -lws2_32 on native Windows.
49022         * lib/close-hook.h: New file.
49023         * lib/close-hook.c: New file.
49024         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49025         w32sock.h.
49026         (_gl_close_fd_maybe_socket): Remove function.
49027         (rpl_close): Invoke execute_all_close_hooks instead of
49028         _gl_close_fd_maybe_socket.
49029         * lib/sockets.c: Include close-hook.h, w32sock.h.
49030         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49031         (close_sockets_hook): New variable.
49032         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49033         (gl_sockets_cleanup): Unregister it.
49034         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49035         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49036         * modules/close-hook: New file.
49037         * modules/close (Files): Remove lib/w32sock.h.
49038         (Depends-on): Add close-hook.
49039         (Link): Remove section.
49040         * modules/sockets (Files): Add lib/w32sock.h.
49041         (Depends-on): Add close-hook.
49042         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49043         invocation.
49044         * NEWS: Mention that LIB_CLOSE is gone.
49045
49046 2009-03-23  Eric Blake  <ebb9@byu.net>
49047
49048         signal-tests: test previous patch
49049         * tests/test-signal.c: New file.
49050         * modules/signal-tests: Likewise.
49051
49052         signal.h: always support 'volatile sig_atomic_t'
49053         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49054         (gl_SIGNAL_H_DEFAULTS): Add a default.
49055         * modules/signal (Makefile.am): Substitute if needed.
49056         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49057         users can blindly add volatile.
49058         * doc/posix-headers/signal.texi (signal.h): Document it.
49059         Reported by Matthew Woehlke.
49060
49061 2009-03-23  Jim Meyering  <meyering@redhat.com>
49062
49063         pathmax: PATH_MAX: use pathconf only when available
49064         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49065         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49066         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49067         This avoids a link failure in a PSP cross-compilation environment
49068         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49069
49070         * lib/vasnprintf.c (divide): Fix typo in comment.
49071
49072 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49073
49074         * gnulib-tool (func_filter_filelist): Fix comment.
49075
49076 2009-03-20  Bruno Haible  <bruno@clisp.org>
49077
49078         Make sockets.h self-contained.
49079         * lib/sockets.c: Include sockets.h first.
49080         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49081
49082 2009-03-19  Eric Blake  <ebb9@byu.net>
49083
49084         doc: mention more functions added in cygwin 1.7.0
49085         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49086         addition.
49087         * doc/posix-functions/log2f.texi: Likewise.
49088
49089 2009-03-19  Jim Meyering  <meyering@redhat.com>
49090
49091         fsusage: avoid syntax error due to statement-before-declaration
49092         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49093         after all declarations.  Reported by Matthew Woehlke in
49094         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49095
49096 2009-03-18  Eric Blake  <ebb9@byu.net>
49097
49098         build-aux/compile: sync from automake
49099         * build-aux/compile: New file, from automake.
49100         * config/srclist.txt: Mention build-aux/compile.
49101
49102 2009-03-17  Bruno Haible  <bruno@clisp.org>
49103
49104         * lib/git-merge-changelog.c: Fix typo in comment.
49105         Reported by Reuben Thomas <rrt@sc3d.org>.
49106
49107 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49108
49109         * m4/regex.m4: update and improve help for
49110         --without-included-regex.
49111
49112 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49113
49114         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49115         failure on missing include files.
49116
49117 2009-03-17  Eric Blake  <ebb9@byu.net>
49118
49119         doc: mention more functions added in cygwin 1.7.0
49120         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49121         addition.
49122         * doc/posix-functions/fwscanf.texi: Likewise.
49123         * doc/posix-functions/swprintf.texi: Likewise.
49124         * doc/posix-functions/swscanf.texi: Likewise.
49125         * doc/posix-functions/vfwprintf.texi: Likewise.
49126         * doc/posix-functions/vfwscanf.texi: Likewise.
49127         * doc/posix-functions/vswprintf.texi: Likewise.
49128         * doc/posix-functions/vswscanf.texi: Likewise.
49129         * doc/posix-functions/vwprintf.texi: Likewise.
49130         * doc/posix-functions/vwscanf.texi: Likewise.
49131         * doc/posix-functions/wcscasecmp.texi: Likewise.
49132         * doc/posix-functions/wcsdup.texi: Likewise.
49133         * doc/posix-functions/wcsftime.texi: Likewise.
49134         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49135         * doc/posix-functions/wprintf.texi: Likewise.
49136         * doc/posix-functions/wscanf.texi: Likewise.
49137         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49138
49139 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49140
49141         maint.mk: really add $(AM_MAKEFLAGS)
49142         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49143         was inadvertently omitted in the last commit.
49144         Spotted by Bruno Haible.
49145
49146         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49147         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49148         $(AM_MAKEFLAGS)' rather than plain `make'.
49149
49150         gnulib-tool: execute $MAKE not make
49151         * gnulib-tool: Default $MAKE to 'make'.
49152         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49153         than make.  Initialize $MAKE in the do-autobuild script.
49154
49155         gnulib-tool: use $MAKE not make in generated files
49156         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49157         make, in generated files.  Initialize $MAKE in the do-autobuild
49158         script.
49159
49160         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49161
49162         GNUmakefile: disable parallelism only for multiple, recursive targets
49163         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49164         additions in the Makefile.
49165         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49166         by Automake.
49167         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49168         are listed on the command line and at least one of them is
49169         listed in $(ALL_RECURSIVE_TARGETS).
49170
49171 2009-03-14  Bruno Haible  <bruno@clisp.org>
49172
49173         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49174         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49175         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49176         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49177         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49178         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49179         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49180         unistr/u8-uctomb.
49181         * modules/unistr/u8-strchr (Depends-on): Likewise.
49182         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49183         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49184         unistr/u16-uctomb.
49185         * modules/unistr/u16-strchr (Depends-on): Likewise.
49186         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49187
49188 2009-03-12  Bruno Haible  <bruno@clisp.org>
49189
49190         Work around select() bug on Interix 3.5.
49191         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49192         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49193         * m4/select.m4: New file.
49194         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49195         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49196         * modules/select (Files): Add m4/select.m4.
49197         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49198         * modules/nanosleep (Depends-on): Add select.
49199         * modules/poll (Depends-on): Likewise.
49200         * doc/posix-functions/select.texi: Mention the Interix bug.
49201         Reported by Markus Duft <mduft@gentoo.org>.
49202
49203         * lib/select.c: Renamed from lib/winsock-select.c.
49204         * modules/select (Files): Add lib/select.c, remove
49205         lib/winsock-select.c.
49206         (configure.ac): Update.
49207
49208 2009-03-12  Jim Meyering  <meyering@redhat.com>
49209
49210         avoid gcc warnings about unused macro definitions
49211         * lib/readtokens.c (STREQ): Remove unused definition.
49212         * lib/xmalloc.c (SIZE_MAX): Likewise.
49213         * lib/openat-die.c (N_): Likewise.
49214         * lib/mountlist.c (SIZE_MAX): Remove definition.
49215         Instead, include <stdint.h>.
49216         * lib/readutmp.c: Likewise.
49217         * modules/readutmp (Depends-on): Add stdint.
49218         * modules/mountlist (Depends-on): Add stdint.
49219         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49220
49221 2009-03-10  Bruno Haible  <bruno@clisp.org>
49222
49223         Tests for module 'mbmemcasecoll'.
49224         * modules/mbmemcasecoll-tests: New file.
49225         * tests/test-mbmemcasecoll1.sh: New file.
49226         * tests/test-mbmemcasecoll2.sh: New file.
49227         * tests/test-mbmemcasecoll3.sh: New file.
49228         * tests/test-mbmemcasecoll.c: New file.
49229
49230         New module 'mbmemcasecoll'.
49231         * lib/mbmemcasecoll.h: New file.
49232         * lib/mbmemcasecoll.c: New file.
49233         * modules/mbmemcasecoll: New file.
49234
49235         * tests/test-mbmemcasecmp.h: New file, extracted from
49236         tests/test-mbmemcasecmp.c.
49237         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49238         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49239         (main): Update.
49240         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49241
49242 2009-03-09  Bruno Haible  <bruno@clisp.org>
49243
49244         Tests for module 'mbmemcasecmp'.
49245         * modules/mbmemcasecmp-tests: New file.
49246         * tests/test-mbmemcasecmp1.sh: New file.
49247         * tests/test-mbmemcasecmp2.sh: New file.
49248         * tests/test-mbmemcasecmp3.sh: New file.
49249         * tests/test-mbmemcasecmp.c: New file.
49250
49251         New module 'mbmemcasecmp'.
49252         * lib/mbmemcasecmp.h: New file.
49253         * lib/mbmemcasecmp.c: New file.
49254         * modules/mbmemcasecmp: New file.
49255
49256 2009-03-09  Bruno Haible  <bruno@clisp.org>
49257
49258         Tests for module 'unicase/ulc-casecoll'.
49259         * modules/unicase/ulc-casecoll-tests: New file.
49260         * tests/unicase/test-ulc-casecoll1.sh: New file.
49261         * tests/unicase/test-ulc-casecoll2.sh: New file.
49262         * tests/unicase/test-ulc-casecoll.c: New file.
49263
49264         New module 'unicase/ulc-casecoll'.
49265         * lib/unicase.h (ulc_casecoll): New declaration.
49266         * lib/unicase/ulc-casecoll.c: New file.
49267         * modules/unicase/ulc-casecoll: New file.
49268
49269         New module 'unicase/ulc-casexfrm'.
49270         * lib/unicase.h (ulc_casexfrm): New declaration.
49271         * lib/unicase/ulc-casexfrm.c: New file.
49272         * modules/unicase/ulc-casexfrm: New file.
49273
49274 2009-03-09  Bruno Haible  <bruno@clisp.org>
49275
49276         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49277         invocations.
49278
49279         * m4/mbscasecmp.m4: Remove file.
49280         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49281         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49282
49283         * m4/mbscasestr.m4: Remove file.
49284         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49285         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49286
49287         * m4/mbschr.m4: Remove file.
49288         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49289         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49290
49291         * m4/mbscspn.m4: Remove file.
49292         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49293         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49294
49295         * m4/mbslen.m4: Remove file.
49296         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49297         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49298
49299         * m4/mbsncasecmp.m4: Remove file.
49300         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49301         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49302
49303         * m4/mbsnlen.m4: Remove file.
49304         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49305         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49306
49307         * m4/mbspbrk.m4: Remove file.
49308         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49309         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49310
49311         * m4/mbspcasecmp.m4: Remove file.
49312         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49313         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49314
49315         * m4/mbsrchr.m4: Remove file.
49316         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49317         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49318
49319         * m4/mbssep.m4: Remove file.
49320         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49321         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49322
49323         * m4/mbsspn.m4: Remove file.
49324         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49325         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49326
49327         * m4/mbsstr.m4: Remove file.
49328         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49329         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49330
49331         * m4/mbstok_r.m4: Remove file.
49332         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49333         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49334
49335         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49336
49337         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49338         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49339
49340         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49341
49342 2009-03-08  Bruno Haible  <bruno@clisp.org>
49343
49344         Tests for module 'unicase/ulc-casecmp'.
49345         * modules/unicase/ulc-casecmp-tests: New file.
49346         * tests/unicase/test-ulc-casecmp1.sh: New file.
49347         * tests/unicase/test-ulc-casecmp2.sh: New file.
49348         * tests/unicase/test-ulc-casecmp.c: New file.
49349
49350         New module 'unicase/ulc-casecmp'.
49351         * lib/unicase.h (ulc_casecmp): New declaration.
49352         * lib/unicase/ulc-casecmp.c: New file.
49353         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49354         'const SRC_UNIT *'.
49355         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49356         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49357         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49358         * modules/unicase/ulc-casecmp: New file.
49359
49360         Tests for module 'unicase/u32-is-cased'.
49361         * modules/unicase/u32-is-cased-tests: New file.
49362         * tests/unicase/test-u32-is-cased.c: New file.
49363
49364         Tests for module 'unicase/u16-is-cased'.
49365         * modules/unicase/u16-is-cased-tests: New file.
49366         * tests/unicase/test-u16-is-cased.c: New file.
49367
49368         Tests for module 'unicase/u8-is-cased'.
49369         * modules/unicase/u8-is-cased-tests: New file.
49370         * tests/unicase/test-u8-is-cased.c: New file.
49371         * tests/unicase/test-is-cased.h: New file.
49372
49373         New module 'unicase/u32-is-cased'.
49374         * lib/unicase/u32-is-cased.c: New file.
49375         * modules/unicase/u32-is-cased: New file.
49376
49377         New module 'unicase/u16-is-cased'.
49378         * lib/unicase/u16-is-cased.c: New file.
49379         * modules/unicase/u16-is-cased: New file.
49380
49381         New module 'unicase/u8-is-cased'.
49382         * lib/unicase/u8-is-cased.c: New file.
49383         * lib/unicase/u-is-cased.h: New file.
49384         * modules/unicase/u8-is-cased: New file.
49385
49386         Tests for module 'unicase/u32-is-casefolded'.
49387         * modules/unicase/u32-is-casefolded-tests: New file.
49388         * tests/unicase/test-u32-is-casefolded.c: New file.
49389
49390         Tests for module 'unicase/u16-is-casefolded'.
49391         * modules/unicase/u16-is-casefolded-tests: New file.
49392         * tests/unicase/test-u16-is-casefolded.c: New file.
49393
49394         Tests for module 'unicase/u8-is-casefolded'.
49395         * modules/unicase/u8-is-casefolded-tests: New file.
49396         * tests/unicase/test-u8-is-casefolded.c: New file.
49397         * tests/unicase/test-is-casefolded.h: New file.
49398
49399         New module 'unicase/u32-is-casefolded'.
49400         * lib/unicase/u32-is-casefolded.c: New file.
49401         * modules/unicase/u32-is-casefolded: New file.
49402
49403         New module 'unicase/u16-is-casefolded'.
49404         * lib/unicase/u16-is-casefolded.c: New file.
49405         * modules/unicase/u16-is-casefolded: New file.
49406
49407         New module 'unicase/u8-is-casefolded'.
49408         * lib/unicase/u8-is-casefolded.c: New file.
49409         * modules/unicase/u8-is-casefolded: New file.
49410
49411         Tests for module 'unicase/u32-is-titlecase'.
49412         * modules/unicase/u32-is-titlecase-tests: New file.
49413         * tests/unicase/test-u32-is-titlecase.c: New file.
49414
49415         Tests for module 'unicase/u16-is-titlecase'.
49416         * modules/unicase/u16-is-titlecase-tests: New file.
49417         * tests/unicase/test-u16-is-titlecase.c: New file.
49418
49419         Tests for module 'unicase/u8-is-titlecase'.
49420         * modules/unicase/u8-is-titlecase-tests: New file.
49421         * tests/unicase/test-u8-is-titlecase.c: New file.
49422         * tests/unicase/test-is-titlecase.h: New file.
49423
49424         New module 'unicase/u32-is-titlecase'.
49425         * lib/unicase/u32-is-titlecase.c: New file.
49426         * modules/unicase/u32-is-titlecase: New file.
49427
49428         New module 'unicase/u16-is-titlecase'.
49429         * lib/unicase/u16-is-titlecase.c: New file.
49430         * modules/unicase/u16-is-titlecase: New file.
49431
49432         New module 'unicase/u8-is-titlecase'.
49433         * lib/unicase/u8-is-titlecase.c: New file.
49434         * modules/unicase/u8-is-titlecase: New file.
49435
49436         Tests for module 'unicase/u32-is-lowercase'.
49437         * modules/unicase/u32-is-lowercase-tests: New file.
49438         * tests/unicase/test-u32-is-lowercase.c: New file.
49439
49440         Tests for module 'unicase/u16-is-lowercase'.
49441         * modules/unicase/u16-is-lowercase-tests: New file.
49442         * tests/unicase/test-u16-is-lowercase.c: New file.
49443
49444         Tests for module 'unicase/u8-is-lowercase'.
49445         * modules/unicase/u8-is-lowercase-tests: New file.
49446         * tests/unicase/test-u8-is-lowercase.c: New file.
49447         * tests/unicase/test-is-lowercase.h: New file.
49448
49449         New module 'unicase/u32-is-lowercase'.
49450         * lib/unicase/u32-is-lowercase.c: New file.
49451         * modules/unicase/u32-is-lowercase: New file.
49452
49453         New module 'unicase/u16-is-lowercase'.
49454         * lib/unicase/u16-is-lowercase.c: New file.
49455         * modules/unicase/u16-is-lowercase: New file.
49456
49457         New module 'unicase/u8-is-lowercase'.
49458         * lib/unicase/u8-is-lowercase.c: New file.
49459         * modules/unicase/u8-is-lowercase: New file.
49460
49461         Tests for module 'unicase/u32-is-uppercase'.
49462         * modules/unicase/u32-is-uppercase-tests: New file.
49463         * tests/unicase/test-u32-is-uppercase.c: New file.
49464
49465         Tests for module 'unicase/u16-is-uppercase'.
49466         * modules/unicase/u16-is-uppercase-tests: New file.
49467         * tests/unicase/test-u16-is-uppercase.c: New file.
49468
49469         Tests for module 'unicase/u8-is-uppercase'.
49470         * modules/unicase/u8-is-uppercase-tests: New file.
49471         * tests/unicase/test-u8-is-uppercase.c: New file.
49472         * tests/unicase/test-is-uppercase.h: New file.
49473
49474         New module 'unicase/u32-is-uppercase'.
49475         * lib/unicase/u32-is-uppercase.c: New file.
49476         * modules/unicase/u32-is-uppercase: New file.
49477
49478         New module 'unicase/u16-is-uppercase'.
49479         * lib/unicase/u16-is-uppercase.c: New file.
49480         * modules/unicase/u16-is-uppercase: New file.
49481
49482         New module 'unicase/u8-is-uppercase'.
49483         * lib/unicase/u8-is-uppercase.c: New file.
49484         * modules/unicase/u8-is-uppercase: New file.
49485
49486         New module 'unicase/u32-is-invariant'.
49487         * lib/unicase/u32-is-invariant.c: New file.
49488         * modules/unicase/u32-is-invariant: New file.
49489
49490         New module 'unicase/u16-is-invariant'.
49491         * lib/unicase/u16-is-invariant.c: New file.
49492         * modules/unicase/u16-is-invariant: New file.
49493
49494         New module 'unicase/u8-is-invariant'.
49495         * lib/unicase/u8-is-invariant.c: New file.
49496         * lib/unicase/invariant.h: New file.
49497         * lib/unicase/u-is-invariant.h: New file.
49498         * modules/unicase/u8-is-invariant: New file.
49499
49500         Tests for module 'unicase/u32-casecoll'.
49501         * modules/unicase/u32-casecoll-tests: New file.
49502         * tests/unicase/test-u32-casecoll.c: New file.
49503
49504         Tests for module 'unicase/u16-casecoll'.
49505         * modules/unicase/u16-casecoll-tests: New file.
49506         * tests/unicase/test-u16-casecoll.c: New file.
49507
49508         Tests for module 'unicase/u8-casecoll'.
49509         * modules/unicase/u8-casecoll-tests: New file.
49510         * tests/unicase/test-u8-casecoll.c: New file.
49511
49512         New module 'unicase/u32-casecoll'.
49513         * lib/unicase/u32-casecoll.c: New file.
49514         * modules/unicase/u32-casecoll: New file.
49515
49516         New module 'unicase/u16-casecoll'.
49517         * lib/unicase/u16-casecoll.c: New file.
49518         * modules/unicase/u16-casecoll: New file.
49519
49520         New module 'unicase/u8-casecoll'.
49521         * lib/unicase/u8-casecoll.c: New file.
49522         * lib/unicase/u-casecoll.h: New file.
49523         * modules/unicase/u8-casecoll: New file.
49524
49525         New module 'unicase/u32-casexfrm'.
49526         * lib/unicase/u32-casexfrm.c: New file.
49527         * modules/unicase/u32-casexfrm: New file.
49528
49529         New module 'unicase/u16-casexfrm'.
49530         * lib/unicase/u16-casexfrm.c: New file.
49531         * modules/unicase/u16-casexfrm: New file.
49532
49533         New module 'unicase/u8-casexfrm'.
49534         * lib/unicase/u8-casexfrm.c: New file.
49535         * lib/unicase/u-casexfrm.h: New file.
49536         * modules/unicase/u8-casexfrm: New file.
49537
49538         Tests for module 'unicase/u32-casecmp'.
49539         * modules/unicase/u32-casecmp-tests: New file.
49540         * tests/unicase/test-u32-casecmp.c: New file.
49541
49542         Tests for module 'unicase/u16-casecmp'.
49543         * modules/unicase/u16-casecmp-tests: New file.
49544         * tests/unicase/test-u16-casecmp.c: New file.
49545
49546         Tests for module 'unicase/u8-casecmp'.
49547         * modules/unicase/u8-casecmp-tests: New file.
49548         * tests/unicase/test-u8-casecmp.c: New file.
49549         * tests/unicase/test-casecmp.h: New file.
49550
49551         New module 'unicase/u32-casecmp'.
49552         * lib/unicase/u32-casecmp.c: New file.
49553         * modules/unicase/u32-casecmp: New file.
49554
49555         New module 'unicase/u16-casecmp'.
49556         * lib/unicase/u16-casecmp.c: New file.
49557         * modules/unicase/u16-casecmp: New file.
49558
49559         New module 'unicase/u8-casecmp'.
49560         * lib/unicase/u8-casecmp.c: New file.
49561         * lib/unicase/u-casecmp.h: New file.
49562         * modules/unicase/u8-casecmp: New file.
49563
49564         Tests for module 'unicase/u32-casefold'.
49565         * modules/unicase/u32-casefold-tests: New file.
49566         * tests/unicase/test-u32-casefold.c: New file.
49567
49568         Tests for module 'unicase/u16-casefold'.
49569         * modules/unicase/u16-casefold-tests: New file.
49570         * tests/unicase/test-u16-casefold.c: New file.
49571
49572         Tests for module 'unicase/u8-casefold'.
49573         * modules/unicase/u8-casefold-tests: New file.
49574         * tests/unicase/test-u8-casefold.c: New file.
49575
49576         New module 'unicase/u32-casefold'.
49577         * lib/unicase/u32-casefold.c: New file.
49578         * modules/unicase/u32-casefold: New file.
49579
49580         New module 'unicase/u16-casefold'.
49581         * lib/unicase/u16-casefold.c: New file.
49582         * modules/unicase/u16-casefold: New file.
49583
49584         New module 'unicase/u8-casefold'.
49585         * lib/unicase/u8-casefold.c: New file.
49586         * lib/unicase/u-casefold.h: New file.
49587         * modules/unicase/u8-casefold: New file.
49588
49589         New module 'unicase/tocasefold'.
49590         * lib/unicase/casefold.h: New file.
49591         * lib/unicase/tocasefold.c: New file.
49592         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49593         * modules/unicase/tocasefold: New file.
49594
49595         Tests for module 'unicase/u32-totitle'.
49596         * modules/unicase/u32-totitle-tests: New file.
49597         * tests/unicase/test-u32-totitle.c: New file.
49598
49599         Tests for module 'unicase/u16-totitle'.
49600         * modules/unicase/u16-totitle-tests: New file.
49601         * tests/unicase/test-u16-totitle.c: New file.
49602
49603         Tests for module 'unicase/u8-totitle'.
49604         * modules/unicase/u8-totitle-tests: New file.
49605         * tests/unicase/test-u8-totitle.c: New file.
49606
49607         New module 'unicase/u32-totitle'.
49608         * lib/unicase/u32-totitle.c: New file.
49609         * modules/unicase/u32-totitle: New file.
49610
49611         New module 'unicase/u16-totitle'.
49612         * lib/unicase/u16-totitle.c: New file.
49613         * modules/unicase/u16-totitle: New file.
49614
49615         New module 'unicase/u8-totitle'.
49616         * lib/unicase/u8-totitle.c: New file.
49617         * lib/unicase/u-totitle.h: New file.
49618         * modules/unicase/u8-totitle: New file.
49619
49620         Tests for module 'unicase/u32-tolower'.
49621         * modules/unicase/u32-tolower-tests: New file.
49622         * tests/unicase/test-u32-tolower.c: New file.
49623
49624         Tests for module 'unicase/u16-tolower'.
49625         * modules/unicase/u16-tolower-tests: New file.
49626         * tests/unicase/test-u16-tolower.c: New file.
49627
49628         Tests for module 'unicase/u8-tolower'.
49629         * modules/unicase/u8-tolower-tests: New file.
49630         * tests/unicase/test-u8-tolower.c: New file.
49631
49632         New module 'unicase/u32-tolower'.
49633         * lib/unicase/u32-tolower.c: New file.
49634         * modules/unicase/u32-tolower: New file.
49635
49636         New module 'unicase/u16-tolower'.
49637         * lib/unicase/u16-tolower.c: New file.
49638         * modules/unicase/u16-tolower: New file.
49639
49640         New module 'unicase/u8-tolower'.
49641         * lib/unicase/u8-tolower.c: New file.
49642         * modules/unicase/u8-tolower: New file.
49643
49644         Tests for module 'unicase/u32-toupper'.
49645         * modules/unicase/u32-toupper-tests: New file.
49646         * tests/unicase/test-u32-toupper.c: New file.
49647
49648         Tests for module 'unicase/u16-toupper'.
49649         * modules/unicase/u16-toupper-tests: New file.
49650         * tests/unicase/test-u16-toupper.c: New file.
49651
49652         Tests for module 'unicase/u8-toupper'.
49653         * modules/unicase/u8-toupper-tests: New file.
49654         * tests/unicase/test-u8-toupper.c: New file.
49655
49656         New module 'unicase/u32-toupper'.
49657         * lib/unicase/u32-toupper.c: New file.
49658         * modules/unicase/u32-toupper: New file.
49659
49660         New module 'unicase/u16-toupper'.
49661         * lib/unicase/u16-toupper.c: New file.
49662         * modules/unicase/u16-toupper: New file.
49663
49664         New module 'unicase/u8-toupper'.
49665         * lib/unicase/u8-toupper.c: New file.
49666         * modules/unicase/u8-toupper: New file.
49667
49668         New module 'unicase/u32-casemap'.
49669         * lib/unicase/u32-casemap.c: New file.
49670         * modules/unicase/u32-casemap: New file.
49671
49672         New module 'unicase/u16-casemap'.
49673         * lib/unicase/u16-casemap.c: New file.
49674         * modules/unicase/u16-casemap: New file.
49675
49676         New module 'unicase/u8-casemap'.
49677         * lib/unicase/unicasemap.h: New file.
49678         * lib/unicase/u8-casemap.c: New file.
49679         * lib/unicase/u-casemap.h: New file.
49680         * modules/unicase/u8-casemap: New file.
49681
49682         New module 'unicase/special-casing'.
49683         * lib/unicase/special-casing.h: New file.
49684         * lib/unicase/special-casing.c: New file.
49685         * lib/unicase/special-casing-table.gperf: New file, generated by
49686         gen-uni-tables.c.
49687         * modules/unicase/special-casing: New file.
49688
49689         Tests for module 'unicase/locale-language'.
49690         * modules/unicase/locale-language-tests: New file.
49691         * tests/unicase/test-locale-language.sh: New file.
49692         * tests/unicase/test-locale-language.c: New file.
49693
49694         New module 'unicase/locale-language'.
49695         * lib/unicase/locale-language.c: New file.
49696         * lib/unicase/locale-languages.gperf: New file.
49697         * modules/unicase/locale-language: New file.
49698
49699         Generate more tables for case conversion and case folding.
49700         * lib/gen-uni-tables.c (SCC_*): New enum items.
49701         (struct special_casing_rule): New type.
49702         (casing_rules, num_casing_rules, allocated_casing_rules): New
49703         variables.
49704         (add_casing_rule, fill_casing_rules): New functions.
49705         (struct casefold_rule): New type.
49706         (casefolding_rules, num_casefolding_rules,
49707         allocated_casefolding_rules): New variables.
49708         (fill_casefolding_rules): New function.
49709         (unicode_casefold): New variable.
49710         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
49711         sort_casing_rules, output_casing_rules): New functions.
49712         (main): Accept to more arguments: SpecialCasing.txt and
49713         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
49714         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
49715         Output mapping for casefolding.
49716
49717         * lib/unicase.h: Include stdbool.h, uninorm.h.
49718         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
49719         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
49720         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
49721         arguments.
49722         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
49723         resultp arguments.
49724         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
49725         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
49726         resultp arguments.
49727         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
49728         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
49729         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
49730         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
49731         declarations.
49732         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
49733
49734 2009-03-08  Bruno Haible  <bruno@clisp.org>
49735
49736         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49737         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
49738         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
49739         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49740
49741 2009-03-07  Bruno Haible  <bruno@clisp.org>
49742
49743         Adjust u*_normcmp, u*_normcoll API.
49744         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49745         u16_normcoll, u32_normcoll): Change failure conventions.
49746         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
49747         errno and return -1.
49748         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49749
49750 2009-03-07  Bruno Haible  <bruno@clisp.org>
49751
49752         Tests for module 'uninorm/u32-normcoll'.
49753         * modules/uninorm/u32-normcoll-tests: New file.
49754         * tests/uninorm/test-u32-normcoll.c: New file.
49755
49756         Tests for module 'uninorm/u16-normcoll'.
49757         * modules/uninorm/u16-normcoll-tests: New file.
49758         * tests/uninorm/test-u16-normcoll.c: New file.
49759
49760         Tests for module 'uninorm/u8-normcoll'.
49761         * modules/uninorm/u8-normcoll-tests: New file.
49762         * tests/uninorm/test-u8-normcoll.c: New file.
49763
49764 2009-03-07  Bruno Haible  <bruno@clisp.org>
49765
49766         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
49767         tests/uninorm/test-u32-normcmp.c.
49768         * tests/uninorm/test-u32-normcmp.c: Include it.
49769         (test_nonascii): New function, extracted from main. Add some more
49770         tests.
49771         (main): Invoke test_ascii and test_nonascii.
49772         * modules/uninorm/u32-normcmp-tests (Files): Add
49773         tests/uninorm/test-u32-normcmp.h.
49774         (Depends-on): Remove uninorm/u32-normcmp.
49775
49776         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
49777         tests/uninorm/test-u16-normcmp.c.
49778         * tests/uninorm/test-u16-normcmp.c: Include it.
49779         (test_nonascii): New function, extracted from main. Add some more
49780         tests.
49781         (main): Invoke test_ascii and test_nonascii.
49782         * modules/uninorm/u16-normcmp-tests (Files): Add
49783         tests/uninorm/test-u16-normcmp.h.
49784         (Depends-on): Remove uninorm/u16-normcmp.
49785
49786         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
49787         tests/uninorm/test-u8-normcmp.c.
49788         * tests/uninorm/test-u8-normcmp.c: Include it.
49789         (test_nonascii): New function, extracted from main. Add some more
49790         tests.
49791         (main): Invoke test_ascii and test_nonascii.
49792         * modules/uninorm/u8-normcmp-tests (Files): Add
49793         tests/uninorm/test-u8-normcmp.h.
49794         (Depends-on): Remove uninorm/u8-normcmp.
49795
49796 2009-03-07  Bruno Haible  <bruno@clisp.org>
49797
49798         New module 'uninorm/u32-normcoll'.
49799         * lib/uninorm/u32-normcoll.c: New file.
49800         * modules/uninorm/u32-normcoll: New file.
49801
49802         New module 'uninorm/u16-normcoll'.
49803         * lib/uninorm/u16-normcoll.c: New file.
49804         * modules/uninorm/u16-normcoll: New file.
49805
49806         New module 'uninorm/u8-normcoll'.
49807         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
49808         declarations.
49809         * lib/uninorm/u8-normcoll.c: New file.
49810         * lib/uninorm/u-normcoll.h: New file.
49811         * modules/uninorm/u8-normcoll: New file.
49812
49813         New module 'uninorm/u32-normxfrm'.
49814         * lib/uninorm/u32-normxfrm.c: New file.
49815         * modules/uninorm/u32-normxfrm: New file.
49816
49817         New module 'uninorm/u16-normxfrm'.
49818         * lib/uninorm/u16-normxfrm.c: New file.
49819         * modules/uninorm/u16-normxfrm: New file.
49820
49821         New module 'uninorm/u8-normxfrm'.
49822         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
49823         declarations.
49824         * lib/uninorm/u8-normxfrm.c: New file.
49825         * lib/uninorm/u-normxfrm.h: New file.
49826         * modules/uninorm/u8-normxfrm: New file.
49827
49828 2009-03-07  Bruno Haible  <bruno@clisp.org>
49829
49830         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
49831         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
49832         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
49833
49834 2009-03-07  Bruno Haible  <bruno@clisp.org>
49835
49836         New module 'memxfrm'.
49837         * lib/memxfrm.h: New file.
49838         * lib/memxfrm.c: New file.
49839         * modules/memxfrm: New file.
49840
49841 2009-03-07  Bruno Haible  <bruno@clisp.org>
49842
49843         New module 'memcmp2'.
49844         * lib/memcmp2.h: New file.
49845         * lib/memcmp2.c: New file.
49846         * modules/memcmp2: New file.
49847
49848 2009-03-07  Bruno Haible  <bruno@clisp.org>
49849
49850         Tests for module 'uninorm/decomposing-form'.
49851         * modules/uninorm/decomposing-form-tests: New file.
49852         * tests/uninorm/test-decomposing-form.c: New file.
49853
49854         New module 'uninorm/decomposing-form'.
49855         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
49856         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
49857         Add 'decomposing_variant' field.
49858         * lib/uninorm/decomposing-form.c: New file.
49859         * lib/uninorm/nfc.c (uninorm_nfc): Update.
49860         * lib/uninorm/nfd.c (uninorm_nfd): Update.
49861         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
49862         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
49863         * modules/uninorm/decomposing-form: New file.
49864         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
49865         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
49866
49867 2009-03-07  Bruno Haible  <bruno@clisp.org>
49868
49869         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
49870         strings.
49871
49872 2009-03-06  Bruno Haible  <bruno@clisp.org>
49873
49874         Tests for module 'uninorm/u32-normcmp'.
49875         * tests/uninorm/test-u32-normcmp.c: New file.
49876         * modules/uninorm/u32-normcmp-tests: New file.
49877
49878         Tests for module 'uninorm/u16-normcmp'.
49879         * tests/uninorm/test-u16-normcmp.c: New file.
49880         * modules/uninorm/u16-normcmp-tests: New file.
49881
49882         Tests for module 'uninorm/u8-normcmp'.
49883         * tests/uninorm/test-u8-normcmp.c: New file.
49884         * modules/uninorm/u8-normcmp-tests: New file.
49885
49886         New module 'uninorm/u32-normcmp'.
49887         * lib/uninorm/u32-normcmp.c: New file.
49888         * modules/uninorm/u32-normcmp: New file.
49889
49890         New module 'uninorm/u16-normcmp'.
49891         * lib/uninorm/u16-normcmp.c: New file.
49892         * modules/uninorm/u16-normcmp: New file.
49893
49894         New module 'uninorm/u8-normcmp'.
49895         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
49896         declarations.
49897         * lib/uninorm/u8-normcmp.c: New file.
49898         * lib/uninorm/u-normcmp.h: New file.
49899         * modules/uninorm/u8-normcmp: New file.
49900
49901 2009-03-06  Bruno Haible  <bruno@clisp.org>
49902
49903         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
49904         Reported by Eric Blake.
49905
49906 2009-03-06  Eric Blake  <ebb9@byu.net>
49907             Bruno Haible  <bruno@clisp.org>
49908
49909         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
49910         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
49911         condition.
49912         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49913         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
49914         condition.
49915         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49916
49917 2009-03-06  Eric Blake  <ebb9@byu.net>
49918
49919         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
49920         to avoid compiler warnings.
49921         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
49922
49923 2009-03-05  Bruno Haible  <bruno@clisp.org>
49924
49925         * tests/test-ftell.c (main): Disable test beyond end of file on
49926         FreeMiNT.
49927         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49928
49929 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
49930
49931         * lib/filevercmp.c: Move hidden files up in ordering.
49932         * tests/test-filevercmp.c: Add tests for hidden files.
49933
49934 2009-03-04  Bruno Haible  <bruno@clisp.org>
49935
49936         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
49937         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
49938         AM_CFLAGS.
49939         Reported by Simon Josefsson.
49940
49941 2009-03-03  Bruno Haible  <bruno@clisp.org>
49942
49943         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
49944         Reported by Simon Josefsson.
49945
49946         * doc/ld-version-script.texi: Update node reference.
49947
49948 2009-03-03  Bruno Haible  <bruno@clisp.org>
49949
49950         * modules/visibility (License): Change to 'unlimited'.
49951         Suggested by Simon Josefsson.
49952
49953 2009-03-03  Jim Meyering  <meyering@redhat.com>
49954
49955         unlinkdir: cannot_unlink_dir may modify process state
49956         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
49957         it's neither thread-safe nor appropriate for use in a library.
49958
49959 2009-03-03  Eric Blake  <ebb9@byu.net>
49960
49961         test-closein: silence test under Darwin
49962         * tests/test-closein.sh: Ignore stderr from cat, since we don't
49963         care if it dies from EPIPE or EBADF.
49964
49965 2009-03-03  Bruno Haible  <bruno@clisp.org>
49966
49967         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
49968         earlier.
49969         * doc/visibility.texi: Fix @node and @section.
49970
49971 2009-03-03  Simon Josefsson  <simon@josefsson.org>
49972
49973         * doc/gnulib.texi: Link to sections for ld version script and
49974         visibility.
49975         * doc/visibility.texi: Add @node and @section.
49976         * modules/ld-version-script: New module.
49977         * m4/ld-version-script.m4: New file.
49978         * doc/ld-version-script.texi: New file.
49979
49980 2009-03-02  David Lutterkort  <lutter@redhat.com>
49981
49982         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
49983         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49984
49985 2009-03-02  Bruno Haible  <bruno@clisp.org>
49986
49987         * doc/visibility.texi: Mention libtool's -export-symbols option.
49988
49989 2009-03-02  Jim Meyering  <meyering@redhat.com>
49990
49991         announce-gen: new option: --no-print-checksums
49992         * build-aux/announce-gen (usage): Describe it.
49993         (print_checksums): Print a newline here, not in the [*] footnote.
49994         (main): Honor it.
49995
49996 2009-03-01  Bruno Haible  <bruno@clisp.org>
49997
49998         Use socklen_t in the native Windows replacements prototypes.
49999         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50000         instead of 'int'.
50001         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50002         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50003         * modules/getsockopt (Depends-on): Add socklen.
50004         * modules/setsockopt (Depends-on): Add socklen.
50005
50006 2009-03-01  Bruno Haible  <bruno@clisp.org>
50007
50008         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50009         least 4.2.
50010
50011 2009-03-01  Eric Blake  <ebb9@byu.net>
50012             Bruno Haible  <bruno@clisp.org>
50013
50014         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50015         error messages.
50016         * lib/wait-process.c (wait_subprocess): Omit error message about
50017         deadly signal sent to the child of termsigp != NULL.
50018
50019 2009-03-01  Eric Blake  <ebb9@byu.net>
50020
50021         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50022
50023 2009-03-01  Bruno Haible  <bruno@clisp.org>
50024
50025         Avoid a gcc warning.
50026         * tests/test-sched.c (b): Make global.
50027         Reported by Eric Blake.
50028
50029 2009-01-19  Martin Lambers  <marlam@marlam.de>
50030
50031         Provide POSIX semantics for socket timeout options on W32.
50032         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50033         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50034         * modules/setsockopt: Depend on sys_time module for struct timeval.
50035         * modules/getsockopt: Depend on sys_time module for struct timeval.
50036
50037 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50038
50039         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50040         __USE_GNU, for consistency with netdb.in.h.
50041         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50042
50043 2009-03-01  Bruno Haible  <bruno@clisp.org>
50044
50045         More support for FreeMiNT.
50046         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50047         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50048
50049 2009-03-01  Bruno Haible  <bruno@clisp.org>
50050
50051         More support for FreeMiNT.
50052         * lib/fpurge.c (fpurge): Correct last commit.
50053         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50054
50055 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50056
50057         Fix unportable awk script in vc-list-files.
50058         * build-aux/vc-list-files: In the replacement awk script, use
50059         substr with a second argument of 1, not zero.
50060         Report by Simon Josefsson.
50061
50062 2009-02-28  Bruno Haible  <bruno@clisp.org>
50063
50064         More support for FreeMiNT.
50065         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50066         to FreeMiNT today.
50067         * lib/fwriting.c (fwriting): Likewise.
50068         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50069
50070 2009-02-28  Bruno Haible  <bruno@clisp.org>
50071
50072         * tests/test-freadseek.c (main): Disable test beyond end of file on
50073         FreeMiNT.
50074         * tests/test-ftello.c (main): Likewise.
50075         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50076
50077 2009-02-28  Bruno Haible  <bruno@clisp.org>
50078
50079         Add tentative support for FreeMiNT.
50080         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50081         * lib/fpurge.c (fpurge): Likewise.
50082         * lib/freadable.c (freadable): Likewise.
50083         * lib/freading.c (freading): Likewise.
50084         * lib/freadptr.c (freadptr): Likewise.
50085         * lib/freadseek.c (freadptrinc): Likewise.
50086         * lib/fseeko.c (rpl_fseeko): Likewise.
50087         * lib/fseterr.c (fseterr): Likewise.
50088         * lib/fwritable.c (fwritable): Likewise.
50089         * lib/fwriting.c (fwriting): Likewise.
50090         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50091         Hourihane.
50092         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50093
50094 2009-02-28  Bruno Haible  <bruno@clisp.org>
50095
50096         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50097         SIGCHLD.
50098         Reported by Jim Meyering.
50099
50100 2009-02-28  Bruno Haible  <bruno@clisp.org>
50101
50102         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50103         Mention the results of these tests on various platforms.
50104         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50105         order.
50106         * doc/posix-functions/printf.texi: Likewise.
50107         * doc/posix-functions/snprintf.texi: Likewise.
50108         * doc/posix-functions/sprintf.texi: Likewise.
50109         * doc/posix-functions/vfprintf.texi: Likewise.
50110         * doc/posix-functions/vprintf.texi: Likewise.
50111         * doc/posix-functions/vsnprintf.texi: Likewise.
50112         * doc/posix-functions/vsprintf.texi: Likewise.
50113         * doc/glibc-functions/obstack_printf.texi: Likewise.
50114         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50115
50116 2009-02-28  Bruno Haible  <bruno@clisp.org>
50117
50118         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50119         Reported by Loïc Minier <lool@dooz.org>.
50120
50121 2009-02-27  Bruno Haible  <bruno@clisp.org>
50122
50123         * gnulib-tool (func_import): Make the sed expression used to create the
50124         sed script for updating the .gitignore file POSIX compliant.
50125         Reported by Eric Blake.
50126
50127 2009-02-27  Bruno Haible  <bruno@clisp.org>
50128
50129         * gnulib-tool (sed): Don't alias as "sed --posix".
50130         Reported by Eric Blake.
50131
50132 2009-02-27  Bruno Haible  <bruno@clisp.org>
50133
50134         Avoid test link errors.
50135         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50136         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50137         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50138         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50139         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50140
50141 2009-02-27  Bruno Haible  <bruno@clisp.org>
50142
50143         Avoid spurious "(cached)" in configure output.
50144         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50145         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50146         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50147         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50148         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50149         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50150         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50151         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50152         Reported by Eric Blake.
50153
50154 2009-02-27  Eric Blake  <ebb9@byu.net>
50155
50156         printf: fix regression in previous patch
50157         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50158
50159 2009-02-27  Bruno Haible  <bruno@clisp.org>
50160
50161         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50162         value.
50163         * lib/stdint.in.h: Likewise.
50164         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50165
50166 2009-02-27  Eric Blake  <ebb9@byu.net>
50167
50168         doc: mention more functions added in cygwin 1.7.0
50169         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50170         addition.
50171         * doc/posix-functions/open_wmemstream.texi: Likewise.
50172         * doc/posix-functions/wcsnlen.texi: Likewise.
50173         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50174         * doc/posix-functions/wcstod.texi: Likewise.
50175         * doc/posix-functions/wcstof.texi: Likewise.
50176         * doc/posix-functions/wcstoimax.texi: Likewise.
50177         * doc/posix-functions/wcstok.texi: Likewise.
50178         * doc/posix-functions/wcstoumax.texi: Likewise.
50179
50180         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50181         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50182         * doc/posix-functions/fprintf.texi: Update.
50183         * doc/posix-functions/printf.texi: Update.
50184         * doc/posix-functions/snprintf.texi: Update.
50185         * doc/posix-functions/sprintf.texi: Update.
50186         * doc/posix-functions/vfprintf.texi: Update.
50187         * doc/posix-functions/vprintf.texi: Update.
50188         * doc/posix-functions/vsnprintf.texi: Update.
50189         * doc/posix-functions/vsprintf.texi: Update.
50190         * doc/glibc-functions/obstack_printf.texi: Update.
50191         * doc/glibc-functions/obstack_vprintf.texi: Update.
50192
50193 2009-02-26  Eric Blake  <ebb9@byu.net>
50194
50195         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50196         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50197         compilation bug by using runtime conversion.
50198         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50199         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50200         * modules/ceill-tests (Files): Use nan.h.
50201         * modules/floorl-tests (Files): Likewise.
50202         * modules/frexpl-tests (Files): Likewise.
50203         * modules/isnanl-tests (Files): Likewise.
50204         * modules/ldexpl-tests (Files): Likewise.
50205         * modules/roundl-tests (Files): Likewise.
50206         * modules/truncl-tests (Files): Likewise.
50207         * tests/test-ceill.c (main): Use a working NaN.
50208         * tests/test-floorl.c (main): Likewise.
50209         * tests/test-frexpl.c (main): Likewise.
50210         * tests/test-isnan.c (test_long_double): Likewise.
50211         * tests/test-isnanl.h (main): Likewise.
50212         * tests/test-ldexpl.h (main): Likewise.
50213         * tests/test-roundl.h (main): Likewise.
50214         * tests/test-truncl.h (main): Likewise.
50215         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50216
50217 2009-02-26  Eric Blake  <ebb9@byu.net>
50218             Bruno Haible  <bruno@clisp.org>
50219
50220         Work around a *printf bug with %ls on Solaris.
50221         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50222         precision is specified, sprintf stops converting the wide string
50223         argument when the number of bytes that have been produced by this
50224         conversion equals or exceeds the precision.
50225         * doc/posix-functions/fprintf.texi: Update.
50226         * doc/posix-functions/printf.texi: Update.
50227         * doc/posix-functions/snprintf.texi: Update.
50228         * doc/posix-functions/sprintf.texi: Update.
50229         * doc/posix-functions/vfprintf.texi: Update.
50230         * doc/posix-functions/vprintf.texi: Update.
50231         * doc/posix-functions/vsnprintf.texi: Update.
50232         * doc/posix-functions/vsprintf.texi: Update.
50233         * doc/glibc-functions/obstack_printf.texi: Update.
50234         * doc/glibc-functions/obstack_vprintf.texi: Update.
50235
50236 2009-02-26  Eric Blake  <ebb9@byu.net>
50237
50238         stdlib: favor compiler check of random.h
50239         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50240         to avoid an ObjC random.h installed by Swarm.
50241
50242 2009-02-26  Bruno Haible  <bruno@clisp.org>
50243
50244         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50245         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50246         Reported by Gary V. Vaughan <gary@gnu.org>.
50247
50248 2009-02-26  Bruno Haible  <bruno@clisp.org>
50249
50250         Fix *printf behaviour regarding the %ls directive.
50251         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50252         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50253         NEED_PRINTF_DIRECTIVE_LS.
50254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50255         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50256         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50257         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50258         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50259         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50260         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50261         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50262         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50263         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50265         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50266         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50267         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50268         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50269         * doc/posix-functions/fprintf.texi: Update.
50270         * doc/posix-functions/printf.texi: Update.
50271         * doc/posix-functions/snprintf.texi: Update.
50272         * doc/posix-functions/sprintf.texi: Update.
50273         * doc/posix-functions/vfprintf.texi: Update.
50274         * doc/posix-functions/vprintf.texi: Update.
50275         * doc/posix-functions/vsnprintf.texi: Update.
50276         * doc/posix-functions/vsprintf.texi: Update.
50277         * doc/glibc-functions/obstack_printf.texi: Update.
50278         * doc/glibc-functions/obstack_vprintf.texi: Update.
50279         Reported by Eric Blake.
50280
50281 2009-02-25  Bruno Haible  <bruno@clisp.org>
50282
50283         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50284         with known value.
50285         Reported by Gary V. Vaughan <gary@gnu.org>.
50286
50287 2009-02-25  Bruno Haible  <bruno@clisp.org>
50288
50289         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50290         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50291         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50292         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50293         Reported by Gary V. Vaughan <gary@gnu.org>.
50294
50295 2009-02-25  Bruno Haible  <bruno@clisp.org>
50296
50297         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50298         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50299         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50300         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50301         Reported by Gary V. Vaughan <gary@gnu.org>.
50302
50303 2009-02-25  Eric Blake  <ebb9@byu.net>
50304
50305         tests: skip fseek/ftell tests if ungetc is broken
50306         * m4/ungetc.m4: New file.
50307         * modules/fseek-tests: Split test, so ungetc dependency is
50308         separate from rest of test.
50309         * modules/fseeko-tests: Likewise.
50310         * modules/ftell-tests: Likewise.
50311         * modules/ftello-tests: Likewise.
50312         * tests/test-fseek.c (main): Isolate ungetc dependency.
50313         * tests/test-fseeko.c (main): Likewise.
50314         * tests/test-ftell.c (main): Likewise.
50315         * tests/test-ftello.c (main): Likewise.
50316         * tests/test-fseek2.sh: New file.
50317         * tests/test-fseeko2.sh: Likewise.
50318         * tests/test-ftell2.sh: Likewise.
50319         * tests/test-ftello2.sh: Likewise.
50320
50321 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50322
50323         test-getaddrinfo: fix usage of skip return code 77
50324         * tests/test-gettaddrinfo.c: Return skip code 77 only
50325         for first occurrence of skip (4x77 is not 77)
50326
50327 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50328
50329         strtod: avoid C99 decl-after-statement
50330         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50331
50332 2009-02-24  Eric Blake  <ebb9@byu.net>
50333
50334         strtod: detect HP-UX 11.31 bug
50335         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50336         Reported by Gary V. Vaughan.
50337
50338 2009-02-23  Bruno Haible  <bruno@clisp.org>
50339
50340         Fix invalid read past end of memory block.
50341         * lib/vasnprintf.c (DCHAR_SET): Define.
50342         (local_wcslen): Define only when needed.
50343         (local_strnlen, local_wcsnlen): New functions.
50344         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50345         directives that involve a conversion ourselves.
50346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50347         wcsnlen, mbrtowc, wcrtomb.
50348         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50349         * tests/test-vasprintf-posix.c (test_function): Likewise.
50350         * tests/test-snprintf-posix.h (test_function): Likewise.
50351         * tests/test-sprintf-posix.h (test_function): Likewise.
50352         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50353
50354 2009-02-22  Bruno Haible  <bruno@clisp.org>
50355
50356         Implement new clarified decomposition of Hangul syllables.
50357         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50358         of type LTV, return only a pairwise decomposition.
50359         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50360         Likewise.
50361         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50362         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50363         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50364
50365 2009-02-22  Bruno Haible  <bruno@clisp.org>
50366
50367         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50368         zero-length results and shrink excess allocated memory.
50369         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50370         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50371         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50372         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50373         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50374         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50375         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50376         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50377         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50378         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50379         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50380         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50381
50382 2009-02-21  Bruno Haible  <bruno@clisp.org>
50383
50384         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50385         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50386         spaces after a period. Put a space between a macro name and its
50387         argument list. Trivial rewordings.
50388         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50389         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50390         (main): Return 0 explicitly.
50391
50392 2009-02-21  Bruno Haible  <bruno@clisp.org>
50393
50394         Tests for module 'uninorm/filter'.
50395         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50396         * modules/uninorm/filter-tests: New file.
50397
50398         New module 'uninorm/filter'.
50399         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50400         uninorm_filter_flush, uninorm_filter_free): New declarations.
50401         * lib/uninorm/uninorm-filter.c: New file.
50402         * modules/uninorm/filter: New file.
50403
50404 2009-02-21  Bruno Haible  <bruno@clisp.org>
50405
50406         Tests for module 'uninorm/nfkc'.
50407         * tests/uninorm/test-nfkc.c: New file.
50408         * tests/uninorm/test-u8-nfkc.c: New file.
50409         * tests/uninorm/test-u16-nfkc.c: New file.
50410         * tests/uninorm/test-u32-nfkc.c: New file.
50411         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50412         * tests/uninorm/test-u32-nfkc-big.c: New file.
50413         * modules/uninorm/nfkc-tests: New file.
50414
50415         New module 'uninorm/nfkc'.
50416         * lib/uninorm/nfkc.c: New file.
50417         * modules/uninorm/nfkc: New file.
50418
50419         Tests for module 'uninorm/nfkd'.
50420         * tests/uninorm/test-nfkd.c: New file.
50421         * tests/uninorm/test-u8-nfkd.c: New file.
50422         * tests/uninorm/test-u16-nfkd.c: New file.
50423         * tests/uninorm/test-u32-nfkd.c: New file.
50424         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50425         * tests/uninorm/test-u32-nfkd-big.c: New file.
50426         * modules/uninorm/nfkd-tests: New file.
50427
50428         New module 'uninorm/nfkd'.
50429         * lib/uninorm/nfkd.c: New file.
50430         * modules/uninorm/nfkd: New file.
50431
50432         Tests for module 'uninorm/nfc'.
50433         * tests/uninorm/test-nfc.c: New file.
50434         * tests/uninorm/test-u8-nfc.c: New file.
50435         * tests/uninorm/test-u16-nfc.c: New file.
50436         * tests/uninorm/test-u32-nfc.c: New file.
50437         * tests/uninorm/test-u32-nfc-big.sh: New file.
50438         * tests/uninorm/test-u32-nfc-big.c: New file.
50439         * modules/uninorm/nfc-tests: New file.
50440
50441         New module 'uninorm/nfc'.
50442         * lib/uninorm/nfc.c: New file.
50443         * modules/uninorm/nfc: New file.
50444
50445         Tests for module 'uninorm/nfd'.
50446         * tests/uninorm/test-nfd.c: New file.
50447         * tests/uninorm/test-u8-nfd.c: New file.
50448         * tests/uninorm/test-u16-nfd.c: New file.
50449         * tests/uninorm/test-u32-nfd.c: New file.
50450         * tests/uninorm/test-u32-nfd-big.sh: New file.
50451         * tests/uninorm/test-u32-nfd-big.c: New file.
50452         * tests/uninorm/test-u32-normalize-big.h: New file.
50453         * tests/uninorm/test-u32-normalize-big.c: New file.
50454         * tests/uninorm/NormalizationTest.txt: New file, created from
50455         Unicode 5.1.0 NormalizationTest.txt.
50456         * modules/uninorm/nfd-tests: New file.
50457
50458         New module 'uninorm/nfd'.
50459         * lib/uninorm/nfd.c: New file.
50460         * modules/uninorm/nfd: New file.
50461
50462         New module 'uninorm/u32-normalize'.
50463         * lib/uninorm/u32-normalize.c: New file.
50464         * modules/uninorm/u32-normalize: New file.
50465
50466         New module 'uninorm/u16-normalize'.
50467         * lib/uninorm/u16-normalize.c: New file.
50468         * modules/uninorm/u16-normalize: New file.
50469
50470         New module 'uninorm/u8-normalize'.
50471         * lib/uninorm/u8-normalize.c: New file.
50472         * lib/uninorm/normalize-internal.h: New file.
50473         * lib/uninorm/u-normalize-internal.h: New file.
50474         * modules/uninorm/u8-normalize: New file.
50475
50476         New module 'uninorm/decompose-internal'.
50477         * lib/uninorm/decompose-internal.c: New file.
50478         * modules/uninorm/decompose-internal: New file.
50479
50480         Tests for module 'uninorm/composition'.
50481         * tests/uninorm/test-composition.c: New file.
50482         * modules/uninorm/composition-tests: New file.
50483
50484         New module 'uninorm/composition'.
50485         * lib/uninorm/composition.c: New file.
50486         * lib/uninorm/composition-table.gperf: New file, generated by
50487         gen-uni-tables.
50488         * modules/uninorm/composition: New file.
50489
50490         Tests for module 'uninorm/compat-decomposition'.
50491         * tests/uninorm/test-compat-decomposition.c: New file.
50492         * modules/uninorm/compat-decomposition-tests: New file.
50493
50494         New module 'uninorm/compat-decomposition'.
50495         * lib/uninorm/decompose-internal.h: New file.
50496         * lib/uninorm/compat-decomposition.c: New file.
50497         * modules/uninorm/compat-decomposition: New file.
50498
50499         Tests for module 'uninorm/canonical-decomposition'.
50500         * tests/uninorm/test-canonical-decomposition.c: New file.
50501         * modules/uninorm/canonical-decomposition-tests: New file.
50502
50503         New module 'uninorm/canonical-decomposition'.
50504         * lib/uninorm/canonical-decomposition.c: New file.
50505         * modules/uninorm/canonical-decomposition: New file.
50506
50507         Tests for module 'uninorm/decomposition'.
50508         * tests/uninorm/test-decomposition.c: New file.
50509         * modules/uninorm/decomposition-tests: New file.
50510
50511         New module 'uninorm/decomposition'.
50512         * lib/uninorm/decomposition.c: New file.
50513         * modules/uninorm/decomposition: New file.
50514
50515         New module 'uninorm/decomposition-table'.
50516         * lib/uninorm/decomposition-table.h: New file.
50517         * lib/uninorm/decomposition-table.c: New file.
50518         * lib/uninorm/decomposition-table1.h: New file, generated by
50519         gen-uni-tables.
50520         * lib/uninorm/decomposition-table2.h: New file, generated by
50521         gen-uni-tables.
50522         * modules/uninorm/decomposition-table: New file.
50523
50524         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50525         (UC_DECOMP_*): New enumeration items.
50526         (get_decomposition): New function.
50527         (struct decomp_table): New type.
50528         (output_decomposition, output_decomposition_tables): New functions.
50529         (unicode_composition_exclusions): New variable.
50530         (fill_composition_exclusions, debug_output_composition_tables): New
50531         functions.
50532         (main): Accept one more argument. Invoke fill_composition_exclusions.
50533         Output decomposition and composition tables.
50534
50535         New module 'uninorm/base'.
50536         * lib/uninorm.h: New file.
50537         * lib/unictype.h: Update comment.
50538         * modules/uninorm/base: New file.
50539
50540 2009-02-21  David Lutterkort  <lutter@redhat.com>
50541
50542         Tests for module 'safe-alloc'.
50543         * tests/test-safe-alloc.c: New file.
50544         * modules/safe-alloc-tests: New file.
50545
50546         New module 'safe-alloc'.
50547         * lib/safe-alloc.h: New file.
50548         * lib/safe-alloc.c: New file.
50549         * m4/safe-alloc.m4: New file.
50550         * modules/safe-alloc: New file.
50551         * doc/safe-alloc.texi: New file.
50552         * doc/gnulib.texi: Include it.
50553         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50554         safe-alloc.
50555
50556 2009-02-18  Bruno Haible  <bruno@clisp.org>
50557
50558         Fix link error on non-glibc systems.
50559         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50560         variable.
50561         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50562
50563 2009-02-18  Jim Meyering  <meyering@redhat.com>
50564
50565         fts: avoid used-uninitialized error due to recent change
50566         * lib/fts.c (fts_read): Guard uses of the new member,
50567         parent->fts_n_dirs_remaining, since it's not relevant for
50568         the parent of a directory specified on the command-line.
50569
50570 2009-02-17  James Youngman  <jay@gnu.org>
50571             Bruno Haible  <bruno@clisp.org>
50572
50573         * m4/include_next.m4: Reformulate comment.
50574
50575 2009-02-16  Jim Meyering  <meyering@redhat.com>
50576
50577         fts: add #if guards so that the fts_lgpl module still builds
50578         * lib/fts.c: Guard just-added hash-table-using parts with
50579         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50580         Reported by Simon Josefsson.
50581
50582 2009-02-15  Bruno Haible  <bruno@clisp.org>
50583
50584         * modules/array-mergesort-tests: New file.
50585         * tests/test-array-mergesort.c: New file.
50586
50587         New module 'array-mergesort'.
50588         * modules/array-mergesort: New file.
50589         * lib/array-mergesort.h: New file.
50590
50591 2009-02-15  Bruno Haible  <bruno@clisp.org>
50592
50593         Fix 2009-02-07 commit.
50594         * lib/gen-uni-tables.c (output_predicate, output_category,
50595         output_combclass, output_bidi_category, output_decimal_digit,
50596         output_digit, output_numeric, output_mirror, output_scripts,
50597         output_ident_category, output_simple_mapping): Fix format directives.
50598         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50599
50600 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50601
50602         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50603         fixes are available from IBM.
50604
50605 2009-02-13  Jim Meyering  <meyering@redhat.com>
50606
50607         fts: arrange not to stat non-directories in more cases
50608         This makes GNU find (when it doesn't need to stat each file)
50609         *much* more efficient at traversing reiserfs file systems.
50610         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50611         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50612         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50613         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50614         (leaf_optimization_applies): New function.
50615         (LCO_hash, LCO_compare): New helper functions.
50616         (link_count_optimize_ok): New function.
50617         (fts_stat): Initialize new member (if dir).
50618         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50619         we've just stat'ed a directory.  Skip the stat call when possible.
50620         ---
50621         Note this AFS-related exchange:
50622         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50623         and note find's pioctl call in find/fstype.c.
50624         But that is necessary only if you want to enable the
50625         optimization for AFS, and for now, I don't.
50626
50627         fts: move a function definition "up" (no semantic change)
50628         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50629         "up" to precede upcoming use of a related function.
50630
50631 2009-02-11  Jim Meyering  <meyering@redhat.com>
50632
50633         fts: correct internal computation of nlinks (optimization-related)
50634         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50635         whether the current entry is a directory, so don't test it.
50636
50637 2009-02-10  Bruno Haible  <bruno@clisp.org>
50638
50639         Tests for module 'uniwbrk/ulc-wordbreaks'.
50640         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50641         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50642         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50643
50644         Tests for module 'uniwbrk/u32-wordbreaks'.
50645         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50646         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50647
50648         Tests for module 'uniwbrk/u16-wordbreaks'.
50649         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50650         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50651
50652         Tests for module 'uniwbrk/u8-wordbreaks'.
50653         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50654         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50655
50656 2009-02-10  Bruno Haible  <bruno@clisp.org>
50657
50658         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50659         property.
50660         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50661         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50662         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50663
50664 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50665
50666         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50667         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50668
50669 2009-02-10  Bruno Haible  <bruno@clisp.org>
50670
50671         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50672         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50673         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50674         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50675         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50676         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50677
50678 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50679
50680         * lib/sockets.h (gl_fd_to_handle): New function.
50681
50682         * tests/test-sockets.c: Call gl_fd_to_handle.
50683
50684 2009-02-09  Bruno Haible  <bruno@clisp.org>
50685
50686         * doc/havelib.texi: Document the conventions on bi-arch systems.
50687
50688 2009-02-08  Bruno Haible  <bruno@clisp.org>
50689
50690         Document the AC_LIB_LINKFLAGS macro.
50691         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50692         * doc/gnulib.texi: Include it.
50693
50694 2009-02-08  Bruno Haible  <bruno@clisp.org>
50695
50696         Fix wrong order of sections, compared to TOC.
50697         * doc/gnulib.texi: Include relocatable-maint.texi after the
50698         "Regular expressions" node, not before.
50699
50700 2009-02-08  Bruno Haible  <bruno@clisp.org>
50701
50702         Tests for module 'unicase/totitle'.
50703         * modules/unicase/totitle-tests: New file.
50704
50705         Tests for module 'unicase/tolower'.
50706         * modules/unicase/tolower-tests: New file.
50707
50708         Tests for module 'unicase/toupper'.
50709         * modules/unicase/toupper-tests: New file.
50710         * tests/unicase/test-mapping-part1.h: New file.
50711         * tests/unicase/test-mapping-part2.h: New file.
50712
50713         New module 'unicase/totitle'.
50714         * modules/unicase/totitle: New file.
50715         * lib/unicase/totitle.c: New file.
50716
50717         New module 'unicase/tolower'.
50718         * modules/unicase/tolower: New file.
50719         * lib/unicase/tolower.c: New file.
50720
50721         New module 'unicase/toupper'.
50722         * modules/unicase/toupper: New file.
50723         * lib/unicase/toupper.c: New file.
50724         * lib/unicase/simple-mapping.h: New file.
50725
50726         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
50727         (mapping_table): New structure.
50728         (output_simple_mapping): New function.
50729         (main): Invoke output_simple_mapping_test and output_simple_mapping.
50730         * modules/gen-uni-tables (Description): Update.
50731         * lib/unicase/toupper.h: New file, automatically generated by
50732         gen-uni-tables.
50733         * lib/unicase/tolower.h: New file, automatically generated by
50734         gen-uni-tables.
50735         * lib/unicase/totitle.h: New file, automatically generated by
50736         gen-uni-tables.
50737         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
50738         gen-uni-tables.
50739         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
50740         gen-uni-tables.
50741         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
50742         gen-uni-tables.
50743
50744         New module 'unicase/base'.
50745         * modules/unicase/base: New file.
50746         * lib/unicase.h: New file.
50747
50748 2009-02-08  Bruno Haible  <bruno@clisp.org>
50749
50750         New module 'uniwbrk/ulc-wordbreaks'.
50751         * modules/uniwbrk/ulc-wordbreaks: New file.
50752         * lib/uniwbrk/ulc-wordbreaks.c: New file.
50753
50754         New module 'uniwbrk/u32-wordbreaks'.
50755         * modules/uniwbrk/u32-wordbreaks: New file.
50756         * lib/uniwbrk/u32-wordbreaks.c: New file.
50757
50758         New module 'uniwbrk/u16-wordbreaks'.
50759         * modules/uniwbrk/u16-wordbreaks: New file.
50760         * lib/uniwbrk/u16-wordbreaks.c: New file.
50761
50762         New module 'uniwbrk/u8-wordbreaks'.
50763         * modules/uniwbrk/u8-wordbreaks: New file.
50764         * lib/uniwbrk/u8-wordbreaks.c: New file.
50765         * lib/uniwbrk/u-wordbreaks.h: New file.
50766
50767         New module 'uniwbrk/table'.
50768         * modules/uniwbrk/table: New file.
50769         * lib/uniwbrk/wbrktable.h: New file.
50770         * lib/uniwbrk/wbrktable.c: New file.
50771
50772         New module 'uniwbrk/wordbreak-property'.
50773         * modules/uniwbrk/wordbreak-property: New file.
50774         * lib/uniwbrk/wordbreak-property.c: New file.
50775
50776         * lib/gen-uni-tables.c (WBP_*): New enum items.
50777         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
50778         (unicode_org_wbp): New variable.
50779         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
50780         New functions.
50781         (wbp_table): New structure.
50782         (output_wbp, output_wbrk_tables): New functions.
50783         (main): Accept additional argument. Invoke fill_org_wbp,
50784         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
50785         output_wbrk_tables.
50786         * modules/gen-uni-tables (Description): Update.
50787         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
50788         gen-uni-tables.
50789
50790         New module 'uniwbrk/base'.
50791         * modules/uniwbrk/base: New file.
50792         * lib/uniwbrk.h: New file.
50793
50794 2009-02-08  Bruno Haible  <bruno@clisp.org>
50795
50796         Update to Unicode 5.1.0.
50797         * lib/gen-uni-tables.c (is_property_alphabetic): Include
50798         U+2185..U+2188.
50799         (is_property_default_ignorable_code_point): Don't include characters
50800         of category Cc or Cs and not-a-characters.
50801         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
50802         U+0D79, U+109E, U+109F, U+A60C.
50803         * lib/unictype/bidi_of.h: Regenerated.
50804         * lib/unictype/blocks.h: Regenerated.
50805         * lib/unictype/categ_C.h: Regenerated.
50806         * lib/unictype/categ_Cf.h: Regenerated.
50807         * lib/unictype/categ_Cn.h: Regenerated.
50808         * lib/unictype/categ_L.h: Regenerated.
50809         * lib/unictype/categ_Ll.h: Regenerated.
50810         * lib/unictype/categ_Lm.h: Regenerated.
50811         * lib/unictype/categ_Lo.h: Regenerated.
50812         * lib/unictype/categ_Lu.h: Regenerated.
50813         * lib/unictype/categ_M.h: Regenerated.
50814         * lib/unictype/categ_Mc.h: Regenerated.
50815         * lib/unictype/categ_Me.h: Regenerated.
50816         * lib/unictype/categ_Mn.h: Regenerated.
50817         * lib/unictype/categ_N.h: Regenerated.
50818         * lib/unictype/categ_Nd.h: Regenerated.
50819         * lib/unictype/categ_Nl.h: Regenerated.
50820         * lib/unictype/categ_No.h: Regenerated.
50821         * lib/unictype/categ_P.h: Regenerated.
50822         * lib/unictype/categ_Pd.h: Regenerated.
50823         * lib/unictype/categ_Pe.h: Regenerated.
50824         * lib/unictype/categ_Pf.h: Regenerated.
50825         * lib/unictype/categ_Pi.h: Regenerated.
50826         * lib/unictype/categ_Po.h: Regenerated.
50827         * lib/unictype/categ_Ps.h: Regenerated.
50828         * lib/unictype/categ_S.h: Regenerated.
50829         * lib/unictype/categ_Sk.h: Regenerated.
50830         * lib/unictype/categ_Sm.h: Regenerated.
50831         * lib/unictype/categ_So.h: Regenerated.
50832         * lib/unictype/categ_of.h: Regenerated.
50833         * lib/unictype/combining.h: Regenerated.
50834         * lib/unictype/ctype_alnum.h: Regenerated.
50835         * lib/unictype/ctype_alpha.h: Regenerated.
50836         * lib/unictype/ctype_graph.h: Regenerated.
50837         * lib/unictype/ctype_lower.h: Regenerated.
50838         * lib/unictype/ctype_print.h: Regenerated.
50839         * lib/unictype/ctype_punct.h: Regenerated.
50840         * lib/unictype/ctype_upper.h: Regenerated.
50841         * lib/unictype/decdigit.h: Regenerated.
50842         * lib/unictype/digit.h: Regenerated.
50843         * lib/unictype/mirror.h: Regenerated.
50844         * lib/unictype/numeric.h: Regenerated.
50845         * lib/unictype/pr_alphabetic.h: Regenerated.
50846         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
50847         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
50848         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
50849         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
50850         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
50851         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
50852         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
50853         * lib/unictype/pr_combining.h: Regenerated.
50854         * lib/unictype/pr_dash.h: Regenerated.
50855         * lib/unictype/pr_decimal_digit.h: Regenerated.
50856         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
50857         * lib/unictype/pr_deprecated.h: Regenerated.
50858         * lib/unictype/pr_diacritic.h: Regenerated.
50859         * lib/unictype/pr_extender.h: Regenerated.
50860         * lib/unictype/pr_format_control.h: Regenerated.
50861         * lib/unictype/pr_grapheme_base.h: Regenerated.
50862         * lib/unictype/pr_grapheme_extend.h: Regenerated.
50863         * lib/unictype/pr_grapheme_link.h: Regenerated.
50864         * lib/unictype/pr_id_continue.h: Regenerated.
50865         * lib/unictype/pr_id_start.h: Regenerated.
50866         * lib/unictype/pr_ideographic.h: Regenerated.
50867         * lib/unictype/pr_ignorable_control.h: Regenerated.
50868         * lib/unictype/pr_lowercase.h: Regenerated.
50869         * lib/unictype/pr_math.h: Regenerated.
50870         * lib/unictype/pr_numeric.h: Regenerated.
50871         * lib/unictype/pr_other_alphabetic.h: Regenerated.
50872         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
50873         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50874         * lib/unictype/pr_other_id_continue.h: Regenerated.
50875         * lib/unictype/pr_other_lowercase.h: Regenerated.
50876         * lib/unictype/pr_other_math.h: Regenerated.
50877         * lib/unictype/pr_punctuation.h: Regenerated.
50878         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50879         * lib/unictype/pr_soft_dotted.h: Regenerated.
50880         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50881         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50882         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50883         * lib/unictype/pr_uppercase.h: Regenerated.
50884         * lib/unictype/pr_xid_continue.h: Regenerated.
50885         * lib/unictype/pr_xid_start.h: Regenerated.
50886         * lib/unictype/pr_zero_width.h: Regenerated.
50887         * lib/unictype/scripts.h: Regenerated.
50888         * lib/unictype/scripts_byname.gperf: Regenerated.
50889         * lib/unictype/sy_java_ident.h: Regenerated.
50890         * lib/unilbrk/lbrkprop1.h: Regenerated.
50891         * lib/unilbrk/lbrkprop2.h: Regenerated.
50892         * tests/unictype/test-categ_C.c: Regenerated.
50893         * tests/unictype/test-categ_Cf.c: Regenerated.
50894         * tests/unictype/test-categ_Cn.c: Regenerated.
50895         * tests/unictype/test-categ_L.c: Regenerated.
50896         * tests/unictype/test-categ_Ll.c: Regenerated.
50897         * tests/unictype/test-categ_Lm.c: Regenerated.
50898         * tests/unictype/test-categ_Lo.c: Regenerated.
50899         * tests/unictype/test-categ_Lu.c: Regenerated.
50900         * tests/unictype/test-categ_M.c: Regenerated.
50901         * tests/unictype/test-categ_Mc.c: Regenerated.
50902         * tests/unictype/test-categ_Me.c: Regenerated.
50903         * tests/unictype/test-categ_Mn.c: Regenerated.
50904         * tests/unictype/test-categ_N.c: Regenerated.
50905         * tests/unictype/test-categ_Nd.c: Regenerated.
50906         * tests/unictype/test-categ_Nl.c: Regenerated.
50907         * tests/unictype/test-categ_No.c: Regenerated.
50908         * tests/unictype/test-categ_P.c: Regenerated.
50909         * tests/unictype/test-categ_Pd.c: Regenerated.
50910         * tests/unictype/test-categ_Pe.c: Regenerated.
50911         * tests/unictype/test-categ_Pf.c: Regenerated.
50912         * tests/unictype/test-categ_Pi.c: Regenerated.
50913         * tests/unictype/test-categ_Po.c: Regenerated.
50914         * tests/unictype/test-categ_Ps.c: Regenerated.
50915         * tests/unictype/test-categ_S.c: Regenerated.
50916         * tests/unictype/test-categ_Sk.c: Regenerated.
50917         * tests/unictype/test-categ_Sm.c: Regenerated.
50918         * tests/unictype/test-categ_So.c: Regenerated.
50919         * tests/unictype/test-ctype_alnum.c: Regenerated.
50920         * tests/unictype/test-ctype_alpha.c: Regenerated.
50921         * tests/unictype/test-ctype_graph.c: Regenerated.
50922         * tests/unictype/test-ctype_lower.c: Regenerated.
50923         * tests/unictype/test-ctype_print.c: Regenerated.
50924         * tests/unictype/test-ctype_punct.c: Regenerated.
50925         * tests/unictype/test-ctype_upper.c: Regenerated.
50926         * tests/unictype/test-decdigit.h: Regenerated.
50927         * tests/unictype/test-digit.h: Regenerated.
50928         * tests/unictype/test-numeric.h: Regenerated.
50929         * tests/unictype/test-pr_alphabetic.c: Regenerated.
50930         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
50931         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
50932         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
50933         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
50934         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
50935         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
50936         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
50937         * tests/unictype/test-pr_combining.c: Regenerated.
50938         * tests/unictype/test-pr_dash.c: Regenerated.
50939         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
50940         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
50941         * tests/unictype/test-pr_deprecated.c: Regenerated.
50942         * tests/unictype/test-pr_diacritic.c: Regenerated.
50943         * tests/unictype/test-pr_extender.c: Regenerated.
50944         * tests/unictype/test-pr_format_control.c: Regenerated.
50945         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
50946         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
50947         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
50948         * tests/unictype/test-pr_id_continue.c: Regenerated.
50949         * tests/unictype/test-pr_id_start.c: Regenerated.
50950         * tests/unictype/test-pr_ideographic.c: Regenerated.
50951         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
50952         * tests/unictype/test-pr_lowercase.c: Regenerated.
50953         * tests/unictype/test-pr_math.c: Regenerated.
50954         * tests/unictype/test-pr_numeric.c: Regenerated.
50955         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
50956         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
50957         Regenerated.
50958         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
50959         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
50960         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
50961         * tests/unictype/test-pr_other_math.c: Regenerated.
50962         * tests/unictype/test-pr_punctuation.c: Regenerated.
50963         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
50964         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
50965         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
50966         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
50967         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
50968         * tests/unictype/test-pr_uppercase.c: Regenerated.
50969         * tests/unictype/test-pr_xid_continue.c: Regenerated.
50970         * tests/unictype/test-pr_xid_start.c: Regenerated.
50971         * tests/unictype/test-pr_zero_width.c: Regenerated.
50972
50973         Update to Unicode 5.1.0.
50974         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
50975         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
50976         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
50977         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
50978         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
50979         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
50980         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
50981         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
50982         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
50983         (nonspacing_table_ind): Update.
50984         * tests/uniwidth/test-uc_width2.sh: Update expected result.
50985
50986         Update to Unicode 5.1.0.
50987         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
50988         code transform.
50989         * lib/uniname/uniname.c (unicode_character_name,
50990         unicode_name_character): Add the range 0x1Fxxx to the code transform.
50991         * lib/uniname/uninames.h: Regenerated.
50992         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
50993
50994 2009-02-07  Bruno Haible  <bruno@clisp.org>
50995
50996         Merge gen-ctype and gen-lbrk into a single program.
50997         * lib/gen-uni-tables.c: New file, incorporating
50998         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
50999         Add directory prefixes to the names of the generated files.
51000         * lib/unictype/gen-ctype.c: Remove file.
51001         * lib/unilbrk/gen-lbrk.c: Remove file.
51002         * modules/gen-uni-tables: New file.
51003         * modules/unictype/gen-ctype: Remove file.
51004         * modules/unilbrk/gen-lbrk: Remove file.
51005
51006 2009-02-07  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51009
51010         New module 'unistr/u32-strcoll'.
51011         * modules/unistr/u32-strcoll: New file.
51012         * lib/unistr/u32-strcoll.c: New file.
51013
51014         New module 'unistr/u16-strcoll'.
51015         * modules/unistr/u16-strcoll: New file.
51016         * lib/unistr/u16-strcoll.c: New file.
51017
51018         New module 'unistr/u8-strcoll'.
51019         * modules/unistr/u8-strcoll: New file.
51020         * lib/unistr/u8-strcoll.c: New file.
51021         * lib/unistr/u-strcoll.h: New file.
51022
51023 2009-02-07  Bruno Haible  <bruno@clisp.org>
51024
51025         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51026         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51027         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51028         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51029         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51030         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51031
51032 2009-02-07  Bruno Haible  <bruno@clisp.org>
51033
51034         Make 64-bit clean.
51035         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51036         output_combclass, output_bidi_category, output_decimal_digit,
51037         output_digit, output_numeric, output_mirror, output_scripts,
51038         output_ident_category): Use proper width specifier in format strings.
51039
51040 2009-02-07  Bruno Haible  <bruno@clisp.org>
51041
51042         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51043         failure behaviour.
51044
51045 2009-02-07  Jim Meyering  <meyering@redhat.com>
51046
51047         regex: avoid compilation failure with upcoming gcc-4.4
51048         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51049         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51050         "... error: integer overflow in preprocessor expression".
51051
51052 2009-02-05  Ben Pfaff  <blp@gnu.org>
51053
51054         Fix link errors on Windows when close module is used.
51055         * modules/close: Add $(LIB_CLOSE) to Link section.
51056         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51057         $(LIB_CLOSE) on Windows.
51058
51059 2009-02-05  Jim Meyering  <meyering@redhat.com>
51060
51061         still avoid unused-parameter warnings, but do it cleanly
51062         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51063         (get_fs_usage): Cast to void instead.
51064         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51065         (dev_from_mount_options, read_file_system_list): Cast to void.
51066         Prompted by Bruno Haible.
51067
51068 2009-02-04  Jim Meyering  <meyering@redhat.com>
51069
51070         fsusage.c: correct copyright year
51071         * lib/fsusage.c: Reflect year in which the change is pushed into
51072
51073         avoid misc. warnings
51074         * lib/fsusage.c (UNUSED_PARAM): Define.
51075         (get_fs_usage): Mark parameter "disk" as unused.
51076         * lib/getugroups.c (getgrent): Use "void" in prototype.
51077         * lib/mountlist.c: Mark unused parameters.
51078         (read_file_system_list): Declare a local with "const".
51079         * lib/nanosleep.c (getnow): Declare static.
51080         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51081
51082         dirfd: set errno upon failure
51083         * lib/dirfd.c: Include <errno.h>.
51084         Set errno to ENOTSUP when returning -1.
51085         * modules/dirfd (Depends-on): Add errno.
51086         Suggested by John Kodis <kodis@comcast.net>.
51087
51088 2009-02-01  Bruno Haible  <bruno@clisp.org>
51089
51090         Don't assume sizeof (long) >= sizeof (void *).
51091         * lib/memcmp.c: Include stdint.h.
51092         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51093         srcp2 to 'const byte *'.
51094         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51095         types to uintptr_t.
51096         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51097         * modules/memcmp (Depends-on): Add stdint.
51098         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51099
51100 2009-01-30  Eric Blake  <ebb9@byu.net>
51101
51102         fix more require-before-expand issues
51103         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51104         expand, AC_PROG_AWK.
51105         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51106
51107 2009-01-28  Eric Blake  <ebb9@byu.net>
51108
51109         version-etc: use consistent URL formatting
51110         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51111         Improve formatting.  Use fputs for string without %.
51112
51113 2009-01-28  Jim Meyering  <meyering@redhat.com>
51114
51115         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51116         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51117         "underquoted definition of NAME" from autoconf-2.59.
51118
51119 2009-01-28  Bruno Haible  <bruno@clisp.org>
51120
51121         * doc/gnulib.texi: Add "Obsolete modules" to index.
51122
51123 2009-01-28  Jim Meyering  <meyering@redhat.com>
51124
51125         useless-if-before-free: recognize more variants
51126         * build-aux/useless-if-before-free: Also recognize e.g.,
51127         if (NULL != p) free (p);
51128
51129 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51130
51131         test-getaddrinfo: skip (don't fail) this test when there's no network
51132         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51133         on the presumption that it means you lack network access.
51134
51135 2009-01-26  Jim Meyering  <meyering@redhat.com>
51136
51137         fflush: avoid warnings on modern systems
51138         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51139         pos and result, into scopes where they're used.
51140
51141 2009-01-26  Eric Blake  <ebb9@byu.net>
51142
51143         Silence warning reintroduced by recent extensions patch.
51144         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51145         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51146         autoconf.
51147
51148         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51149         * m4/00gnulib.m4: New file.
51150         * gnulib-tool (func_get_filelist): Always use it.
51151         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51152         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51153
51154 2009-01-25  Bruno Haible  <bruno@clisp.org>
51155
51156         Make test-quotearg work on MacOS X and AIX.
51157         * tests/test-quotearg.sh: New file.
51158         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51159         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51160         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51161         include <libintl.h>.
51162         (fake_locale): Remove variable.
51163         (gettext, dgettext, dcgettext): Remove functions.
51164         (main): Instead of setting a fake locale, set a real locale. Call
51165         textdomain and bindtextdomain.
51166         * modules/quotearg-tests (Files): Add the new files.
51167         (Depends-on): Add gettext, setenv, unsetenv.
51168         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51169         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51170         Augment TESTS_ENVIRONMENT.
51171
51172 2009-01-25  Bruno Haible  <bruno@clisp.org>
51173
51174         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51175         fr_FR.ISO8859-1 locale on MacOS X.
51176         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51177         ja_JP.eucJP locale on MacOS X.
51178         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51179         zh_CN.GB18030 locale on MacOS X.
51180
51181 2009-01-25  Bruno Haible  <bruno@clisp.org>
51182
51183         Avoid link errors on MacOS X 10.3.
51184         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51185         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51186
51187 2009-01-25  Bruno Haible  <bruno@clisp.org>
51188
51189         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51190         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51191         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51192         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51193         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51194         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51195         posix_spawnattr_init, posix_spawnattr_setsigmask,
51196         posix_spawnattr_setflags, posix_spawnattr_destroy.
51197
51198         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51199         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51200         * modules/execute (Files): Remove m4/posix_spawn.m4.
51201         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51202         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51203         posix_spawnattr_init, posix_spawnattr_setsigmask,
51204         posix_spawnattr_setflags, posix_spawnattr_destroy.
51205
51206 2009-01-25  Bruno Haible  <bruno@clisp.org>
51207
51208         * lib/glthread/threadlib.c: Include <stdlib.h>.
51209
51210 2009-01-25  Bruno Haible  <bruno@clisp.org>
51211
51212         * lib/glthread/threadlib.c (dummy): New declaration.
51213
51214 2009-01-25  Bruno Haible  <bruno@clisp.org>
51215
51216         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51217         multibyte characters also for the GB18030 encoding. Don't crash when
51218         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51219
51220 2009-01-25  Bruno Haible  <bruno@clisp.org>
51221
51222         Avoid redefining 'struct random_data' on OSF/1 5.1.
51223         * lib/stdlib.in.h: Include <random.h> if it exists.
51224         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51225         HAVE_RANDOM_H. Include <random.h> when testing whether
51226         'struct random_data' exists.
51227         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51228
51229 2009-01-25  Bruno Haible  <bruno@clisp.org>
51230
51231         Don't install charset.alias on MacOS X >= 10.3.
51232         * lib/localcharset.c (DARWIN7): New macro.
51233         (get_charset_aliases): Hardcode the result for Darwin7.
51234         * modules/localcharset (install-exec-local): Don't install
51235         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51236
51237 2009-01-25  Bruno Haible  <bruno@clisp.org>
51238
51239         Don't install charset.alias on mingw and Cygwin.
51240         * modules/localcharset (install-exec-local): Don't install
51241         charset.alias on mingw and Cygwin, if the file does not yet exist.
51242         The result for these platforms is hardcoded in localcharset.c.
51243
51244 2009-01-25  Bruno Haible  <bruno@clisp.org>
51245
51246         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51247         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51248         before requiring AC_USE_SYSTEM_EXTENSIONS.
51249
51250 2009-01-25  Jim Meyering  <meyering@redhat.com>
51251
51252         c-strtod: avoid warnings
51253         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51254         "assignment discards qualifiers from pointer target type" warnings.
51255
51256 2009-01-24  Bruno Haible  <bruno@clisp.org>
51257
51258         Add support for non-UTF-8 locales on MacOS X.
51259         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51260         canonical encodings. For Darwin 7 and newer, don't map traditional
51261         encodings to UTF-8.
51262         Reported by Vincent Lefevre <vincent@vinc17.org>
51263         at <http://savannah.gnu.org/bugs/?25235>.
51264
51265 2009-01-24  Bruno Haible  <bruno@clisp.org>
51266
51267         * doc/gnulib.texi (Obsolete modules): New section.
51268         Reported by Mike Frysinger <vapier@gentoo.org>.
51269
51270 2009-01-24  Bruno Haible  <bruno@clisp.org>
51271
51272         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51273         (%.dvi): New rule.
51274
51275 2009-01-24  Bruno Haible  <bruno@clisp.org>
51276
51277         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51278         Reported by Eric Blake.
51279
51280 2009-01-24  Bruno Haible  <bruno@clisp.org>
51281
51282         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51283         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51284         Reported by Gary V. Vaughan <gary@gnu.org>.
51285
51286 2009-01-24  Bruno Haible  <bruno@clisp.org>
51287
51288         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51289
51290 2009-01-23  Bruno Haible  <bruno@clisp.org>
51291
51292         Make c-strtod, c-strtold usable in libraries.
51293         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51294         (C_STRTOD): Call strdup instead of xstrdup.
51295         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51296         * modules/c-strtold (Depends-on): Likewise.
51297         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51298         * NEWS: Mention the change.
51299         Reported by Michael Gold <mgold@ncf.ca>.
51300
51301 2009-01-23  Jim Meyering  <meyering@redhat.com>
51302
51303         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51304         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51305         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51306
51307 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51308
51309         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51310         GNU CoreUtils.
51311         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51312         * modules/version-etc (Description): Update.
51313
51314 2009-01-22  Bruno Haible  <bruno@clisp.org>
51315
51316         Cache the C locale object.
51317         * lib/c-strtod.c (c_locale_cache): New variable.
51318         (c_locale): New function.
51319         (C_STRTOD): Use it, and don't call freelocale.
51320         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51321         Suggested by Paolo Bonzini.
51322
51323 2009-01-21  Bruno Haible  <bruno@clisp.org>
51324
51325         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51326         conditions other than overflow.
51327
51328 2009-01-21  Bruno Haible  <bruno@clisp.org>
51329
51330         * lib/c-strtod.c: Include errno.h.
51331         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51332         value from STRTOD_L and STRTOD.
51333
51334 2009-01-21  Bruno Haible  <bruno@clisp.org>
51335         and Jim Meyering  <meyering@redhat.com>
51336
51337         nanosleep: skip configure test (fail it) for apple universal builds
51338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51339         universal builds, assume that nanosleep does not work.
51340         * modules/nanosleep (Depends-on): Add multiarch.
51341
51342         mktime: skip configure test (fail it) for apple universal builds
51343         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51344         universal builds, assume that mktime does not work.
51345         * modules/mktime (Depends-on): Add multiarch.
51346
51347 2009-01-21  Eric Blake  <ebb9@byu.net>
51348
51349         multiarch: avoid expand-before-require warning
51350         * modules/multiarch (configure.ac): Require, rather than expand,
51351         gl_MULTIARCH.
51352         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51353         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51354         enforce that all clients require it.  Partial reversion of
51355         2008-12-29 patch.
51356
51357         error: avoid expand-before-require warning
51358         * modules/errno (configure.ac): Require, rather than expand,
51359         gl_HEADER_ERRNO_H.
51360         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51361         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51362         enforce that all clients require it.
51363
51364         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51365         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51366         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51367         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51368
51369 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51370
51371         Revert:
51372         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51373
51374         regex: do not depend on obsolete modules.
51375         * modules/regex: Remove memcmp and memmove.
51376
51377 2009-01-20  Bruno Haible  <bruno@clisp.org>
51378
51379         Make the 'link' module link on Windows NT 4.
51380         * lib/link.c (_WIN32_WINNT): Don't define.
51381         (CreateHardLinkFuncType): New type.
51382         (CreateHardLinkFunc, initialized): New variables.
51383         (initialize): New function.
51384         (link): Invoke CreateHardLink indirectly through the function pointer.
51385
51386 2009-01-20  Bruno Haible  <bruno@clisp.org>
51387
51388         Fix compilation failure on mingw.
51389         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51390
51391 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51392
51393         * doc/c-strtod.texi: Mention a couple of restrictions.
51394
51395 2009-01-20  Jim Meyering  <meyering@redhat.com>
51396
51397         gettimeofday: move more declarations out of functions
51398         * lib/gettimeofday.c: Move extern declarations of tzset and
51399         gmtime out of containing functions.  Prompted by Bruno Haible.
51400
51401 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51402
51403         regex: do not depend on obsolete modules.
51404         * modules/regex: Remove memcmp and memmove.
51405
51406 2009-01-19  Bruno Haible  <bruno@clisp.org>
51407
51408         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51409         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51410         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51411         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51412         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51413
51414 2009-01-19  Bruno Haible  <bruno@clisp.org>
51415
51416         * tests/test-link.c: Include <errno.h>.
51417         (main): Exit with code 77 when a hard link cannot be created due to
51418         the file system.
51419         * tests/test-link.sh: Skip test when a hard link cannot be created due
51420         to the file system.
51421         Suggested by Eric Blake.
51422
51423 2009-01-19  Martin Lambers  <marlam@marlam.de>
51424
51425         * modules/link-tests: New file.
51426         * tests/test-link.sh: New file.
51427         * tests/test-link.c: New file.
51428
51429 2009-01-19  Eric Blake  <ebb9@byu.net>
51430
51431         doc: mention another function added in cygwin 1.7.0
51432         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51433         Another new function in cygwin 1.7.
51434
51435 2009-01-19  Bruno Haible  <bruno@clisp.org>
51436
51437         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51438         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51439         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51440         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51441         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51442         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51443         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51444         * m4/md4.m4 (gl_MD4): Likewise.
51445         * m4/md5.m4 (gl_MD5): Likewise.
51446         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51447         * m4/sha1.m4 (gl_SHA1): Likewise.
51448         * m4/sha256.m4 (gl_SHA256): Likewise.
51449         * m4/sha512.m4 (gl_SHA512): Likewise.
51450
51451 2009-01-19  Bruno Haible  <bruno@clisp.org>
51452
51453         * modules/uniname/uniname-tests (Depends-on): Add progname.
51454         * tests/uniname/test-uninames.c: Include progname.h.
51455         (main): Call set_program_name.
51456
51457         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51458         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51459         (main): Call set_program_name.
51460
51461         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51462         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51463         (main): Call set_program_name.
51464
51465         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51466         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51467         (main): Call set_program_name.
51468
51469         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51470         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51471         (main): Call set_program_name.
51472
51473         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51474         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51475         (main): Call set_program_name.
51476
51477         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51478         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51479         (main): Call set_program_name.
51480
51481         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51482         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51483         (main): Call set_program_name.
51484
51485         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51486         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51487         (main): Call set_program_name.
51488
51489 2009-01-19  Eric Blake  <ebb9@byu.net>
51490
51491         test-unistd: test previous patch
51492         * tests/test-unistd.c: Test *_FILENO macros.
51493
51494         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51495         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51496         Guarantee a definition.
51497         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51498         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51499         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51500         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51501         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51502         Likewise.
51503         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51504         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51505         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51506         Likewise.
51507         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51508         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51509         (STDERR_FILENO): Likewise.
51510         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51511         (STDERR_FILENO): Likewise.
51512         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51513         (STDERR_FILENO): Likewise.
51514         Reported by Elbert Pol.
51515
51516 2009-01-19  Eric Blake  <ebb9@byu.net>
51517
51518         doc: mention more functions added in cygwin 1.7.0
51519         * doc/posix-functions/abort.texi (abort): Update wording related
51520         to cygwin.
51521         * doc/posix-functions/daylight.texi (daylight): Likewise.
51522         * doc/posix-functions/optarg.texi (optarg): Likewise.
51523         * doc/posix-functions/optarg.texi (opterr): Likewise.
51524         * doc/posix-functions/optarg.texi (optind): Likewise.
51525         * doc/posix-functions/optarg.texi (optopt): Likewise.
51526         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51527         worked in 1.5.x, and was withdrawn in 1.7.
51528         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51529         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51530         cygwin versions.
51531         * doc/posix-functions/perror.texi (perror): Likewise.
51532         * doc/posix-functions/printf.texi (printf): Likewise.
51533         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51534         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51535         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51536         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51537         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51538         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51539         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51540         Likewise.
51541         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51542         Likewise.
51543         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51544         this function.
51545         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51546         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51547         Likewise.
51548         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51549         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51550         * doc/posix-functions/confstr.texi (confstr): Likewise.
51551         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51552         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51553         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51554         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51555         * doc/posix-functions/fputws.texi (fputws): Likewise.
51556         * doc/posix-functions/fwide.texi (fwide): Likewise.
51557         * doc/posix-functions/getwc.texi (getwc): Likewise.
51558         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51559         * doc/posix-functions/putwc.texi (putwc): Likewise.
51560         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51561         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51562         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51563         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51564         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51565         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51566         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51567         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51568         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51569         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51570         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51571
51572 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51573
51574         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51575         * lib/ioctl.c: Include <sys/ioctl.h>.
51576
51577 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51578
51579         * modules/getdate-tests (Depends-on): Add progname.
51580         * tests/test-getdate.c: Use progname module, to avoid link errors
51581         on non-glibc systems.
51582
51583 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51584
51585         * modules/filenamecat-tests (Depends-on): Add progname.
51586         * modules/fstrcmp-tests (Depends-on): Likewise.
51587
51588         * tests/test-filenamecat.c: Use progname module, to avoid link
51589         errors on non-glibc systems.
51590         * tests/test-fstrcmp.c: Likewise.
51591
51592 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51593
51594         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51595         * lib/gettimeofday.c: Move extern declaration out of function.
51596
51597 2009-01-18  Bruno Haible  <bruno@clisp.org>
51598
51599         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51600         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51601         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51602
51603 2009-01-18  Bruno Haible  <bruno@clisp.org>
51604
51605         * lib/strftime.c (MEMPCPY): Remove unused macro.
51606         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51607
51608 2009-01-18  Martin Lambers  <marlam@marlam.de>
51609
51610         New module 'link'.
51611         * lib/unistd.in.h (link): New declaration.
51612         * lib/link.c: New file.
51613         * m4/link.m4: New file.
51614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51615         HAVE_LINK.
51616         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51617         * modules/link: New file.
51618         * doc/posix-functions/link.texi: Mention the new module.
51619
51620 2009-01-18  Bruno Haible  <bruno@clisp.org>
51621
51622         * tests/test-avltree_list.c (main): Call set_program_name.
51623         * tests/test-avltree_oset.c (main): Likewise.
51624         * tests/test-obstack-printf.c: Include progname.h.
51625         (main): Call set_program_name.
51626         * tests/test-quotearg.c: Include progname.h.
51627         (main): Call set_program_name.
51628         * tests/test-xmemdup0.c: Include progname.h.
51629         (main): Call set_program_name.
51630
51631 2009-01-18  Bruno Haible  <bruno@clisp.org>
51632
51633         New module 'alphasort'.
51634         * lib/dirent.in.h (alphasort): New declaration.
51635         * lib/alphasort.c: New file, from glibc with modifications.
51636         * m4/alphasort.m4: New file.
51637         * modules/alphasort: New file.
51638         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51639         HAVE_ALPHASORT.
51640         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51641         HAVE_ALPHASORT.
51642         * doc/posix-functions/alphasort.texi: Mention the new module and the
51643         portability problems.
51644
51645 2009-01-18  Bruno Haible  <bruno@clisp.org>
51646
51647         New module 'scandir'.
51648         * lib/dirent.in.h (scandir): New declaration.
51649         * lib/scandir.c: New file, from glibc with modifications.
51650         * m4/scandir.m4: New file.
51651         * modules/scandir: New file.
51652         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51653         HAVE_SCANDIR.
51654         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51655         HAVE_SCANDIR.
51656         * doc/posix-functions/scandir.texi: Mention the new module and the
51657         portability problems.
51658
51659 2009-01-17  Bruno Haible  <bruno@clisp.org>
51660
51661         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51662         Update documentation.
51663         (func_remove_suffix): Escape all dots in the suffix. Update
51664         documentation.
51665         (func_filter_filelist): Update documentation.
51666         Reported by Ralf Wildenhues.
51667
51668 2009-01-17  Bruno Haible  <bruno@clisp.org>
51669
51670         * modules/dprintf-posix-tests: New file.
51671         * tests/test-dprintf-posix.sh: New file.
51672         * tests/test-dprintf-posix.c: New file.
51673
51674         New modules 'dprintf', 'dprintf-posix'.
51675         * lib/stdio.in.h (dprintf): New declaration.
51676         * lib/dprintf.c: New file.
51677         * m4/dprintf.m4: New file.
51678         * m4/dprintf-posix.m4: New file.
51679         * modules/dprintf: New file.
51680         * modules/dprintf-posix: New file.
51681         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51682         HAVE_DPRINTF, REPLACE_DPRINTF.
51683         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51684         HAVE_DPRINTF, REPLACE_DPRINTF.
51685         * doc/posix-functions/dprintf.texi: Mention the new modules.
51686
51687 2009-01-17  Bruno Haible  <bruno@clisp.org>
51688
51689         * modules/vdprintf-posix-tests: New file.
51690         * tests/test-vdprintf-posix.sh: New file.
51691         * tests/test-vdprintf-posix.c: New file.
51692
51693         New modules 'vdprintf', 'vdprintf-posix'.
51694         * lib/stdio.in.h (vdprintf): New declaration.
51695         * lib/vdprintf.c: New file.
51696         * m4/vdprintf.m4: New file.
51697         * m4/vdprintf-posix.m4: New file.
51698         * modules/vdprintf: New file.
51699         * modules/vdprintf-posix: New file.
51700         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51701         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51702         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51703         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51704         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51705
51706 2009-01-17  Bruno Haible  <bruno@clisp.org>
51707
51708         Fix replacement of fopen on mingw.
51709         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
51710         mingw.
51711
51712 2009-01-17  Bruno Haible  <bruno@clisp.org>
51713
51714         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
51715         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
51716
51717 2009-01-17  Bruno Haible  <bruno@clisp.org>
51718
51719         Avoid test-fflush2.sh failure on mingw.
51720         * tests/test-fflush2.c: Include binary-io.h.
51721         (main): Put standard input into binary mode.
51722         * modules/fflush-tests (Depends-on): Add binary-io.
51723
51724 2009-01-17  Bruno Haible  <bruno@clisp.org>
51725
51726         * lib/wchar.in.h: In another particular situation, include only the
51727         system's <wchar.h> file.
51728         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
51729         Reported by Albert Chin-A-Young <china@thewrittenword.com>
51730         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
51731
51732 2009-01-17  Bruno Haible  <bruno@clisp.org>
51733
51734         Support for stripping executables in --enable-relocatable.
51735         * build-aux/install-reloc: Expect one more argument, or an environment
51736         variable RELOC_STRIP_PROG. If set, strip the destination program and
51737         its wrapper.
51738         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
51739         RELOC_STRIP_PROG.
51740         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
51741         to set RELOCATABLE_STRIP.
51742         * NEWS: Mention the new Makefile requirement.
51743
51744 2009-01-17  Bruno Haible  <bruno@clisp.org>
51745
51746         * build-aux/install-reloc: Remove debugging information left over by
51747         C compiler on MacOS X.
51748
51749 2009-01-17  Bruno Haible  <bruno@clisp.org>
51750
51751         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
51752         * lib/progreloc.c (find_executable): Fix type of pointer passed to
51753         _NSGetExecutablePath.
51754
51755 2009-01-16  Jim Meyering  <meyering@redhat.com>
51756
51757         strerror: avoid warnings about discarding "const"
51758         * lib/strerror.c (rpl_strerror): Instead of returning a const
51759         string from each and every "case", use a variable, and add a single
51760         cast after the switch.
51761
51762 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
51763
51764         * lib/arpa_inet.in.h: Add extern "C" block for C++.
51765
51766 2009-01-16  Bruno Haible  <bruno@clisp.org>
51767
51768         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
51769         array initializer syntax that also works in C++ mode.
51770         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51771
51772 2009-01-16  Jim Meyering  <meyering@redhat.com>
51773
51774         poll: suppress a warning
51775         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
51776         to ignore "...unsigned expression < 0 is always false" warnings.
51777
51778 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
51779
51780         poll: remove declarations of unused variables
51781         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
51782         sockbuf and optlen.
51783
51784 2009-01-15  Bruno Haible  <bruno@clisp.org>
51785
51786         Make fflush-after-ungetc POSIX compliant on BSD systems.
51787         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
51788         (clear_ungetc_buffer): Implement also for other systems.
51789         (rpl_fflush): On glibc systems, invoke
51790         clear_ungetc_buffer_preserving_position. Otherwise, invoke
51791         clear_ungetc_buffer after fetching the stream's position, not before.
51792
51793 2009-01-15  Bruno Haible  <bruno@clisp.org>
51794
51795         Make fflush-after-ungetc POSIX compliant on glibc systems.
51796         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
51797         after ungetc.
51798         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
51799         (rpl_fflush): On glibc systems, simply call the system's fflush
51800         function after clearing the ungetc buffer.
51801         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
51802         Instead, lseek only to the end of file, then use the system's fseeko
51803         for the rest. On glibc systems, reset the EOF indicator bit.
51804
51805 2009-01-15  Jim Meyering  <meyering@redhat.com>
51806
51807         openmp.m4: revert quote-adding change, for portability to older autoconf
51808         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
51809         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
51810         Simon Josefsson noticed the problem when using autoconf-2.61.
51811
51812 2009-01-15  Bruno Haible  <bruno@clisp.org>
51813
51814         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
51815         * tests/test-fflush2.c (ASSERT): Always fail.
51816         (main): Add two tests for fflush() after ungetc(), taking into account
51817         the Austin Group's clarification.
51818         Suggested by Eric Blake.
51819
51820 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
51821
51822         mktime.m4: remove K&R-style function prototypes
51823         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
51824         for the Sun C++ compiler.
51825
51826 2009-01-14  Bruno Haible  <bruno@clisp.org>
51827
51828         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
51829         while including <wchar.h>.
51830         * lib/wchar.in.h: In two particular situations on HP-UX, include only
51831         the system's <wchar.h> file.
51832         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51833
51834 2009-01-14  Bruno Haible  <bruno@clisp.org>
51835
51836         * m4/csharp.m4: Don't mention gettext on the serial number line.
51837         * m4/csharpexec.m4: Likewise.
51838         * m4/eaccess.m4: Likewise.
51839         * m4/javaexec.m4: Likewise.
51840         * m4/sig_atomic_t.m4: Likewise.
51841         * m4/tmpdir.m4: Likewise.
51842         * m4/intldir.m4: Bump gettext version.
51843         * m4/lib-ld.m4: Likewise.
51844
51845 2009-01-14  Bruno Haible  <bruno@clisp.org>
51846
51847         * lib/progname.c (set_program_name): Add more comments.
51848         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
51849
51850 2009-01-14  Simon Josefsson  <simon@josefsson.org>
51851
51852         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
51853         were sys/stat.h does not define it.
51854
51855 2009-01-14  Jim Meyering  <meyering@redhat.com>
51856
51857         many *.m4 files: improve m4 quoting
51858         99% of this change was performed by running the following commands:
51859         git ls-files | grep '\.m4$' | xargs perl -pi \
51860           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
51861           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51862           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51863           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
51864         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
51865         The remainder were to add Copyright dates, increment serial numbers,
51866         undo some changes in comments, exclude m4/intl.m4, and add quotes
51867         around the "1" in ",1" where the unusual spacing prohibited the
51868         above regexps from doing the job.  For more details, see
51869         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
51870         * m4/acl.m4: Modified.
51871         * m4/afs.m4: Likewise.
51872         * m4/alloca.m4: Likewise.
51873         * m4/argp.m4: Likewise.
51874         * m4/argz.m4: Likewise.
51875         * m4/atexit.m4: Likewise.
51876         * m4/bison-i18n.m4: Likewise.
51877         * m4/bison.m4: Likewise.
51878         * m4/byteswap.m4: Likewise.
51879         * m4/c-stack.m4: Likewise.
51880         * m4/c-strtod.m4: Likewise.
51881         * m4/calloc.m4: Likewise.
51882         * m4/canonicalize-lgpl.m4: Likewise.
51883         * m4/chown.m4: Likewise.
51884         * m4/clock_time.m4: Likewise.
51885         * m4/codeset.m4: Likewise.
51886         * m4/copy-file.m4: Likewise.
51887         * m4/csharp.m4: Likewise.
51888         * m4/csharpcomp.m4: Likewise.
51889         * m4/csharpexec.m4: Likewise.
51890         * m4/d-ino.m4: Likewise.
51891         * m4/d-type.m4: Likewise.
51892         * m4/dirfd.m4: Likewise.
51893         * m4/double-slash-root.m4: Likewise.
51894         * m4/eaccess.m4: Likewise.
51895         * m4/eealloc.m4: Likewise.
51896         * m4/environ.m4: Likewise.
51897         * m4/errno_h.m4: Likewise.
51898         * m4/euidaccess.m4: Likewise.
51899         * m4/execute.m4: Likewise.
51900         * m4/fatal-signal.m4: Likewise.
51901         * m4/fchdir.m4: Likewise.
51902         * m4/fcntl_h.m4: Likewise.
51903         * m4/fileblocks.m4: Likewise.
51904         * m4/filenamecat.m4: Likewise.
51905         * m4/findprog.m4: Likewise.
51906         * m4/flexmember.m4: Likewise.
51907         * m4/fnmatch.m4: Likewise.
51908         * m4/fopen.m4: Likewise.
51909         * m4/fpending.m4: Likewise.
51910         * m4/fprintf-posix.m4: Likewise.
51911         * m4/free.m4: Likewise.
51912         * m4/frexp.m4: Likewise.
51913         * m4/frexpl.m4: Likewise.
51914         * m4/fsusage.m4: Likewise.
51915         * m4/ftruncate.m4: Likewise.
51916         * m4/gc-camellia.m4: Likewise.
51917         * m4/gc-random.m4: Likewise.
51918         * m4/gc.m4: Likewise.
51919         * m4/getaddrinfo.m4: Likewise.
51920         * m4/getcwd-abort-bug.m4: Likewise.
51921         * m4/getcwd-path-max.m4: Likewise.
51922         * m4/getdate.m4: Likewise.
51923         * m4/getdomainname.m4: Likewise.
51924         * m4/getgroups.m4: Likewise.
51925         * m4/gethostname.m4: Likewise.
51926         * m4/gethrxtime.m4: Likewise.
51927         * m4/getline.m4: Likewise.
51928         * m4/getloadavg.m4: Likewise.
51929         * m4/getndelim2.m4: Likewise.
51930         * m4/getpass.m4: Likewise.
51931         * m4/gettext.m4: Likewise.
51932         * m4/gettime.m4: Likewise.
51933         * m4/gettimeofday.m4: Likewise.
51934         * m4/gnulib-common.m4: Likewise.
51935         * m4/group-member.m4: Likewise.
51936         * m4/host-os.m4: Likewise.
51937         * m4/iconv.m4: Likewise.
51938         * m4/iconv_open.m4: Likewise.
51939         * m4/inet_ntop.m4: Likewise.
51940         * m4/inet_pton.m4: Likewise.
51941         * m4/inline.m4: Likewise.
51942         * m4/intldir.m4: Likewise.
51943         * m4/intlmacosx.m4: Likewise.
51944         * m4/intmax.m4: Likewise.
51945         * m4/intmax_t.m4: Likewise.
51946         * m4/inttypes.m4: Likewise.
51947         * m4/inttypes_h.m4: Likewise.
51948         * m4/inttypes-pri.m4: Likewise.
51949         * m4/isapipe.m4: Likewise.
51950         * m4/isnand.m4: Likewise.
51951         * m4/isnanf.m4: Likewise.
51952         * m4/isnanl.m4: Likewise.
51953         * m4/javacomp.m4: Likewise.
51954         * m4/javaexec.m4: Likewise.
51955         * m4/jm-winsz1.m4: Likewise.
51956         * m4/jm-winsz2.m4: Likewise.
51957         * m4/lchown.m4: Likewise.
51958         * m4/lcmessage.m4: Likewise.
51959         * m4/ldexpl.m4: Likewise.
51960         * m4/lib-ld.m4: Likewise.
51961         * m4/lib-link.m4: Likewise.
51962         * m4/libsigsegv.m4: Likewise.
51963         * m4/link-follow.m4: Likewise.
51964         * m4/localcharset.m4: Likewise.
51965         * m4/locale-fr.m4: Likewise.
51966         * m4/locale-ja.m4: Likewise.
51967         * m4/locale-tr.m4: Likewise.
51968         * m4/locale-zh.m4: Likewise.
51969         * m4/lock.m4: Likewise.
51970         * m4/longlong.m4: Likewise.
51971         * m4/ls-mntd-fs.m4: Likewise.
51972         * m4/lstat.m4: Likewise.
51973         * m4/malloc.m4: Likewise.
51974         * m4/mathl.m4: Likewise.
51975         * m4/mbrtowc.m4: Likewise.
51976         * m4/mbstate_t.m4: Likewise.
51977         * m4/mbswidth.m4: Likewise.
51978         * m4/memchr.m4: Likewise.
51979         * m4/memcmp.m4: Likewise.
51980         * m4/memcpy.m4: Likewise.
51981         * m4/memmem.m4: Likewise.
51982         * m4/memmove.m4: Likewise.
51983         * m4/mempcpy.m4: Likewise.
51984         * m4/memrchr.m4: Likewise.
51985         * m4/memset.m4: Likewise.
51986         * m4/minmax.m4: Likewise.
51987         * m4/mkdir-slash.m4: Likewise.
51988         * m4/mkdtemp.m4: Likewise.
51989         * m4/mktime.m4: Likewise.
51990         * m4/mmap-anon.m4: Likewise.
51991         * m4/mountlist.m4: Likewise.
51992         * m4/nanosleep.m4: Likewise.
51993         * m4/nls.m4: Likewise.
51994         * m4/nocrash.m4: Likewise.
51995         * m4/open.m4: Likewise.
51996         * m4/openat.m4: Likewise.
51997         * m4/openmp.m4: Likewise.
51998         * m4/pathmax.m4: Likewise.
51999         * m4/perl.m4: Likewise.
52000         * m4/physmem.m4: Likewise.
52001         * m4/pipe.m4: Likewise.
52002         * m4/po.m4: Likewise.
52003         * m4/poll.m4: Likewise.
52004         * m4/posixtm.m4: Likewise.
52005         * m4/posixver.m4: Likewise.
52006         * m4/printf-frexp.m4: Likewise.
52007         * m4/printf-frexpl.m4: Likewise.
52008         * m4/printf-posix.m4: Likewise.
52009         * m4/printf-posix-rpl.m4: Likewise.
52010         * m4/printf.m4: Likewise.
52011         * m4/progtest.m4: Likewise.
52012         * m4/putenv.m4: Likewise.
52013         * m4/readline.m4: Likewise.
52014         * m4/readlink.m4: Likewise.
52015         * m4/readutmp.m4: Likewise.
52016         * m4/realloc.m4: Likewise.
52017         * m4/regex.m4: Likewise.
52018         * m4/relocatable.m4: Likewise.
52019         * m4/relocatable-lib.m4: Likewise.
52020         * m4/rename-dest-slash.m4: Likewise.
52021         * m4/rename.m4: Likewise.
52022         * m4/rmdir-errno.m4: Likewise.
52023         * m4/rmdir.m4: Likewise.
52024         * m4/roundf.m4: Likewise.
52025         * m4/roundl.m4: Likewise.
52026         * m4/rpmatch.m4: Likewise.
52027         * m4/save-cwd.m4: Likewise.
52028         * m4/selinux-selinux-h.m4: Likewise.
52029         * m4/setenv.m4: Likewise.
52030         * m4/settime.m4: Likewise.
52031         * m4/sig2str.m4: Likewise.
52032         * m4/sig_atomic_t.m4: Likewise.
52033         * m4/signalblocking.m4: Likewise.
52034         * m4/signbit.m4: Likewise.
52035         * m4/sigpipe.m4: Likewise.
52036         * m4/sockets.m4: Likewise.
52037         * m4/sockpfaf.m4: Likewise.
52038         * m4/st_dm_mode.m4: Likewise.
52039         * m4/stat-time.m4: Likewise.
52040         * m4/stdbool.m4: Likewise.
52041         * m4/stdint.m4: Likewise.
52042         * m4/stdint_h.m4: Likewise.
52043         * m4/stpcpy.m4: Likewise.
52044         * m4/stpncpy.m4: Likewise.
52045         * m4/strcase.m4: Likewise.
52046         * m4/strchrnul.m4: Likewise.
52047         * m4/strcspn.m4: Likewise.
52048         * m4/strdup.m4: Likewise.
52049         * m4/strftime.m4: Likewise.
52050         * m4/strndup.m4: Likewise.
52051         * m4/strnlen.m4: Likewise.
52052         * m4/strpbrk.m4: Likewise.
52053         * m4/strptime.m4: Likewise.
52054         * m4/strsep.m4: Likewise.
52055         * m4/strtod.m4: Likewise.
52056         * m4/strtoimax.m4: Likewise.
52057         * m4/strtok_r.m4: Likewise.
52058         * m4/strtol.m4: Likewise.
52059         * m4/strtoll.m4: Likewise.
52060         * m4/strtoul.m4: Likewise.
52061         * m4/strtoull.m4: Likewise.
52062         * m4/strtoumax.m4: Likewise.
52063         * m4/strverscmp.m4: Likewise.
52064         * m4/threadlib.m4: Likewise.
52065         * m4/timegm.m4: Likewise.
52066         * m4/tm_gmtoff.m4: Likewise.
52067         * m4/tmpdir.m4: Likewise.
52068         * m4/tmpfile.m4: Likewise.
52069         * m4/tzset.m4: Likewise.
52070         * m4/uintmax_t.m4: Likewise.
52071         * m4/unlinkdir.m4: Likewise.
52072         * m4/unlocked-io.m4: Likewise.
52073         * m4/uptime.m4: Likewise.
52074         * m4/userspec.m4: Likewise.
52075         * m4/utimbuf.m4: Likewise.
52076         * m4/utime.m4: Likewise.
52077         * m4/utimes-null.m4: Likewise.
52078         * m4/utimes.m4: Likewise.
52079         * m4/vararrays.m4: Likewise.
52080         * m4/vasnprintf.m4: Likewise.
52081         * m4/vfprintf-posix.m4: Likewise.
52082         * m4/vprintf-posix.m4: Likewise.
52083         * m4/wait-process.m4: Likewise.
52084         * m4/wchar_t.m4: Likewise.
52085         * m4/wint_t.m4: Likewise.
52086         * m4/write-any-file.m4: Likewise.
52087         * m4/yield.m4: Likewise.
52088
52089 2009-01-13  Bruno Haible  <bruno@clisp.org>
52090
52091         Avoid test-copy-file.sh failures when ACL support insufficient.
52092         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52093         TESTS_ENVIRONMENT.
52094         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52095         Reported by Jim Meyering.
52096
52097 2009-01-13  Bruno Haible  <bruno@clisp.org>
52098
52099         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52100         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52101         * modules/unistdio/u8-printf-parse (Files): Likewise.
52102         * modules/unistdio/u32-printf-parse (Files): Likewise.
52103         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52104
52105 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52106
52107         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52108         and m4/inttypes_h.m4 too.
52109
52110 2009-01-12  Eric Blake  <ebb9@byu.net>
52111
52112         tests: IRIX 6.2 cc can't compile -0.0 into .data
52113         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52114         rather than at compile-time.
52115         * tests/test-floorl.c (minus_zero): Likewise.
52116         * tests/test-frexpl.c (minus_zero): Likewise.
52117         * tests/test-isnan.c (minus_zerol): Likewise.
52118         * tests/test-isnanl.h (minus_zero): Likewise.
52119         * tests/test-ldexpl.c (minus_zero): Likewise.
52120         * tests/test-roundl.c (minus_zero): Likewise.
52121         * tests/test-signbit.c (minus_zerol): Likewise.
52122         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52123         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52124         * tests/test-truncl.c (minus_zero): Likewise.
52125         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52126         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52127         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52128
52129 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52130
52131         regex: fix glibc bug 9697
52132         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52133         handling.
52134
52135 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52136
52137         regex: fix glibc bug 697
52138         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52139         being NULL also if there are no backreferences.
52140
52141 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52142
52143         regex: merge glibc changes
52144         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52145         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52146         re_string_skip_chars, re_string_reconstruct): Likewise.
52147         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52148
52149 2009-01-07  Jim Meyering  <meyering@redhat.com>
52150
52151         poll: filter through cppi
52152         * lib/poll.c: Indent cpp directives to reflect nesting.
52153
52154 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52155
52156         poll: don't return uninitialized
52157         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52158
52159 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52160
52161         avoid compile failure on AIX 6.1
52162         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52163         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52164
52165 2009-01-04  Jim Meyering  <meyering@redhat.com>
52166
52167         remove duplicate inclusion of <stdio.h>
52168         * tests/test-fprintf-posix.c: Likewise.
52169         * tests/test-printf-posix.c: Likewise.
52170         * tests/test-snprintf-posix.c: Likewise.
52171         * tests/test-sprintf-posix.c: Likewise.
52172         * tests/test-vasprintf-posix.c: Likewise.
52173         * tests/test-vfprintf-posix.c: Likewise.
52174         * tests/test-vprintf-posix.c: Likewise.
52175         * tests/test-vsnprintf-posix.c: Likewise.
52176         * tests/test-vsprintf-posix.c: Likewise.
52177
52178 2009-01-03  Jim Meyering  <meyering@redhat.com>
52179
52180         gnulib-tool: fix sed-based filtering
52181         * gnulib-tool (func_filter_filelist): Remove extra backslash
52182         in sed_fff_filter definition.
52183
52184 2009-01-02  Jim Meyering  <meyering@redhat.com>
52185
52186         strftime: avoid compilation failure on Solaris 2.6
52187         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52188         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52189         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52190         be available.  Reported by Tom G. Christensen.  Details in
52191         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52192
52193 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52194             Bruno Haible  <bruno@clisp.org>
52195
52196         Speed up gnulib-tool by doing more string processing through shell
52197         built-ins.
52198         * gnulib-tool (fast_func_append): New variable.
52199         (func_remove_prefix, func_remove_suffix): New functions.
52200         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52201         (func_filter_filelist): New function.
52202         (func_get_dependencies): Use func_remove_suffix instead of sed.
52203         (func_get_automake_snippet): Use func_filter_filelist instead of a
52204         subshell and sed invocation.
52205
52206 2009-01-01  Bruno Haible  <bruno@clisp.org>
52207
52208         Fix a security bug.
52209         * gnulib-tool (func_import, import, update): Don't allow the characters
52210         '"', '$', '`', '\' in macro arguments that become part of commands that
52211         are evaluated.
52212
52213 2009-01-01  Bruno Haible  <bruno@clisp.org>
52214
52215         * gnulib-tool (func_reset_sigpipe): Add more comments.
52216
52217 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52218
52219         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52220         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52221         already know the answer.
52222
52223 2009-01-01  Jim Meyering  <meyering@redhat.com>
52224
52225         * lib/version-etc.c (version_etc_va): Update copyright year.
52226
52227 2008-12-30  Bruno Haible  <bruno@clisp.org>
52228
52229         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52230         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52231         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52232
52233 2008-12-29  Eric Blake  <ebb9@byu.net>
52234
52235         multiarch: avoid autoconf AC_REQUIRE bug
52236         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52237         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52238         2.63 and older.
52239         Reported by Bruno Haible, and analyzed in
52240         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52241
52242 2008-12-29  Bruno Haible  <bruno@clisp.org>
52243
52244         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52245         files in subdirectories correctly.
52246         Reported by Ralf Wildenhues.
52247
52248 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52249
52250         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52251         rather than 'join FILE -', for Solaris join.
52252
52253 2008-12-29  Bruno Haible  <bruno@clisp.org>
52254
52255         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52256         quoting.
52257         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52258         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52259         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52260         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52261         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52262         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52263         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52264         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52265         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52266         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52267         * m4/nls.m4 (AM_NLS): Likewise.
52268         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52269         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52270         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52271         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52272         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52273         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52274         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52275         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52276         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52277         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52278         * m4/xsize.m4 (gl_XSIZE): Likewise.
52279         Suggested by Jim Meyering.
52280
52281 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52282
52283         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52284         * lib/parse-duration.c: use a switch instead of cascading if's.
52285
52286 2008-12-29  Eric Blake  <ebb9@byu.net>
52287
52288         wchar.h: supply WEOF on Irix 5.3
52289         * lib/wchar.in.h (wint_t): Also supply WEOF.
52290         * lib/wctype.in.h (wint_t): Likewise.
52291         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52292         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52293         Reported by Tom G. Christensen.
52294
52295 2008-12-26  Bruno Haible  <bruno@clisp.org>
52296
52297         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52298         i486, i586, i686.
52299
52300 2008-12-26  Bruno Haible  <bruno@clisp.org>
52301
52302         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52303
52304 2008-12-26  Bruno Haible  <bruno@clisp.org>
52305
52306         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52307         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52308         not __STDC_CONSTANT_MACROS.
52309         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52310
52311 2008-12-25  Bruno Haible  <bruno@clisp.org>
52312
52313         Add support for universal builds to vasnprintf.
52314         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52315         universal builds, guess no.
52316         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52317         * modules/vasprintf-posix (Depends-on): Likewise.
52318         * modules/fprintf-posix (Depends-on): Likewise.
52319         * modules/vfprintf-posix (Depends-on): Likewise.
52320         * modules/snprintf-posix (Depends-on): Likewise.
52321         * modules/vsnprintf-posix (Depends-on): Likewise.
52322         * modules/sprintf-posix (Depends-on): Likewise.
52323         * modules/vsprintf-posix (Depends-on): Likewise.
52324         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52325         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52326         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52327         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52328         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52329         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52330         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52331
52332         Add support for universal builds to <inttypes.h>.
52333         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52334         _SCNu64_PREFIX): In Apple
52335         universal builds, define directly, using _LP64.
52336         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52337         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52338         * modules/inttypes (Depends-on): Add multiarch.
52339         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52340
52341         Add support for universal builds to <stdint.h>.
52342         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52343         universal builds, define directly, using _LP64.
52344         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52345         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52346         and size_t.
52347         * modules/stdint (Depends-on): Add multiarch.
52348         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52349
52350         New module 'multiarch'.
52351         * modules/multiarch: New file.
52352         * m4/multiarch.m4: New file.
52353
52354 2008-12-25  Bruno Haible  <bruno@clisp.org>
52355
52356         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52357
52358 2008-12-25  Bruno Haible  <bruno@clisp.org>
52359
52360         * modules/btowc (License): Relicense under LGPLv2+.
52361         * modules/mbsinit (License): Likewise.
52362         * modules/mbrtowc (License): Likewise.
52363         * modules/wcrtomb (License): Likewise.
52364         * modules/streq (License): Likewise.
52365         Reported by David Lutterkort <lutter@redhat.com>.
52366
52367 2008-12-23  Bruno Haible  <bruno@clisp.org>
52368
52369         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52370
52371 2008-12-23  Bruno Haible  <bruno@clisp.org>
52372
52373         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52374         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52375         GETADDRINFO_LIB, not in LIBS.
52376         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52377         * modules/canon-host (Link): Likewise.
52378         * NEWS: Mention the change.
52379         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52380         GETADDRINFO_LIB.
52381
52382 2008-12-22  Bruno Haible  <bruno@clisp.org>
52383
52384         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52385         * doc/posix-functions/iswalpha_l.texi: Likewise.
52386         * doc/posix-functions/iswblank_l.texi: Likewise.
52387         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52388         * doc/posix-functions/iswctype_l.texi: Likewise.
52389         * doc/posix-functions/iswdigit_l.texi: Likewise.
52390         * doc/posix-functions/iswgraph_l.texi: Likewise.
52391         * doc/posix-functions/iswlower_l.texi: Likewise.
52392         * doc/posix-functions/iswprint_l.texi: Likewise.
52393         * doc/posix-functions/iswpunct_l.texi: Likewise.
52394         * doc/posix-functions/iswspace_l.texi: Likewise.
52395         * doc/posix-functions/iswupper_l.texi: Likewise.
52396         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52397         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52398         * doc/posix-functions/open_wmemstream.texi: Likewise.
52399         * doc/posix-functions/swscanf.texi: Likewise.
52400         * doc/posix-functions/towctrans_l.texi: Likewise.
52401         * doc/posix-functions/towlower.texi: Likewise.
52402         * doc/posix-functions/towlower_l.texi: Likewise.
52403         * doc/posix-functions/towupper.texi: Likewise.
52404         * doc/posix-functions/towupper_l.texi: Likewise.
52405         * doc/posix-functions/vfwprintf.texi: Likewise.
52406         * doc/posix-functions/vfwscanf.texi: Likewise.
52407         * doc/posix-functions/vswscanf.texi: Likewise.
52408         * doc/posix-functions/vwprintf.texi: Likewise.
52409         * doc/posix-functions/vwscanf.texi: Likewise.
52410         * doc/posix-functions/wcpcpy.texi: Likewise.
52411         * doc/posix-functions/wcpncpy.texi: Likewise.
52412         * doc/posix-functions/wcscasecmp.texi: Likewise.
52413         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52414         * doc/posix-functions/wcscoll_l.texi: Likewise.
52415         * doc/posix-functions/wcsdup.texi: Likewise.
52416         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52417         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52418         * doc/posix-functions/wcsnlen.texi: Likewise.
52419         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52420         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52421         * doc/posix-functions/wctrans_l.texi: Likewise.
52422         * doc/posix-functions/wctype_l.texi: Likewise.
52423         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52424         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52425         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52426         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52427         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52428         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52429         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52430         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52431         * doc/glibc-functions/wcschrnul.texi: Likewise.
52432         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52433         * doc/glibc-functions/wcstod_l.texi: Likewise.
52434         * doc/glibc-functions/wcstof_l.texi: Likewise.
52435         * doc/glibc-functions/wcstol_l.texi: Likewise.
52436         * doc/glibc-functions/wcstold_l.texi: Likewise.
52437         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52438         * doc/glibc-functions/wcstoq.texi: Likewise.
52439         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52440         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52441         * doc/glibc-functions/wcstouq.texi: Likewise.
52442         * doc/glibc-functions/wmempcpy.texi: Likewise.
52443
52444 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52445             Eric Blake  <ebb9@byu.net>
52446             Paolo Bonzini  <bonzini@gnu.org>
52447             Bruno Haible  <bruno@clisp.org>
52448
52449         Make c-stack work on Haiku.
52450         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52451         (c_stack_action): Use SA_ONSTACK flag.
52452
52453 2008-12-22  Bruno Haible  <bruno@clisp.org>
52454
52455         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52456
52457 2008-12-22  Bruno Haible  <bruno@clisp.org>
52458
52459         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52460         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52461         being overridden.
52462         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52463         New macros.
52464         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52465         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52466         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52467         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52468
52469 2008-12-22  Bruno Haible  <bruno@clisp.org>
52470
52471         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52472         from test code.
52473
52474 2008-12-22  Eric Blake  <ebb9@byu.net>
52475
52476         Avoid gcc warnings on cygwin.
52477         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52478         Avoid unused variable.
52479         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52480         Likewise.
52481
52482 2008-12-22  Bruno Haible  <bruno@clisp.org>
52483
52484         Remove HAVE_MBRTOWC conditionals.
52485         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52486         (mbscasecmp): Assume mbrtowc function.
52487         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52488         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52489         * lib/mbschr.c: Include mbuiter.h unconditionally.
52490         (mbschr): Assume mbrtowc function.
52491         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52492         (mbscspn): Assume mbrtowc function.
52493         * lib/mbslen.c: Include mbuiter.h unconditionally.
52494         (mbslen): Assume mbrtowc function.
52495         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52496         (mbsncasecmp): Assume mbrtowc function.
52497         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52498         (mbsnlen): Assume mbrtowc function.
52499         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52500         (mbspbrk): Assume mbrtowc function.
52501         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52502         (mbspcasecmp): Assume mbrtowc function.
52503         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52504         (mbsrchr): Assume mbrtowc function.
52505         * lib/mbssep.c: Include mbuiter.h unconditionally.
52506         (mbssep): Assume mbrtowc function.
52507         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52508         (mbsspn): Assume mbrtowc function.
52509         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52510         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52511         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52512         (mbstok_r): Assume mbrtowc function.
52513         * lib/propername.c: Include mbuiter.h unconditionally.
52514         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52515         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52516         (trim2): Assume mbrtowc function.
52517         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52518         (mbsnwidth): Assume mbrtowc function.
52519         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52520         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52521         fallback definitions.
52522         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52523
52524 2008-12-22  Bruno Haible  <bruno@clisp.org>
52525
52526         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52527
52528 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52529
52530         * modules/regex: Request emulations for the mb*/wc* functions we need.
52531         * m4/regex.m4: Don't look for those functions here.
52532         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52533
52534 2008-12-22  Bruno Haible  <bruno@clisp.org>
52535
52536         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52537
52538 2008-12-21  Bruno Haible  <bruno@clisp.org>
52539
52540         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52541         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52542         (Include): Remove conditionalization.
52543         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52544         (Include): Remove conditionalization.
52545         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52546         (Include): Remove conditionalization.
52547         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52548         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52549         * NEWS: Mention the change.
52550         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52551         via Sergey Poznyakoff <gray@gnu.org.ua>.
52552
52553 2008-12-21  Bruno Haible  <bruno@clisp.org>
52554
52555         * MODULES.html.sh (Extended multibyte and wide character utilities
52556         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52557         wcrtomb, wcsrtombs.
52558         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52559         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52560         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52561         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52562
52563 2008-12-21  Bruno Haible  <bruno@clisp.org>
52564
52565         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52566
52567 2008-12-21  Bruno Haible  <bruno@clisp.org>
52568
52569         * modules/wcsnrtombs-tests: New file.
52570         * tests/test-wcsnrtombs1.sh: New file.
52571         * tests/test-wcsnrtombs2.sh: New file.
52572         * tests/test-wcsnrtombs3.sh: New file.
52573         * tests/test-wcsnrtombs4.sh: New file.
52574         * tests/test-wcsnrtombs.c: New file.
52575
52576         New module 'wcsnrtombs'.
52577         * lib/wchar.in.h (wcsnrtombs): New declaration.
52578         * lib/wcsnrtombs.c: New file.
52579         * lib/wcsrtombs-state.c: New file.
52580         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52581         (internal_state): Remove variable.
52582         * m4/wcsnrtombs.m4: New file.
52583         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52584         compilation units.
52585         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52586         HAVE_WCSNRTOMBS.
52587         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52588         HAVE_WCSNRTOMBS.
52589         * modules/wcsnrtombs: New file.
52590         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52591         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52592
52593 2008-12-21  Bruno Haible  <bruno@clisp.org>
52594
52595         * modules/wcsrtombs-tests: New file.
52596         * tests/test-wcsrtombs1.sh: New file.
52597         * tests/test-wcsrtombs2.sh: New file.
52598         * tests/test-wcsrtombs3.sh: New file.
52599         * tests/test-wcsrtombs4.sh: New file.
52600         * tests/test-wcsrtombs.c: New file.
52601
52602         New module 'wcsrtombs'.
52603         * lib/wchar.in.h (wcsrtombs): New declaration.
52604         * lib/wcsrtombs.c: New file.
52605         * m4/wcsrtombs.m4: New file.
52606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52607         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52608         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52609         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52610         * modules/wcsrtombs: New file.
52611         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52612         bugs.
52613
52614 2008-12-21  Bruno Haible  <bruno@clisp.org>
52615
52616         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52617         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52618         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52619         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52620         if not correct.
52621         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52622         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52623         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52624         m4/locale-zh.m4, m4/codeset.m4.
52625         * doc/posix-functions/wcrtomb.texi: Document the bug.
52626
52627 2008-12-21  Bruno Haible  <bruno@clisp.org>
52628
52629         Work around a btowc() bug on IRIX 6.5.
52630         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52631         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52632         REPLACE_WTOBC if not.
52633         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52634         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52635         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52636
52637 2008-12-21  Bruno Haible  <bruno@clisp.org>
52638
52639         * modules/wcrtomb-tests: New file.
52640         * tests/test-wcrtomb.sh: New file.
52641         * tests/test-wcrtomb.c: New file.
52642
52643         New module 'wcrtomb'.
52644         * lib/wchar.in.h (wcrtomb): New declaration.
52645         * lib/wcrtomb.c: New file.
52646         * m4/wcrtomb.m4: New file.
52647         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52648         HAVE_WCRTOMB.
52649         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52650         HAVE_WCRTOMB.
52651         * modules/wcrtomb: New file.
52652         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52653
52654 2008-12-21  Bruno Haible  <bruno@clisp.org>
52655
52656         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52657         * modules/mbsrtowcs (Files): Likewise.
52658         * modules/wctob (Files): Likewise.
52659         * modules/c-strcase-tests (Files): Likewise.
52660         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52661         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52662         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52663         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52664         * modules/vasnprintf-posix-tests (Files): Likewise.
52665
52666 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52667
52668         gitlog-to-changelog: pass all command-line arguments to git-log
52669         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52670         it is sometimes convenient to filter the commits in various ways.
52671         gitlog-to-changelog only allows --since to specify a start date,
52672         but git-log itself supports many other filtering mechanisms.
52673         At the moment, I want to filter by branch name.  Rather than
52674         adding a --branch option to gitlog-to-changelog, it seems more
52675         flexible to simply pass all options directly to git-log and let
52676         git do the work.  Notice that this effectively makes --since a
52677         redundant option for gitlog-to-changelog, but removing it would
52678         require current usage to change since calls would then require
52679         an additional '--'.
52680
52681 2008-12-21  Bruno Haible  <bruno@clisp.org>
52682
52683         * modules/mbsnrtowcs-tests: New file.
52684         * tests/test-mbsnrtowcs1.sh: New file.
52685         * tests/test-mbsnrtowcs2.sh: New file.
52686         * tests/test-mbsnrtowcs3.sh: New file.
52687         * tests/test-mbsnrtowcs4.sh: New file.
52688         * tests/test-mbsnrtowcs.c: New file.
52689
52690         New module 'mbsnrtowcs'.
52691         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52692         * lib/mbsnrtowcs.c: New file.
52693         * lib/mbsrtowcs-state.c: New file.
52694         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52695         (internal_state): Remove variable.
52696         * m4/mbsnrtowcs.m4: New file.
52697         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52698         compilation units.
52699         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52700         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52701         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52702         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52703         * modules/mbsnrtowcs: New file.
52704         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52705         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52706         portability problem.
52707
52708 2008-12-21  Bruno Haible  <bruno@clisp.org>
52709
52710         Work around mbsrtowcs bug.
52711         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
52712         (gl_FUNC_MBSRTOWCS): Invoke it.
52713         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52714         m4/locale-zh.m4.
52715         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
52716
52717 2008-12-21  Bruno Haible  <bruno@clisp.org>
52718
52719         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
52720
52721 2008-12-21  Bruno Haible  <bruno@clisp.org>
52722
52723         Update doc for AIX.
52724         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
52725         16-bit wchar_t type.
52726         * doc/posix-functions/btowc.texi: Likewise.
52727         * doc/posix-functions/fgetwc.texi: Likewise.
52728         * doc/posix-functions/fgetws.texi: Likewise.
52729         * doc/posix-functions/fputwc.texi: Likewise.
52730         * doc/posix-functions/fputws.texi: Likewise.
52731         * doc/posix-functions/fwide.texi: Likewise.
52732         * doc/posix-functions/fwprintf.texi: Likewise.
52733         * doc/posix-functions/fwscanf.texi: Likewise.
52734         * doc/posix-functions/getwchar.texi: Likewise.
52735         * doc/posix-functions/getwc.texi: Likewise.
52736         * doc/posix-functions/iswalnum.texi: Likewise.
52737         * doc/posix-functions/iswalpha.texi: Likewise.
52738         * doc/posix-functions/iswblank.texi: Likewise.
52739         * doc/posix-functions/iswcntrl.texi: Likewise.
52740         * doc/posix-functions/iswctype.texi: Likewise.
52741         * doc/posix-functions/iswdigit.texi: Likewise.
52742         * doc/posix-functions/iswgraph.texi: Likewise.
52743         * doc/posix-functions/iswlower.texi: Likewise.
52744         * doc/posix-functions/iswprint.texi: Likewise.
52745         * doc/posix-functions/iswpunct.texi: Likewise.
52746         * doc/posix-functions/iswspace.texi: Likewise.
52747         * doc/posix-functions/iswupper.texi: Likewise.
52748         * doc/posix-functions/iswxdigit.texi: Likewise.
52749         * doc/posix-functions/mbrtowc.texi: Likewise.
52750         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52751         * doc/posix-functions/mbstowcs.texi: Likewise.
52752         * doc/posix-functions/mbtowc.texi: Likewise.
52753         * doc/posix-functions/putwchar.texi: Likewise.
52754         * doc/posix-functions/putwc.texi: Likewise.
52755         * doc/posix-functions/swprintf.texi: Likewise.
52756         * doc/posix-functions/tolower.texi: Likewise.
52757         * doc/posix-functions/toupper.texi: Likewise.
52758         * doc/posix-functions/towctrans.texi: Likewise.
52759         * doc/posix-functions/ungetwc.texi: Likewise.
52760         * doc/posix-functions/vswprintf.texi: Likewise.
52761         * doc/posix-functions/wcrtomb.texi: Likewise.
52762         * doc/posix-functions/wcscat.texi: Likewise.
52763         * doc/posix-functions/wcschr.texi: Likewise.
52764         * doc/posix-functions/wcscmp.texi: Likewise.
52765         * doc/posix-functions/wcscoll.texi: Likewise.
52766         * doc/posix-functions/wcscpy.texi: Likewise.
52767         * doc/posix-functions/wcscspn.texi: Likewise.
52768         * doc/posix-functions/wcsftime.texi: Likewise.
52769         * doc/posix-functions/wcslen.texi: Likewise.
52770         * doc/posix-functions/wcsncat.texi: Likewise.
52771         * doc/posix-functions/wcsncmp.texi: Likewise.
52772         * doc/posix-functions/wcsncpy.texi: Likewise.
52773         * doc/posix-functions/wcspbrk.texi: Likewise.
52774         * doc/posix-functions/wcsrchr.texi: Likewise.
52775         * doc/posix-functions/wcsrtombs.texi: Likewise.
52776         * doc/posix-functions/wcsspn.texi: Likewise.
52777         * doc/posix-functions/wcsstr.texi: Likewise.
52778         * doc/posix-functions/wcstod.texi: Likewise.
52779         * doc/posix-functions/wcstof.texi: Likewise.
52780         * doc/posix-functions/wcstoimax.texi: Likewise.
52781         * doc/posix-functions/wcstok.texi: Likewise.
52782         * doc/posix-functions/wcstold.texi: Likewise.
52783         * doc/posix-functions/wcstoll.texi: Likewise.
52784         * doc/posix-functions/wcstol.texi: Likewise.
52785         * doc/posix-functions/wcstombs.texi: Likewise.
52786         * doc/posix-functions/wcstoull.texi: Likewise.
52787         * doc/posix-functions/wcstoul.texi: Likewise.
52788         * doc/posix-functions/wcstoumax.texi: Likewise.
52789         * doc/posix-functions/wcswidth.texi: Likewise.
52790         * doc/posix-functions/wcsxfrm.texi: Likewise.
52791         * doc/posix-functions/wctob.texi: Likewise.
52792         * doc/posix-functions/wctomb.texi: Likewise.
52793         * doc/posix-functions/wctrans.texi: Likewise.
52794         * doc/posix-functions/wctype.texi: Likewise.
52795         * doc/posix-functions/wcwidth.texi: Likewise.
52796         * doc/posix-functions/wmemchr.texi: Likewise.
52797         * doc/posix-functions/wmemcmp.texi: Likewise.
52798         * doc/posix-functions/wmemcpy.texi: Likewise.
52799         * doc/posix-functions/wmemmove.texi: Likewise.
52800         * doc/posix-functions/wmemset.texi: Likewise.
52801         * doc/posix-functions/wprintf.texi: Likewise.
52802         * doc/posix-functions/wscanf.texi: Likewise.
52803
52804 2008-12-21  Bruno Haible  <bruno@clisp.org>
52805
52806         Update doc for HP-UX 11.11.
52807         * doc/posix-functions/btowc.texi: Clarify that the function is missing
52808         in HP-UX version 11.00, not in all versions of HP-UX 11.
52809         * doc/posix-functions/fwide.texi: Likewise.
52810         * doc/posix-functions/fwprintf.texi: Likewise.
52811         * doc/posix-functions/fwscanf.texi: Likewise.
52812         * doc/posix-functions/inet_ntop.texi: Likewise.
52813         * doc/posix-functions/inet_pton.texi: Likewise.
52814         * doc/posix-functions/mbrlen.texi: Likewise.
52815         * doc/posix-functions/mbrtowc.texi: Likewise.
52816         * doc/posix-functions/mbsinit.texi: Likewise.
52817         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52818         * doc/posix-functions/swprintf.texi: Likewise.
52819         * doc/posix-functions/swscanf.texi: Likewise.
52820         * doc/posix-functions/towctrans.texi: Likewise.
52821         * doc/posix-functions/vfwprintf.texi: Likewise.
52822         * doc/posix-functions/vswprintf.texi: Likewise.
52823         * doc/posix-functions/vwprintf.texi: Likewise.
52824         * doc/posix-functions/wcrtomb.texi: Likewise.
52825         * doc/posix-functions/wcsrtombs.texi: Likewise.
52826         * doc/posix-functions/wcsstr.texi: Likewise.
52827         * doc/posix-functions/wctob.texi: Likewise.
52828         * doc/posix-functions/wctrans.texi: Likewise.
52829         * doc/posix-functions/wmemchr.texi: Likewise.
52830         * doc/posix-functions/wmemcmp.texi: Likewise.
52831         * doc/posix-functions/wmemcpy.texi: Likewise.
52832         * doc/posix-functions/wmemmove.texi: Likewise.
52833         * doc/posix-functions/wmemset.texi: Likewise.
52834         * doc/posix-functions/wprintf.texi: Likewise.
52835         * doc/posix-functions/wscanf.texi: Likewise.
52836
52837 2008-12-21  Bruno Haible  <bruno@clisp.org>
52838
52839         Work around a portability problem.
52840         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
52841         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
52842
52843 2008-12-20  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
52846         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
52847         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
52848         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
52849         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
52850
52851         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
52852         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
52853         set.
52854         (GNULIB_defined_mbstate_t): New macro.
52855         (mbsinit): Redefine if REPLACE_MBSINIT is set.
52856         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
52857         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
52858         reuses the system's mbrtowc function but works around the bugs.
52859         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
52860         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
52861         macros.
52862         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
52863         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
52864         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
52865         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
52866         REPLACE_MBSINIT if mbsinit needs to be overridden.
52867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
52868         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52869         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
52870         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52871         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52872         m4/locale-zh.m4.
52873         (Depends): Add mbsinit.
52874         * modules/mbsinit (Depends): Add mbrtowc.
52875         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52876
52877 2008-12-20  Bruno Haible  <bruno@clisp.org>
52878
52879         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52880         so that there are no conversion errors on AIX.
52881         * tests/test-mbsrtowcs.c (main): LIkewise.
52882
52883 2008-12-20  Bruno Haible  <bruno@clisp.org>
52884
52885         Work around wctob bug on Solaris <= 9.
52886         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
52887         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
52888         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
52889         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
52890         * modules/wctob (Files): Add m4/locale-fr.m4.
52891         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
52892
52893 2008-12-20  Bruno Haible  <bruno@clisp.org>
52894
52895         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
52896         /dev/null.
52897         * tests/test-select-in.sh: Likewise.
52898         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52899
52900 2008-12-20  Bruno Haible  <bruno@clisp.org>
52901
52902         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
52903         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
52904         Cygwin 1.5.x.
52905
52906 2008-12-20  Bruno Haible  <bruno@clisp.org>
52907
52908         Ensure mbstate_t is defined on HP-UX 11.11.
52909         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
52910         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
52911         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
52912         AC_USE_SYSTEM_EXTENSIONS.
52913         * modules/fnmatch (Depends-on): Add extensions.
52914         * modules/mbrlen (Depends-on): Likewise.
52915         * modules/mbrtowc (Depends-on): Likewise.
52916         * modules/mbsinit (Depends-on): Likewise.
52917         * modules/mbsrtowcs (Depends-on): Likewise.
52918         * modules/mbswidth (Depends-on): Likewise.
52919         * modules/quotearg (Depends-on): Likewise.
52920         * modules/strftime (Depends-on): Likewise.
52921
52922 2008-12-20  Bruno Haible  <bruno@clisp.org>
52923
52924         Ensure wctob is declared on IRIX 6.5.
52925         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
52926         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
52927         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
52928         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
52929         of HAVE_WCTOB.
52930         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
52931         HAVE_WCTOB.
52932         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
52933
52934 2008-12-19  Bruno Haible  <bruno@clisp.org>
52935
52936         * modules/mbsrtowcs-tests: New file.
52937         * tests/test-mbsrtowcs1.sh: New file.
52938         * tests/test-mbsrtowcs2.sh: New file.
52939         * tests/test-mbsrtowcs3.sh: New file.
52940         * tests/test-mbsrtowcs4.sh: New file.
52941         * tests/test-mbsrtowcs.c: New file.
52942
52943         New module 'mbsrtowcs'.
52944         * lib/wchar.in.h (mbsrtowcs): New declaration.
52945         * lib/mbsrtowcs.c: New file.
52946         * m4/mbsrtowcs.m4: New file.
52947         * modules/mbsrtowcs: New file.
52948         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
52949         HAVE_MBSRTOWCS.
52950         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
52951         HAVE_MBSRTOWCS.
52952         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
52953
52954 2008-12-19  Bruno Haible  <bruno@clisp.org>
52955
52956         New module 'mbrlen'.
52957         * lib/wchar.in.h (mbrlen): New declaration.
52958         * lib/mbrlen.c: New file.
52959         * m4/mbrlen.m4: New file.
52960         * modules/mbrlen: New file.
52961         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
52962         HAVE_MBRLEN.
52963         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
52964         HAVE_MBRLEN.
52965         * doc/posix-functions/mbrlen.texi: Document the new module.
52966
52967 2008-12-19  Bruno Haible  <bruno@clisp.org>
52968
52969         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
52970         * modules/mbrtowc (Depends-on): Add verify.
52971         Suggested by Paul Eggert.
52972
52973 2008-12-18  Bruno Haible  <bruno@clisp.org>
52974
52975         * modules/mbsinit-tests: New file.
52976         * tests/test-mbsinit.sh: New file.
52977         * tests/test-mbsinit.c: New file.
52978
52979 2008-12-18  Bruno Haible  <bruno@clisp.org>
52980
52981         * modules/mbrtowc-tests: New file.
52982         * tests/test-mbrtowc1.sh: New file.
52983         * tests/test-mbrtowc2.sh: New file.
52984         * tests/test-mbrtowc3.sh: New file.
52985         * tests/test-mbrtowc4.sh: New file.
52986         * tests/test-mbrtowc.c: New file.
52987
52988         New module 'mbrtowc'.
52989         * lib/wchar.in.h (mbstate_t): Override when the system does not have
52990         mbsinit and mbrtowc.
52991         (mbrtowc): New declaration.
52992         * lib/mbrtowc.c: New file.
52993         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
52994         * modules/mbrtowc: New file.
52995         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
52996         HAVE_MBRTOWC.
52997         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
52998         HAVE_MBRTOWC.
52999         * doc/posix-functions/mbrtowc.texi: Document the new module.
53000
53001 2008-12-18  Bruno Haible  <bruno@clisp.org>
53002
53003         New module 'wctob'.
53004         * lib/wchar.in.h (wctob): New declaration.
53005         * lib/wctob.c: New file.
53006         * m4/wctob.m4: New file.
53007         * modules/wctob: New file.
53008         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53009         HAVE_WCTOB.
53010         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53011         * doc/posix-functions/wctob.texi: Document the new module.
53012
53013 2008-12-18  Bruno Haible  <bruno@clisp.org>
53014
53015         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53016         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53017
53018 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53019
53020         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53021         G. Christensen" <tgc@jupiterrise.com>.
53022
53023         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53024         G. Christensen" <tgc@jupiterrise.com>.
53025
53026         * lib/flock.c: Need to include string.h.  Reported by "Tom
53027         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53028         <ebb9@byu.net>.
53029
53030 2008-12-18  Bruno Haible  <bruno@clisp.org>
53031
53032         * m4/locale-ja.m4: New file, from GNU gettext.
53033
53034 2008-12-17  Bruno Haible  <bruno@clisp.org>
53035
53036         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53037         Suggested by Eric Blake.
53038
53039 2008-12-17  Bruno Haible  <bruno@clisp.org>
53040
53041         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53042
53043 2008-12-17  Bruno Haible  <bruno@clisp.org>
53044
53045         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53046         * modules/mbsinit (Depends-on): Add verify.
53047         Suggested by Paul Eggert.
53048
53049 2008-12-17  Bruno Haible  <bruno@clisp.org>
53050
53051         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53052         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53053         gl_FUNC_MBRTOWC.
53054         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53055         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53056         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53057         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53058         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53059         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53060         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53061         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53062         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53063         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53064         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53065         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53066         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53067         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53068         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53069         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53070         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53071         * modules/trim (configure.ac): Likewise.
53072
53073 2008-12-17  Bruno Haible  <bruno@clisp.org>
53074
53075         * modules/btowc-tests: New file.
53076         * tests/test-btowc1.sh: New file.
53077         * tests/test-btowc2.sh: New file.
53078         * tests/test-btowc.c: New file.
53079
53080         New module 'btowc'.
53081         * lib/wchar.in.h (btowc): New declaration.
53082         * lib/btowc.c: New file.
53083         * m4/btowc.m4: New file.
53084         * modules/btowc: New file.
53085         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53086         HAVE_BTOWC.
53087         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53088         * doc/posix-functions/btowc.texi: Document the new module.
53089
53090 2008-12-17  Bruno Haible  <bruno@clisp.org>
53091
53092         New module 'mbsinit'.
53093         * lib/wchar.in.h (mbsinit): New declaration.
53094         * lib/mbsinit.c: New file.
53095         * m4/mbsinit.m4: New file.
53096         * modules/mbsinit: New file.
53097         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53098         HAVE_MBSINIT.
53099         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53100         HAVE_MBSINIT.
53101         * doc/posix-functions/mbsinit.texi: Document the new module.
53102
53103 2008-12-16  Bruno Haible  <bruno@clisp.org>
53104
53105         * lib/unistd.in.h: Add comment.
53106         * tests/test-environ.c: Don't include <stdlib.h>.
53107
53108 2008-12-16  Bruno Haible  <bruno@clisp.org>
53109
53110         * lib/parse-duration.h (parse_duration): Document return value
53111         convention.
53112         * lib/parse-duration.c: Include specification header first. Add
53113         comments.
53114         (_): Remove macro.
53115         (parse_year_month_day, parse_hour_minute_second): Move side effects
53116         outside of strchr call.
53117         (parse_non_iso8601): Move side effects outside of isspace call.
53118         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53119         call.
53120
53121 2008-12-16  Bruno Haible  <bruno@clisp.org>
53122
53123         * tests/test-parse-duration.sh: Produce no output when the test
53124         succeeds.
53125
53126 2008-12-16  Bruno Haible  <bruno@clisp.org>
53127
53128         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53129         expressions.
53130
53131 2008-12-15  Bruno Haible  <bruno@clisp.org>
53132
53133         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53134         * doc/glibc-functions/flistxattr.texi: Likewise.
53135         * doc/glibc-functions/fopencookie.texi: Likewise.
53136         * doc/glibc-functions/fremovexattr.texi: Likewise.
53137         * doc/glibc-functions/fsetxattr.texi: Likewise.
53138         * doc/glibc-functions/getxattr.texi: Likewise.
53139         * doc/glibc-functions/lgetxattr.texi: Likewise.
53140         * doc/glibc-functions/listxattr.texi: Likewise.
53141         * doc/glibc-functions/llistxattr.texi: Likewise.
53142         * doc/glibc-functions/lremovexattr.texi: Likewise.
53143         * doc/glibc-functions/lsetxattr.texi: Likewise.
53144         * doc/glibc-functions/removexattr.texi: Likewise.
53145         * doc/glibc-functions/setxattr.texi: Likewise.
53146         * doc/posix-functions/open_memstream.texi: Likewise.
53147
53148 2008-12-15  Eric Blake  <ebb9@byu.net>
53149
53150         Update doc for cygwin 1.7.
53151         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53152         functions.
53153         * doc/posix-functions/fchmodat.texi: Likewise.
53154         * doc/posix-functions/fchownat.texi: Likewise.
53155         * doc/posix-functions/fdopendir.texi: Likewise.
53156         * doc/posix-functions/fmemopen.texi: Likewise.
53157         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53158         * doc/posix-functions/fstatat.texi: Likewise.
53159         * doc/posix-functions/futimens.texi: Likewise.
53160         * doc/posix-functions/gai_strerror.texi: Likewise.
53161         * doc/posix-functions/getaddrinfo.texi: Likewise.
53162         * doc/posix-functions/getnameinfo.texi: Likewise.
53163         * doc/posix-functions/if_freenameindex.texi: Likewise.
53164         * doc/posix-functions/if_indextoname.texi: Likewise.
53165         * doc/posix-functions/if_nameindex.texi: Likewise.
53166         * doc/posix-functions/if_nametoindex.texi: Likewise.
53167         * doc/posix-functions/insque.texi: Likewise.
53168         * doc/posix-functions/linkat.texi: Likewise.
53169         * doc/posix-functions/llrint.texi: Likewise.
53170         * doc/posix-functions/llrintf.texi: Likewise.
53171         * doc/posix-functions/llrintl.texi: Likewise.
53172         * doc/posix-functions/lockf.texi: Likewise.
53173         * doc/posix-functions/lrintl.texi: Likewise.
53174         * doc/posix-functions/mkdirat.texi: Likewise.
53175         * doc/posix-functions/mkfifoat.texi: Likewise.
53176         * doc/posix-functions/mknodat.texi: Likewise.
53177         * doc/posix-functions/mq_close.texi: Likewise.
53178         * doc/posix-functions/mq_getattr.texi: Likewise.
53179         * doc/posix-functions/mq_notify.texi: Likewise.
53180         * doc/posix-functions/mq_open.texi: Likewise.
53181         * doc/posix-functions/mq_receive.texi: Likewise.
53182         * doc/posix-functions/mq_send.texi: Likewise.
53183         * doc/posix-functions/mq_setattr.texi: Likewise.
53184         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53185         * doc/posix-functions/mq_timedsend.texi: Likewise.
53186         * doc/posix-functions/mq_unlink.texi: Likewise.
53187         * doc/posix-functions/open_memstream.texi: Likewise.
53188         * doc/posix-functions/openat.texi: Likewise.
53189         * doc/posix-functions/posix_fadvise.texi: Likewise.
53190         * doc/posix-functions/posix_fallocate.texi: Likewise.
53191         * doc/posix-functions/posix_madvise.texi: Likewise.
53192         * doc/posix-functions/posix_memalign.texi: Likewise.
53193         * doc/posix-functions/posix_openpt.texi: Likewise.
53194         * doc/posix-functions/readlinkat.texi: Likewise.
53195         * doc/posix-functions/remque.texi: Likewise.
53196         * doc/posix-functions/renameat.texi: Likewise.
53197         * doc/posix-functions/rintl.texi: Likewise.
53198         * doc/posix-functions/sem_unlink.texi: Likewise.
53199         * doc/posix-functions/shm_open.texi: Likewise.
53200         * doc/posix-functions/shm_unlink.texi: Likewise.
53201         * doc/posix-functions/signgam.texi: Likewise.
53202         * doc/posix-functions/sigset.texi: Likewise.
53203         * doc/posix-functions/stpcpy.texi: Likewise.
53204         * doc/posix-functions/stpncpy.texi: Likewise.
53205         * doc/posix-functions/strerror.texi: Likewise.
53206         * doc/posix-functions/strtod.texi: Likewise.
53207         * doc/posix-functions/symlinkat.texi: Likewise.
53208         * doc/posix-functions/unlinkat.texi: Likewise.
53209         * doc/posix-functions/utimensat.texi: Likewise.
53210         * doc/glibc-functions/bindresvport.texi: Likewise.
53211         * doc/glibc-functions/dn_expand.texi: Likewise.
53212         * doc/glibc-functions/exp10.texi: Likewise.
53213         * doc/glibc-functions/exp10f.texi: Likewise.
53214         * doc/glibc-functions/fgetxattr.texi: Likewise.
53215         * doc/glibc-functions/flistxattr.texi: Likewise.
53216         * doc/glibc-functions/fopencookie.texi: Likewise.
53217         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53218         * doc/glibc-functions/fremovexattr.texi: Likewise.
53219         * doc/glibc-functions/fsetxattr.texi: Likewise.
53220         * doc/glibc-functions/getifaddrs.texi: Likewise.
53221         * doc/glibc-functions/getxattr.texi: Likewise.
53222         * doc/glibc-functions/lgetxattr.texi: Likewise.
53223         * doc/glibc-functions/listxattr.texi: Likewise.
53224         * doc/glibc-functions/llistxattr.texi: Likewise.
53225         * doc/glibc-functions/lremovexattr.texi: Likewise.
53226         * doc/glibc-functions/lsetxattr.texi: Likewise.
53227         * doc/glibc-functions/pow10.texi: Likewise.
53228         * doc/glibc-functions/pow10f.texi: Likewise.
53229         * doc/glibc-functions/rcmd_af.texi: Likewise.
53230         * doc/glibc-functions/removexattr.texi: Likewise.
53231         * doc/glibc-functions/res_init.texi: Likewise.
53232         * doc/glibc-functions/res_mkquery.texi: Likewise.
53233         * doc/glibc-functions/res_query.texi: Likewise.
53234         * doc/glibc-functions/res_querydomain.texi: Likewise.
53235         * doc/glibc-functions/res_send.texi: Likewise.
53236         * doc/glibc-functions/rresvport_af.texi: Likewise.
53237         * doc/glibc-functions/setxattr.texi: Likewise.
53238         * doc/glibc-functions/strcasestr.texi: Likewise.
53239
53240 2008-12-15  Bruno Haible  <bruno@clisp.org>
53241
53242         Fix compilation error on OSF/1 4.0.
53243         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53244         <sys/time.h>, simply delegate to the system header.
53245         Reported by Daniel Richard G. <oss@teragram.com>.
53246
53247 2008-12-15  Bruno Haible  <bruno@clisp.org>
53248
53249         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53250         * doc/posix-functions/fchmodat.texi: Likewise.
53251         * doc/posix-functions/fchownat.texi: Likewise.
53252         * doc/posix-functions/fdopendir.texi: Likewise.
53253         * doc/posix-functions/fstatat.texi: Likewise.
53254         * doc/posix-functions/mkdirat.texi: Likewise.
53255         * doc/posix-functions/unlinkat.texi: Likewise.
53256
53257 2008-12-14  Bruno Haible  <bruno@clisp.org>
53258
53259         Update doc for POSIX:2008.
53260         * doc/posix-functions/faccessat.texi: New file.
53261         * doc/posix-functions/fchmodat.texi: New file.
53262         * doc/posix-functions/fchownat.texi: New file.
53263         * doc/posix-functions/fdopendir.texi: New file.
53264         * doc/posix-functions/fstatat.texi: New file.
53265         * doc/posix-functions/futimens.texi: New file.
53266         * doc/posix-functions/linkat.texi: New file.
53267         * doc/posix-functions/mkdirat.texi: New file.
53268         * doc/posix-functions/mkfifoat.texi: New file.
53269         * doc/posix-functions/mknodat.texi: New file.
53270         * doc/posix-functions/open_wmemstream.texi: New file.
53271         * doc/posix-functions/openat.texi: New file.
53272         * doc/posix-functions/psiginfo.texi: New file.
53273         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53274         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53275         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53276         * doc/posix-functions/readlinkat.texi: New file.
53277         * doc/posix-functions/renameat.texi: New file.
53278         * doc/posix-functions/strerror_l.texi: New file.
53279         * doc/posix-functions/symlinkat.texi: New file.
53280         * doc/posix-functions/unlinkat.texi: New file.
53281         * doc/posix-functions/utimensat.texi: New file.
53282         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53283
53284 2008-12-14  Bruno Haible  <bruno@clisp.org>
53285
53286         Update doc for POSIX:2008.
53287         * doc/posix-functions/alphasort.texi: Renamed from
53288         doc/glibc-functions/alphasort.texi.
53289         * doc/posix-functions/dirfd.texi: Renamed from
53290         doc/glibc-functions/dirfd.texi.
53291         * doc/posix-functions/dprintf.texi: Renamed from
53292         doc/glibc-functions/dprintf.texi.
53293         * doc/posix-functions/duplocale.texi: Renamed from
53294         doc/glibc-functions/duplocale.texi.
53295         * doc/posix-functions/fexecve.texi: Renamed from
53296         doc/glibc-functions/fexecve.texi.
53297         * doc/posix-functions/fmemopen.texi: Renamed from
53298         doc/glibc-functions/fmemopen.texi.
53299         * doc/posix-functions/freelocale.texi: Renamed from
53300         doc/glibc-functions/freelocale.texi.
53301         * doc/posix-functions/getdate_err.texi: Renamed from
53302         doc/glibc-functions/getdate_err.texi.
53303         * doc/posix-functions/isalnum_l.texi: Renamed from
53304         doc/glibc-functions/isalnum_l.texi.
53305         * doc/posix-functions/isalpha_l.texi: Renamed from
53306         doc/glibc-functions/isalpha_l.texi.
53307         * doc/posix-functions/isblank_l.texi: Renamed from
53308         doc/glibc-functions/isblank_l.texi.
53309         * doc/posix-functions/iscntrl_l.texi: Renamed from
53310         doc/glibc-functions/iscntrl_l.texi.
53311         * doc/posix-functions/isdigit_l.texi: Renamed from
53312         doc/glibc-functions/isdigit_l.texi.
53313         * doc/posix-functions/isgraph_l.texi: Renamed from
53314         doc/glibc-functions/isgraph_l.texi.
53315         * doc/posix-functions/islower_l.texi: Renamed from
53316         doc/glibc-functions/islower_l.texi.
53317         * doc/posix-functions/isprint_l.texi: Renamed from
53318         doc/glibc-functions/isprint_l.texi.
53319         * doc/posix-functions/ispunct_l.texi: Renamed from
53320         doc/glibc-functions/ispunct_l.texi.
53321         * doc/posix-functions/isspace_l.texi: Renamed from
53322         doc/glibc-functions/isspace_l.texi.
53323         * doc/posix-functions/isupper_l.texi: Renamed from
53324         doc/glibc-functions/isupper_l.texi.
53325         * doc/posix-functions/iswalnum_l.texi: Renamed from
53326         doc/glibc-functions/iswalnum_l.texi.
53327         * doc/posix-functions/iswalpha_l.texi: Renamed from
53328         doc/glibc-functions/iswalpha_l.texi.
53329         * doc/posix-functions/iswblank_l.texi: Renamed from
53330         doc/glibc-functions/iswblank_l.texi.
53331         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53332         doc/glibc-functions/iswcntrl_l.texi.
53333         * doc/posix-functions/iswctype_l.texi: Renamed from
53334         doc/glibc-functions/iswctype_l.texi.
53335         * doc/posix-functions/iswdigit_l.texi: Renamed from
53336         doc/glibc-functions/iswdigit_l.texi.
53337         * doc/posix-functions/iswgraph_l.texi: Renamed from
53338         doc/glibc-functions/iswgraph_l.texi.
53339         * doc/posix-functions/iswlower_l.texi: Renamed from
53340         doc/glibc-functions/iswlower_l.texi.
53341         * doc/posix-functions/iswprint_l.texi: Renamed from
53342         doc/glibc-functions/iswprint_l.texi.
53343         * doc/posix-functions/iswpunct_l.texi: Renamed from
53344         doc/glibc-functions/iswpunct_l.texi.
53345         * doc/posix-functions/iswspace_l.texi: Renamed from
53346         doc/glibc-functions/iswspace_l.texi.
53347         * doc/posix-functions/iswupper_l.texi: Renamed from
53348         doc/glibc-functions/iswupper_l.texi.
53349         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53350         doc/glibc-functions/iswxdigit_l.texi.
53351         * doc/posix-functions/isxdigit_l.texi: Renamed from
53352         doc/glibc-functions/isxdigit_l.texi.
53353         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53354         doc/glibc-functions/mbsnrtowcs.texi.
53355         * doc/posix-functions/mkdtemp.texi: Renamed from
53356         doc/glibc-functions/mkdtemp.texi.
53357         * doc/posix-functions/newlocale.texi: Renamed from
53358         doc/glibc-functions/newlocale.texi.
53359         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53360         doc/glibc-functions/nl_langinfo_l.texi.
53361         * doc/posix-functions/open_memstream.texi: Renamed from
53362         doc/glibc-functions/open_memstream.texi.
53363         * doc/posix-functions/opterr.texi: Renamed from
53364         doc/glibc-functions/opterr.texi.
53365         * doc/posix-functions/optind.texi: Renamed from
53366         doc/glibc-functions/optind.texi.
53367         * doc/posix-functions/optopt.texi: Renamed from
53368         doc/glibc-functions/optopt.texi.
53369         * doc/posix-functions/psignal.texi: Renamed from
53370         doc/glibc-functions/psignal.texi.
53371         * doc/posix-functions/scandir.texi: Renamed from
53372         doc/glibc-functions/scandir.texi.
53373         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53374         doc/glibc-functions/sched_get_priority_min.texi.
53375         * doc/posix-functions/signgam.texi: Renamed from
53376         doc/glibc-functions/signgam.texi.
53377         * doc/posix-functions/stpcpy.texi: Renamed from
53378         doc/glibc-functions/stpcpy.texi.
53379         * doc/posix-functions/stpncpy.texi: Renamed from
53380         doc/glibc-functions/stpncpy.texi.
53381         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53382         doc/glibc-functions/strcasecmp_l.texi.
53383         * doc/posix-functions/strcoll_l.texi: Renamed from
53384         doc/glibc-functions/strcoll_l.texi.
53385         * doc/posix-functions/strfmon_l.texi: Renamed from
53386         doc/glibc-functions/strfmon_l.texi.
53387         * doc/posix-functions/strftime_l.texi: Renamed from
53388         doc/glibc-functions/strftime_l.texi.
53389         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53390         doc/glibc-functions/strncasecmp_l.texi.
53391         * doc/posix-functions/strndup.texi: Renamed from
53392         doc/glibc-functions/strndup.texi.
53393         * doc/posix-functions/strnlen.texi: Renamed from
53394         doc/glibc-functions/strnlen.texi.
53395         * doc/posix-functions/strsignal.texi: Renamed from
53396         doc/glibc-functions/strsignal.texi.
53397         * doc/posix-functions/strxfrm_l.texi: Renamed from
53398         doc/glibc-functions/strxfrm_l.texi.
53399         * doc/posix-functions/timer_gettime.texi: Renamed from
53400         doc/glibc-functions/timer_gettime.texi.
53401         * doc/posix-functions/tolower_l.texi: Renamed from
53402         doc/glibc-functions/tolower_l.texi.
53403         * doc/posix-functions/toupper_l.texi: Renamed from
53404         doc/glibc-functions/toupper_l.texi.
53405         * doc/posix-functions/towctrans_l.texi: Renamed from
53406         doc/glibc-functions/towctrans_l.texi.
53407         * doc/posix-functions/towlower_l.texi: Renamed from
53408         doc/glibc-functions/towlower_l.texi.
53409         * doc/posix-functions/towupper_l.texi: Renamed from
53410         doc/glibc-functions/towupper_l.texi.
53411         * doc/posix-functions/uselocale.texi: Renamed from
53412         doc/glibc-functions/uselocale.texi.
53413         * doc/posix-functions/vdprintf.texi: Renamed from
53414         doc/glibc-functions/vdprintf.texi.
53415         * doc/posix-functions/wcpcpy.texi:
53416         Renamed from doc/glibc-functions/wcpcpy.texi.
53417         * doc/posix-functions/wcpncpy.texi: Renamed from
53418         doc/glibc-functions/wcpncpy.texi.
53419         * doc/posix-functions/wcscasecmp.texi: Renamed from
53420         doc/glibc-functions/wcscasecmp.texi.
53421         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53422         doc/glibc-functions/wcscasecmp_l.texi.
53423         * doc/posix-functions/wcscoll_l.texi: Renamed from
53424         doc/glibc-functions/wcscoll_l.texi.
53425         * doc/posix-functions/wcsdup.texi: Renamed from
53426         doc/glibc-functions/wcsdup.texi.
53427         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53428         doc/glibc-functions/wcsncasecmp.texi.
53429         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53430         doc/glibc-functions/wcsncasecmp_l.texi.
53431         * doc/posix-functions/wcsnlen.texi: Renamed from
53432         doc/glibc-functions/wcsnlen.texi.
53433         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53434         doc/glibc-functions/wcsnrtombs.texi.
53435         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53436         doc/glibc-functions/wcsxfrm_l.texi.
53437         * doc/posix-functions/wctrans_l.texi: Renamed from
53438         doc/glibc-functions/wctrans_l.texi.
53439         * doc/posix-functions/wctype_l.texi: Renamed from
53440         doc/glibc-functions/wctype_l.texi.
53441         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53442         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53443         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53444         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53445         these subsections.
53446         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53447         Remove sections.
53448
53449 2008-12-14  Bruno Haible  <bruno@clisp.org>
53450
53451         Update doc for POSIX:2008.
53452         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53453
53454 2008-12-14  Bruno Haible  <bruno@clisp.org>
53455
53456         Update doc for POSIX:2008.
53457         * doc/pastposix-functions/bcmp.texi: Renamed from
53458         doc/posix-functions/bcmp.texi.
53459         * doc/pastposix-functions/bcopy.texi: Renamed from
53460         doc/posix-functions/bcopy.texi.
53461         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53462         doc/posix-functions/bsd_signal.texi.
53463         * doc/pastposix-functions/bzero.texi: Renamed from
53464         doc/posix-functions/bzero.texi.
53465         * doc/pastposix-functions/ecvt.texi: Renamed from
53466         doc/posix-functions/ecvt.texi.
53467         * doc/pastposix-functions/fcvt.texi: Renamed from
53468         doc/posix-functions/fcvt.texi.
53469         * doc/pastposix-functions/ftime.texi: Renamed from
53470         doc/posix-functions/ftime.texi.
53471         * doc/pastposix-functions/gcvt.texi: Renamed from
53472         doc/posix-functions/gcvt.texi.
53473         * doc/pastposix-functions/getcontext.texi: Renamed from
53474         doc/posix-functions/getcontext.texi.
53475         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53476         doc/posix-functions/gethostbyaddr.texi.
53477         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53478         doc/posix-functions/gethostbyname.texi.
53479         * doc/pastposix-functions/getwd.texi: Renamed from
53480         doc/posix-functions/getwd.texi.
53481         * doc/pastposix-functions/h_errno.texi: Renamed from
53482         doc/posix-functions/h_errno.texi.
53483         * doc/pastposix-functions/index.texi: Renamed from
53484         doc/posix-functions/index.texi.
53485         * doc/pastposix-functions/makecontext.texi: Renamed from
53486         doc/posix-functions/makecontext.texi.
53487         * doc/pastposix-functions/mktemp.texi: Renamed from
53488         doc/posix-functions/mktemp.texi.
53489         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53490         doc/posix-functions/pthread_attr_getstackaddr.texi.
53491         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53492         doc/posix-functions/pthread_attr_setstackaddr.texi.
53493         * doc/pastposix-functions/rindex.texi: Renamed from
53494         doc/posix-functions/rindex.texi.
53495         * doc/pastposix-functions/scalb.texi: Renamed from
53496         doc/posix-functions/scalb.texi.
53497         * doc/pastposix-functions/setcontext.texi: Renamed from
53498         doc/posix-functions/setcontext.texi.
53499         * doc/pastposix-functions/swapcontext.texi: Renamed from
53500         doc/posix-functions/swapcontext.texi.
53501         * doc/pastposix-functions/ualarm.texi: Renamed from
53502         doc/posix-functions/ualarm.texi.
53503         * doc/pastposix-functions/usleep.texi: Renamed from
53504         doc/posix-functions/usleep.texi.
53505         * doc/pastposix-functions/vfork.texi: Renamed from
53506         doc/posix-functions/vfork.texi.
53507         * doc/pastposix-functions/wcswcs.texi: Renamed from
53508         doc/posix-functions/wcswcs.texi.
53509         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53510         (Function Substitutes): Update.
53511
53512 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53513
53514         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53515         m4/strerror.m4.
53516
53517 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53518             Bruno Haible  <bruno@clisp.org>
53519
53520         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53521
53522 2008-12-13  Bruno Haible  <bruno@clisp.org>
53523
53524         * modules/strtoull (Depends-on): Remove unistd.
53525
53526 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53527
53528         * modules/strtoull (Depends-on): Add stdlib.
53529
53530 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53531
53532         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53533
53534 2008-12-10  Jim Meyering  <meyering@redhat.com>
53535
53536         gl_ASSERT: don't say assertions are disabled when they're not
53537         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53538         "checking whether to enable assertions... no", when they are in
53539         fact enabled.  This is solely a bug in the output of configure.
53540         In spite of saying "no", NDEBUG was not defined in that case.
53541         Also, as noted by Eric Blake, leave assertions enabled upon
53542         --enable-assert=INVALID.
53543
53544 2008-12-10  Bruno Haible  <bruno@clisp.org>
53545
53546         Change MODULES.html to refer to POSIX:2008 where possible.
53547         * MODULES.html.sh (POSIX2008_URL): New variable.
53548         (posix_headers): Remove sys/timeb, ucontext.
53549         (posix2001_headers): New variable.
53550         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53551         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53552         index, makecontext, mktemp, pthread_attr_getstackaddr,
53553         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53554         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53555         (posix2001_functions): New variable.
53556         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53557         otherwise.
53558
53559 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53560
53561         add missing include to parse-duration.c
53562         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53563         * modules/parse-duration (Depends-on): Add xalloc.
53564
53565         fix sed script reading maint.mk
53566         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53567         (syntax-check-rules): Use it.
53568
53569 2008-12-09  Bruno Haible  <bruno@clisp.org>
53570
53571         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53572         MacOS X 10.4/PowerPC.
53573         Reported by Simon Josefsson.
53574
53575 2008-12-08  Jim Meyering  <meyering@redhat.com>
53576
53577         work around mingw's lack of some S_IF definitions
53578         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53579         Reported by Simon Josefsson.
53580
53581 2008-12-08  Bruno Haible  <bruno@clisp.org>
53582
53583         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53584         applied to variables. Needed on MacOS X 10.4/PowerPC.
53585         Reported by Simon Josefsson.
53586
53587 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53588         and Eric Blake  <ebb9@byu.net>
53589
53590         assert: honor --enable-assert
53591         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53592         order to honor --enable-assert, rather than treating it as a
53593         synonym for --disable-assert.
53594
53595 2008-12-08  Jim Meyering  <meyering@redhat.com>
53596
53597         * lib/posixtm.c: Remove now-useless declaration of mktime.
53598
53599         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53600
53601 2008-12-07  Bruno Haible  <bruno@clisp.org>
53602
53603         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53604         test_once): Mark functions as static.
53605         * tests/test-tls.c (test_tls): Likewise.
53606
53607 2008-12-07  Bruno Haible  <bruno@clisp.org>
53608
53609         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53610         iconv_register_autodetect.
53611
53612 2008-12-07  Jim Meyering  <meyering@redhat.com>
53613
53614         posixtm.c: avoid a warning
53615         * lib/posixtm.c (posixtime): Don't initialize tm0.
53616         It's no longer needed to placate gcc4's -Wuninitialized,
53617         and the attempt to placate would elicit a new warning.
53618
53619         unicodeio.c: mark unused parameters
53620         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53621         (fallback_failure_callback): Likewise.
53622
53623 2008-12-07  Bruno Haible  <bruno@clisp.org>
53624
53625         * gnulib-tool (func_create_testdir): When building the tests
53626         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53627         Reported by Simon Josefsson.
53628
53629 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53630
53631         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53632
53633 2008-12-06  Bruno Haible  <bruno@clisp.org>
53634
53635         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53636         Suggested by Eric Blake.
53637
53638 2008-12-06  Bruno Haible  <bruno@clisp.org>
53639
53640         Fix a c-stack test failure on MacOS X.
53641         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53642         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53643         handler for SIGBUS as well.
53644         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53645         install a signal handler for SIGBUS as well.
53646         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53647
53648 2008-12-06  Bruno Haible  <bruno@clisp.org>
53649
53650         Advocacy documentation.
53651         * doc/gnulib-intro.texi (Benefits): New section.
53652         * doc/gnulib.texi: Update.
53653
53654 2008-12-06  Bruno Haible  <bruno@clisp.org>
53655
53656         Document the 'manywarnings' module.
53657         * doc/manywarnings.texi: New file.
53658         * doc/gnulib.texi: Include it.
53659
53660 2008-12-05  Eric Blake  <ebb9@byu.net>
53661
53662         tests: silence some gcc warnings
53663         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53664         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53665         type mismatches.
53666
53667 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53668             Bruno Haible  <bruno@clisp.org>
53669
53670         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53671
53672 2008-11-29  Jim Meyering  <meyering@redhat.com>
53673
53674         unicodeio.c: mark unused parameters
53675         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53676         (fallback_failure_callback): Likewise.
53677
53678         fts: fix a thinko
53679         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53680         (set_stat_type): Return S_IF*-valued "type" directly.
53681         Prompted by James Youngman's spotting a related bug.
53682         Confirmed by further testing through find.
53683
53684         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53685         * lib/fts.c (D_TYPE): Define.
53686         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53687         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53688         (s_ifmt_shift_bits): New function.
53689         (set_stat_type): New function.
53690         (fts_build): When not calling fts_stat, call set_stat_type
53691         to propagate dirent.d_type info to fts_read caller.
53692         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53693         fts_statp->st_mode type information may be valid.
53694
53695 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53696
53697         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53698         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53699         <sds@gnu.org>.
53700
53701 2008-11-20  Bruno Haible  <bruno@clisp.org>
53702
53703         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53704         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53705         INCLUDE_NEXT.
53706         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53707         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53708         * modules/math (Makefile.am): Substitute
53709         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
53710         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53711
53712 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
53713             Bruno Haible  <bruno@clisp.org>
53714
53715         * lib/stdint.in.h: Define all type macros so that their expansion is
53716         a single typedef'ed token. Fixes a compilation failure in Boost which
53717         does "using ::int8_t;".
53718
53719 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53720
53721         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
53722         gl_MANYWARN_ALL_GCC.
53723         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
53724         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
53725         * modules/manywarnings: New file.
53726         * MODULES.html.sh: Mention manywarnings module.
53727
53728 2008-11-18  Bruno Haible  <bruno@clisp.org>
53729
53730         * doc/gnulib-tool.texi (Unit tests): New section.
53731
53732 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53733
53734         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
53735         paths like 'lib/po/foo.po'.
53736
53737 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53738
53739         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
53740         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
53741
53742 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53743
53744         * m4/warnings.m4: Use CPPFLAGS to really check whether the
53745         parameter works.
53746
53747 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53748
53749         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
53750
53751 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53752
53753         * modules/parse-duration-tests: New file.
53754         * tests/test-parse-duration.sh: New file.
53755         * tests/test-parse-duration.c: New file.
53756
53757         New module 'parse-duration'.
53758         * lib/parse-duration.h: New file.
53759         * lib/parse-duration.c: New file.
53760         * modules/parse-duration: New file.
53761
53762 2008-11-17  Bruno Haible  <bruno@clisp.org>
53763
53764         * tests/test-select-out.sh: Comment out the first pipe test.
53765         Reported by Simon Josefsson.
53766
53767 2008-11-17  Bruno Haible  <bruno@clisp.org>
53768
53769         * modules/getaddrinfo (Depends-on): Add servent, hostent.
53770         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
53771         gl_HOSTENT.
53772
53773 2008-11-17  Bruno Haible  <bruno@clisp.org>
53774
53775         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
53776         -lnetwork and -lnet. Needed for Haiku and BeOS.
53777
53778 2008-11-16  Bruno Haible  <bruno@clisp.org>
53779
53780         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
53781
53782 2008-11-16  Bruno Haible  <bruno@clisp.org>
53783
53784         Avoid test failure on Haiku.
53785         * tests/test-fsync.c: Include <errno.h>.
53786         (main): Don't require that fsync (0) fails.
53787
53788 2008-11-15  Bruno Haible  <bruno@clisp.org>
53789
53790         New module 'hostent'.
53791         * modules/hostent: New file.
53792         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
53793
53794 2008-11-15  Bruno Haible  <bruno@clisp.org>
53795
53796         New module 'servent'.
53797         * modules/servent: New file.
53798         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
53799
53800 2008-11-15  Bruno Haible  <bruno@clisp.org>
53801
53802         Avoid generating same test program with two different rules.
53803         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
53804         test-frexp to test-frexp-nolibm.
53805         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
53806         test-frexpl to test-frexpl-nolibm.
53807
53808 2008-11-15  Bruno Haible  <bruno@clisp.org>
53809
53810         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
53811         $(FREXPL_LIBM).
53812
53813 2008-11-15  Bruno Haible  <bruno@clisp.org>
53814
53815         * lib/netdb.in.h: Activate the definitions also when the system's
53816         <netdb.h> has 'struct addrinfo'.
53817         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
53818         EAI_OVERFLOW or AI_NUMERICSERV.
53819         * doc/posix-headers/netdb.texi: Document the problem.
53820
53821 2008-11-15  Bruno Haible  <bruno@clisp.org>
53822
53823         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
53824
53825         Make the 'sched' module work on platforms where <sched.h> exists but
53826         is incomplete (such as Haiku).
53827         * lib/sched.in.h; Include the system's <sched.h> if it exists.
53828         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
53829         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
53830         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
53831         HAVE_STRUCT_SCHED_PARAM.
53832         * modules/sched (Depends-on): Add include_next.
53833         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
53834         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
53835         * doc/posix-headers/sched.texi: Document the issue.
53836
53837 2008-11-13  Jim Meyering  <meyering@redhat.com>
53838
53839         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
53840         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
53841         test would fail due to the difference in the Report bugs to ...
53842         line.  The expected address is empty, "<>", while the actual
53843         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
53844
53845 2008-11-12  Bruno Haible  <bruno@clisp.org>
53846
53847         lstat: don't compile lstat.c on systems lacking lstat
53848         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
53849         which don't have lstat; this is handled by lib/sys_stat.in.h already.
53850         Reported by Daniel P. Berrange via Jim Meyering.
53851
53852 2008-11-12  Jim Meyering  <meyering@redhat.com>
53853
53854         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
53855
53856 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53857
53858         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
53859         instead.
53860
53861 2008-11-12  Bruno Haible  <bruno@clisp.org>
53862
53863         * lib/unicodeio.c: Include unistr.h.
53864         (utf8_wctomb): Remove function.
53865         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
53866
53867 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53868
53869         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
53870         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
53871         <bruno@clisp.org>.
53872         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
53873
53874 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53875
53876         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53877         * doc/gnulib.texi: Add section for warnings.
53878
53879 2008-11-11  Bruno Haible  <bruno@clisp.org>
53880
53881         * lib/sockets.h: Add a comment.
53882
53883 2008-11-11  Karl Berry  <karl@gnu.org>
53884
53885         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
53886
53887 2008-11-11  Eric Blake  <ebb9@byu.net>
53888
53889         fdl.texi: avoid git symlinks
53890         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
53891
53892 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53893
53894         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
53895
53896 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53897
53898         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
53899         (gl_WARN_ADD): Substitute $2 if literal.
53900
53901 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53902
53903         * m4/warning.m4: Remove.
53904
53905 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53906
53907         * m4/warnings.m4: Almost complete rewrite. :-)
53908
53909 2008-11-10  Simon Josefsson  <simon@josefsson.org>
53910
53911         * modules/warnings: New module.
53912         * m4/warnings.m4: New file.
53913         * MODULES.html.sh: Mention warnings module.
53914         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
53915         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53916
53917 2008-11-10  Eric Blake  <ebb9@byu.net>
53918
53919         fdl.texi: make a symlink to the latest version
53920         * doc/standards.texi: Revert today's earlier change.
53921         * doc/fdl-1.2.texi: Rename from old fdl.texi...
53922         * doc/fdl.texi: ...and replace this with a symlink to the newer
53923         fdl-1.3.texi.
53924
53925 2008-11-10  Bruno Haible  <bruno@clisp.org>
53926
53927         * tests/test-select-fd.c (main): Accept the result file name as fourth
53928         argument.
53929         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
53930         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
53931
53932 2008-11-10  Bruno Haible  <bruno@clisp.org>
53933
53934         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
53935         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
53936         as autoconf-substituted macros.
53937         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
53938         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
53939         gl_NETDB_H_DEFAULTS. Set these variables.
53940         * modules/netdb (Makefile.am): Substitute these variables.
53941
53942 2008-11-10  Eric Blake  <ebb9@byu.net>
53943
53944         standards.texi: include correct file for FDL 1.3
53945         * doc/standards.texi (GNU Free Documentation License): Change
53946         include file to pull in FDL 1.3, not 1.2.
53947
53948         fdl.texi: revert accidental change to license
53949         * doc/fdl.texi: This is FDL 1.2, not 1.3.
53950
53951 2008-11-10  Bruno Haible  <bruno@clisp.org>
53952
53953         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
53954         cross-compiling guesses also when the native compile gives no result.
53955
53956 2008-11-10  Bruno Haible  <bruno@clisp.org>
53957
53958         * lib/spawni.c (__spawni): Force variable into the stack.
53959
53960 2008-11-10  Bruno Haible  <bruno@clisp.org>
53961
53962         Add support for Haiku.
53963         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
53964         glibc and BeOS, but also on Haiku.
53965         * lib/fpurge.c (fpurge): Likewise.
53966         * lib/freadable.c (freadable): Likewise.
53967         * lib/freadahead.c (freadahead): Likewise.
53968         * lib/freading.c (freading): Likewise.
53969         * lib/freadptr.c (freadptr): Likewise.
53970         * lib/freadseek.c (freadptrinc): Likewise.
53971         * lib/fseeko.c (rpl_fseeko): Likewise.
53972         * lib/fseterr.c (fseterr): Likewise.
53973         * lib/fwritable.c (fwritable): Likewise.
53974         * lib/fwriting.c (fwriting): Likewise.
53975         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
53976
53977 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53978
53979         * lib/config.charset: Treat Haiku like BeOS.
53980
53981 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53982
53983         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
53984         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
53985
53986 2008-11-08  Bruno Haible  <bruno@clisp.org>
53987
53988         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
53989         AC_CACHE_CHECK.
53990
53991 2008-11-08  Bruno Haible  <bruno@clisp.org>
53992
53993         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
53994
53995 2008-11-08  Bruno Haible  <bruno@clisp.org>
53996
53997         * tests/test-select-fd.c: New file.
53998         * tests/test-select-in.sh: New file.
53999         * tests/test-select-out.sh: New file.
54000         * tests/test-select-stdin.c: New file.
54001         * modules/select-tests (Files): Add the new files.
54002         (Depends-on): Add gettimeofday.
54003         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54004         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54005         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54006
54007 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54008             Bruno Haible  <bruno@clisp.org>
54009
54010         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54011
54012 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54013
54014         * build-aux/pmccabe2html: Added support for C++ source files.
54015
54016 2008-11-05  Ben Pfaff  <blp@gnu.org>
54017
54018         Fix lib/close.c build on Windows.
54019         * modules/close (Files): Add lib/w32sock.h.
54020
54021 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54022
54023         Accept Bison's NEWS format.
54024         * build-aux/announce-gen (print_news_deltas): Tweak
54025         $re_prefix.
54026
54027 2008-11-04  Bruno Haible  <bruno@clisp.org>
54028
54029         * modules/random_r (Maintainer): Add glibc.
54030
54031 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54032
54033         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54034         by karl@freefriends.org (Karl Berry).
54035         * doc/alloca.texi: Likewise.
54036         * doc/c-ctype.texi: Likewise.
54037         * doc/c-strcase.texi: Likewise.
54038         * doc/c-strcaseeq.texi: Likewise.
54039         * doc/c-strcasestr.texi: Likewise.
54040         * doc/c-strstr.texi: Likewise.
54041         * doc/c-strtod.texi: Likewise.
54042         * doc/c-strtold.texi: Likewise.
54043         * doc/ctime.texi: Likewise.
54044         * doc/error.texi: Likewise.
54045         * doc/fdl.texi: Likewise.
54046         * doc/gcd.texi: Likewise.
54047         * doc/getdate.texi: Likewise.
54048         * doc/gnulib-intro.texi: Likewise.
54049         * doc/gnulib-tool.texi: Likewise.
54050         * doc/gnulib.texi: Likewise.
54051         * doc/inet_ntoa.texi: Likewise.
54052         * doc/maintain.texi: Likewise.
54053         * doc/make-stds.texi: Likewise.
54054         * doc/quote.texi: Likewise.
54055         * doc/regexprops-generic.texi: Likewise.
54056         * doc/standards.texi: Likewise.
54057         * doc/verify.texi: Likewise.
54058         * doc/visibility.texi: Likewise.
54059         * doc/gnulib.texi (GNU Free Documentation License): Include
54060         fdl-1.3.texi instead of fdl.texi.
54061
54062 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54063
54064         * doc/fdl-1.3.texi: New file, from
54065         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54066         * modules/fdl-1.3: Add.
54067         * MODULES.html.sh: Add fdl-1.3.
54068
54069 2008-11-03  Bruno Haible  <bruno@clisp.org>
54070
54071         Make determination of absolute name of header file work with AIX xlc.
54072         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54073         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54074         preprocessing.
54075         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54076         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54077
54078 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54079
54080         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54081         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54082         <ludo@gnu.org>.
54083
54084 2008-11-02  Bruno Haible  <bruno@clisp.org>
54085
54086         Mark 'strpbrk' obsolete.
54087         * modules/strpbrk (Status, Notice): New sections.
54088         * modules/strtok_r (Depends-on): Add strpbrk.
54089
54090 2008-11-02  Bruno Haible  <bruno@clisp.org>
54091
54092         Mark 'strdup' obsolete.
54093         * modules/strdup (Status, Notice): New sections.
54094         * modules/findprog (Depends-on): Add strdup.
54095         * modules/getaddrinfo (Depends-on): Likewise.
54096         * modules/localename (Depends-on): Likewise.
54097         * modules/relocatable-lib (Depends-on): Likewise.
54098         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54099         * modules/relocatable-prog (Depends-on): Likewise.
54100         * modules/trim (Depends-on): Likewise.
54101         * modules/unictype/gen-ctype (Depends-on): Likewise.
54102         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54103
54104 2008-11-02  Bruno Haible  <bruno@clisp.org>
54105
54106         Mark 'strcspn' obsolete.
54107         * modules/strcspn (Status, Notice): New sections.
54108
54109 2008-11-02  Bruno Haible  <bruno@clisp.org>
54110
54111         Mark 'rmdir' obsolete.
54112         * modules/rmdir (Status, Notice): New sections.
54113         * modules/clean-temp (Depends-on): Add rmdir.
54114         * modules/openat (Depends-on): Likewise.
54115
54116 2008-11-02  Bruno Haible  <bruno@clisp.org>
54117
54118         Mark 'raise' obsolete.
54119         * modules/raise (Status, Notice): New sections.
54120         (Include): Specify <signal.h>.
54121         * modules/stdio (Depends-on): Add raise.
54122         * modules/write (Depends-on): Likewise.
54123
54124 2008-11-02  Bruno Haible  <bruno@clisp.org>
54125
54126         Mark 'memset' obsolete.
54127         * modules/memset (Status, Notice): New sections.
54128
54129 2008-11-02  Bruno Haible  <bruno@clisp.org>
54130
54131         Mark 'memmove' obsolete.
54132         * modules/memmove (Status, Notice): New sections.
54133         * modules/argp (Depends-on): Add memmove.
54134         * modules/argz (Depends-on): Likewise.
54135         * modules/canonicalize (Depends-on): Likewise.
54136         * modules/canonicalize-lgpl (Depends-on): Likewise.
54137         * modules/fts (Depends-on): Likewise.
54138         * modules/getcwd (Depends-on): Likewise.
54139         * modules/human (Depends-on): Likewise.
54140         * modules/regex (Depends-on): Likewise.
54141         * modules/striconveh (Depends-on): Likewise.
54142         * modules/trim (Depends-on): Likewise.
54143         * modules/unistr/u8-move (Depends-on): Likewise.
54144         * modules/unistr/u16-move (Depends-on): Likewise.
54145         * modules/unistr/u32-move (Depends-on): Likewise.
54146
54147 2008-11-02  Bruno Haible  <bruno@clisp.org>
54148
54149         Mark 'memcpy' obsolete.
54150         * modules/memcpy (Status, Notice): New sections.
54151
54152 2008-11-02  Bruno Haible  <bruno@clisp.org>
54153
54154         Mark 'memcmp' obsolete.
54155         * modules/memcmp (Status, Notice): New sections.
54156         * modules/argmatch (Depends-on): Add memchr.
54157         * modules/backupfile (Depends-on): Likewise.
54158         * modules/c-strcasestr (Depends-on): Likewise.
54159         * modules/crypto/des (Depends-on): Likewise.
54160         * modules/csharpcomp (Depends-on): Likewise.
54161         * modules/fnmatch (Depends-on): Likewise.
54162         * modules/git-merge-changelog (Depends-on): Likewise.
54163         * modules/isnand (Depends-on): Likewise.
54164         * modules/isnand-nolibm (Depends-on): Likewise.
54165         * modules/isnanf (Depends-on): Likewise.
54166         * modules/isnanf-nolibm (Depends-on): Likewise.
54167         * modules/isnanl (Depends-on): Likewise.
54168         * modules/isnanl-nolibm (Depends-on): Likewise.
54169         * modules/mbchar (Depends-on): Likewise.
54170         * modules/memcoll (Depends-on): Likewise.
54171         * modules/quotearg (Depends-on): Likewise.
54172         * modules/regex (Depends-on): Likewise.
54173         * modules/relocatable-prog (Depends-on): Likewise.
54174         * modules/same (Depends-on): Likewise.
54175         * modules/signbit (Depends-on): Likewise.
54176         * modules/strcasestr-simple (Depends-on): Likewise.
54177         * modules/unictype/gen-ctype (Depends-on): Likewise.
54178         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54179         * modules/uniname/uniname (Depends-on): Likewise.
54180         * modules/unistr/u8-cmp (Depends-on): Likewise.
54181
54182 2008-11-02  Bruno Haible  <bruno@clisp.org>
54183
54184         Mark 'memchr' obsolete.
54185         * modules/memchr (Status, Notice): New sections.
54186         * modules/argp (Depends-on): Add memchr.
54187         * modules/base64 (Depends-on): Likewise.
54188         * modules/c-strcasestr (Depends-on): Likewise.
54189         * modules/chdir-long (Depends-on): Likewise.
54190         * modules/fnmatch (Depends-on): Likewise.
54191         * modules/getsubopt (Depends-on): Likewise.
54192         * modules/git-merge-changelog (Depends-on): Likewise.
54193         * modules/glob (Depends-on): Likewise.
54194         * modules/strcasestr-simple (Depends-on): Likewise.
54195         * modules/strnlen (Depends-on): Likewise.
54196
54197 2008-11-02  Bruno Haible  <bruno@clisp.org>
54198
54199         Mark 'atexit' obsolete.
54200         * modules/atexit (Status, Notice): New sections.
54201         * modules/chdir-long (Depends-on): Add atexit.
54202         * modules/wait-process (Depends-on): Likewise.
54203
54204 2008-11-02  Bruno Haible  <bruno@clisp.org>
54205
54206         * gnulib-tool: New option --with-obsolete.
54207         (func_usage): Document it.
54208         (func_modules_transitive_closure): Drop obsolete dependencies if
54209         incobsolete is not true.
54210         (func_import): Read and save the incobsolete variable to the cache.
54211
54212 2008-11-02  Bruno Haible  <bruno@clisp.org>
54213
54214         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54215         * gnulib-tool: New option --extract-status.
54216         (func_usage): Document it.
54217         (sed_extract_prog): Recognize it.
54218         (func_get_status): New function.
54219
54220 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54221
54222         * modules/sockets (License): Change from LGPL to LGPLv2+.
54223
54224 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54225
54226         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54227
54228 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54229
54230         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54231         Mention times and sys_times.
54232         * modules/sys_times, modules/sys_times-tests: New modules.
54233         * modules/times, modules/times-tests: Likewise
54234         * m4/sys_times_h.m4: New file.
54235         * lib/sys_times.in.h: Likewise
54236         * lib/times.c: Likewise.
54237         * tests/test-sys_times.c: Likewise.
54238         * tests/test-times.c: Likewise.
54239         * doc/posix-headers/sys_times.texi: Update.
54240         * doc/posix-functions/times.texi: Update.
54241
54242 2008-10-28  Jim Meyering  <meyering@redhat.com>
54243
54244         * modules/tempname (Depends-on): Add lstat.
54245
54246         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54247
54248 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54249
54250         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54251         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54252         using idiom used elsewhere in gnulib.
54253
54254 2008-10-27  Jim Meyering  <meyering@redhat.com>
54255
54256         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54257
54258 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54259
54260         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54261         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54262         programs.
54263         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54264
54265 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54266
54267         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54268
54269 2008-10-27  Bruno Haible  <bruno@clisp.org>
54270
54271         * tests/test-lstat.c: Include <stdio.h>.
54272
54273 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54274
54275         * modules/lstat-tests: New module.
54276         * tests/test-lstat.c: New file.
54277
54278 2008-10-26  Jim Meyering  <meyering@redhat.com>
54279
54280         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54281
54282 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54283             Bruno Haible  <bruno@clisp.org>
54284
54285         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54286         * modules/configmake (Include): Add a note that the include must come
54287         after all system headers.
54288         * lib/javaversion.c: Include configmake.h after all other includes.
54289
54290 2008-10-26  Bruno Haible  <bruno@clisp.org>
54291
54292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54293         HAVE_STRUCT_RANDOM_DATA to 1.
54294         (gl_STDLIB_H): Simplify.
54295
54296 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54297
54298         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54299         substitute HAVE_STRUCT_RANDOM_DATA.
54300         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54301         random_data.
54302         * modules/stdlib (Makefile.am): Substitute
54303         HAVE_STRUCT_RANDOM_DATA.
54304
54305 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54306
54307         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54308         * doc/gnulib-intro.texi (Copyright): Likewise.
54309
54310 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54311
54312         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54313         findings.
54314
54315 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54316             Bruno Haible  <bruno@clisp.org>
54317
54318         * lib/unistd.in.h: Include <winsock2.h>.
54319         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54320         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54321         Provide dummy declarations.
54322         (gethostname): Override.
54323         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54324         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54325         gl_PREREQ_SYS_H_WINSOCK2.
54326         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54327         * doc/posix-functions/gethostname.texi: More details.
54328
54329 2008-10-25  Bruno Haible  <bruno@clisp.org>
54330
54331         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54332         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54333         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54334
54335         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54336         here ...
54337         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54338         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54339         gl_UNISTD_H_DEFAULTS.
54340
54341 2008-10-25  Eric Blake  <ebb9@byu.net>
54342
54343         signbit: avoid spurious compiler failure
54344         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54345         declarations inside function.
54346
54347 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54348             Bruno Haible  <bruno@clisp.org>
54349
54350         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54351         * modules/random_r (Depends-on): Add stdint.
54352
54353 2008-10-24  Bruno Haible  <bruno@clisp.org>
54354
54355         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54356         Eggert.
54357         * modules/strerror (License): Likewise.
54358
54359 2008-10-24  Jim Meyering  <meyering@redhat.com>
54360
54361         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54362         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54363
54364 2008-10-24  Eric Blake  <ebb9@byu.net>
54365
54366         getgroups: fix compilation when getgroups is available
54367         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54368         but with <config.h> override of getgroups disabled.
54369
54370 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54371
54372         * doc/gnulib.texi (Header files): Add note about C++ problems.
54373         Explained by Bruno Haible <bruno@clisp.org>.
54374
54375 2008-10-23  Bruno Haible  <bruno@clisp.org>
54376
54377         Define a dummy SA_NODEFER macro on Interix.
54378         * lib/signal.in.h (SA_NODEFER): Define fallback.
54379         Reported by Aleksey Cheusov <cheusov@tut.by> via
54380         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54381
54382 2008-10-23  Bruno Haible  <bruno@clisp.org>
54383
54384         * modules/freadahead (License): Change to LGPLv2+.
54385         Suggested by Simon Josefsson.
54386
54387 2008-10-23  Jim Meyering  <meyering@redhat.com>
54388
54389         random_r: new module
54390         * modules/random_r: New file.
54391         * m4/random_r.m4: New file.
54392         * lib/random_r.c: New file, from glibc.
54393         * modules/random_r-tests: New file.
54394         * tests/test-random_r.c: New file.
54395         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54396          Declare.
54397         (RAND_MAX): Define.
54398         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54399         * modules/stdlib: Substitute them, too.
54400         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54401         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54402         * doc/glibc-functions/random_r.texi: Likewise.
54403         * doc/glibc-functions/setstate_r.texi: Likewise.
54404         * doc/glibc-functions/srandom_r.texi: Likewise.
54405         * config/srclist.txt: Mention it.
54406
54407 2008-10-23  David Lutterkort  <lutter@redhat.com>
54408
54409         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54410         link requirement
54411
54412 2008-10-23  Jim Meyering  <meyering@redhat.com>
54413
54414         selinux-h: mark parameters of stub functions as intentionally unused
54415         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54416         * lib/se-context.in.h: Likewise.
54417
54418 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54419
54420         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54421
54422 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54423
54424         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54425
54426 2008-10-22  Eric Blake  <ebb9@byu.net>
54427
54428         glthread/thread: avoid compiler warning
54429         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54430         Add unreachable abort to silence compiler.
54431
54432 2008-10-22  Eric Blake  <ebb9@byu.net>
54433
54434         netdb: also supply struct addrinfo for cygwin 1.5.x
54435         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54436         older cygwin.
54437         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54438         cygwin.
54439         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54440
54441 2008-10-22  Bruno Haible  <bruno@clisp.org>
54442
54443         * users.txt: Update entry about pspp.
54444
54445 2008-10-21  Bruno Haible  <bruno@clisp.org>
54446
54447         Simplification.
54448         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54449         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54450
54451         Simplification.
54452         * lib/ioctl.c (ioctl): Don't undefine.
54453         * lib/socket.c (socket): Don't undefine.
54454
54455         Remove unused module indicator macros.
54456         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54457         GNULIB_$1 as a C macro.
54458
54459         * doc/posix-functions/close.texi: Undo last change.
54460         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54461         Windows platforms.
54462
54463 2008-10-21  Bruno Haible  <bruno@clisp.org>
54464
54465         Add gethostname() declaration to <unistd.h>.
54466         * lib/unistd.in.h (gethostname): New declaration.
54467         * lib/gethostname.c: Include <unistd.h>.
54468         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54469         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54471         and HAVE_GETHOSTNAME.
54472         * modules/gethostname (Depends-on): Add unistd.
54473         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54474         (Include): Specify <unistd.h>.
54475         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54476         HAVE_GETHOSTNAME.
54477         * tests/test-gethostname.c: Include <unistd.h> first.
54478
54479 2008-10-21  Bruno Haible  <bruno@clisp.org>
54480
54481         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54482         * modules/select-tests (Depends-on): Likewise.
54483         Reported by Simon Josefsson.
54484
54485 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54486
54487         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54488         * lib/accept.c: New file, based on winsock.c.
54489         * lib/bind.c: New file, based on winsock.c.
54490         * lib/connect.c: New file, based on winsock.c.
54491         * lib/getpeername.c: New file, based on winsock.c.
54492         * lib/getsockname.c: New file, based on winsock.c.
54493         * lib/getsockopt.c: New file, based on winsock.c.
54494         * lib/ioctl.c: New file, based on winsock.c.
54495         * lib/listen.c: New file, based on winsock.c.
54496         * lib/recv.c: New file, based on winsock.c.
54497         * lib/recvfrom.c: New file, based on winsock.c.
54498         * lib/send.c: New file, based on winsock.c.
54499         * lib/sendto.c: New file, based on winsock.c.
54500         * lib/setsockopt.c: New file, based on winsock.c.
54501         * lib/shutdown.c: New file, based on winsock.c.
54502         * lib/socket.c: New file, based on winsock.c.
54503         * lib/w32sock.h: New file, based on winsock.c.
54504         * lib/winsock.c: Remove file.
54505         * modules/accept: Likewise.
54506         * modules/bind: Likewise.
54507         * modules/connect: Likewise.
54508         * modules/getpeername: Likewise.
54509         * modules/getsockname: Likewise.
54510         * modules/getsockopt: Likewise.
54511         * modules/ioctl: Likewise.
54512         * modules/listen: Likewise.
54513         * modules/recv: Likewise.
54514         * modules/recvfrom: Likewise.
54515         * modules/send: Likewise.
54516         * modules/sendto: Likewise.
54517         * modules/setsockopt: Likewise.
54518         * modules/shutdown: Likewise.
54519         * modules/socket: Use socket.c instead of winsock.c.
54520         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54521         * doc/posix-functions/accept.texi: Doc fix.
54522         * doc/posix-functions/bind.texi: Doc fix.
54523         * doc/posix-functions/close.texi: Doc fix.
54524         * doc/posix-functions/connect.texi: Doc fix.
54525         * doc/posix-functions/getpeername.texi: Doc fix.
54526         * doc/posix-functions/getsockname.texi: Doc fix.
54527         * doc/posix-functions/getsockopt.texi: Doc fix.
54528         * doc/posix-functions/ioctl.texi: Doc fix.
54529         * doc/posix-functions/listen.texi: Doc fix.
54530         * doc/posix-functions/recv.texi: Doc fix.
54531         * doc/posix-functions/recvfrom.texi: Doc fix.
54532         * doc/posix-functions/send.texi: Doc fix.
54533         * doc/posix-functions/sendto.texi: Doc fix.
54534         * doc/posix-functions/setsockopt.texi: Doc fix.
54535         * doc/posix-functions/shutdown.texi: Doc fix.
54536         * doc/posix-functions/socket.texi: Doc fix.
54537
54538 2008-10-20  Bruno Haible  <bruno@clisp.org>
54539
54540         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54541         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54542         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54543         as an alias for SIGABRT.
54544         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54545         (sigaction): Map it to SIGABRT.
54546         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54547
54548 2008-10-20  Bruno Haible  <bruno@clisp.org>
54549
54550         * lib/fts.c: Don't include lstat.h.
54551         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54552
54553         Move the lstat() declaration to <sys/stat.h>.
54554         * lib/lstat.h: Remove file.
54555         * lib/sys_stat.in.h: Add special invocation convention.
54556         (lstat): New declaration.
54557         * lib/lstat.c (orig_lstat): New function.
54558         (rpl_lstat): Use orig_lstat instead of lstat.
54559         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54560         AC_C_INLINE. Set REPLACE_LSTAT.
54561         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54562         and REPLACE_LSTAT.
54563         * modules/lstat (Files): Remove lib/lstat.h.
54564         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54565         (Include): Specify <sys/stat.h> instead of lstat.h.
54566         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54567         REPLACE_LSTAT.
54568         * NEWS: Mention the change.
54569
54570 2008-10-20  Bruno Haible  <bruno@clisp.org>
54571
54572         * modules/posix_spawn-tests: New file.
54573         * tests/test-posix_spawn3.c: New file.
54574
54575 2008-10-20  Bruno Haible  <bruno@clisp.org>
54576
54577         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54578         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54579         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54580         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54581         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54582
54583 2008-10-20  Bruno Haible  <bruno@clisp.org>
54584
54585         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54586         of posix_spawn on AIX 5.3.
54587
54588 2008-10-20  Bruno Haible  <bruno@clisp.org>
54589
54590         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54591
54592 2008-10-20  Bruno Haible  <bruno@clisp.org>
54593
54594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54595         of AC_LANG_PROGRAM.
54596
54597 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54598
54599         * lib/netdb.in.h: Don't define GNU specific constants until they
54600         are supported or needed.  Reported by Bruno Haible
54601         <bruno@clisp.org>.
54602
54603 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54604
54605         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54606
54607 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54608
54609         * lib/getaddrinfo.h: Remove file.
54610         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54611         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54612         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54613         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54614         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54615         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54616         * tests/test-getaddrinfo.c: Likewise.
54617         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54618         * NEWS: Mention change.
54619
54620 2008-10-19  Bruno Haible  <bruno@clisp.org>
54621
54622         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54623
54624 2008-10-19  Bruno Haible  <bruno@clisp.org>
54625
54626         * lib/wait-process.c: Include simply <sys/wait.h>.
54627         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54628         WIFSTOPPED): Remove fallback definitions.
54629         * modules/wait-process (Depends-on): Add sys_wait.
54630
54631         New module 'sys_wait'.
54632         * modules/sys_wait: New file.
54633         * lib/sys_wait.in.h: New file, partially copied from
54634         lib/wait-process.c.
54635         * m4/sys_wait_h.m4: New file.
54636         * doc/posix-headers/sys_wait.texi: Mention the new module.
54637
54638 2008-10-19  Bruno Haible  <bruno@clisp.org>
54639
54640         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54641
54642 2008-10-19  Bruno Haible  <bruno@clisp.org>
54643
54644         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54645         * lib/wait-process.c (WAIT_T): Remove type.
54646         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54647         (wait_subprocess): Update.
54648
54649 2008-10-19  Bruno Haible  <bruno@clisp.org>
54650
54651         New module 'atoll'.
54652         * modules/atoll: New file.
54653         * lib/stdlib.in.h (atoll): New declaration.
54654         * lib/atoll.c: New file, from glibc with modifications.
54655         * m4/atoll.m4: New file.
54656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54657         HAVE_ATOLL.
54658         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54659         * doc/posix-functions/atoll.texi: Mention the new module.
54660
54661 2008-10-19  Bruno Haible  <bruno@clisp.org>
54662
54663         Add strtoull() declaration to <stdlib.h>.
54664         * lib/stdlib.in.h (strtoull): New declaration.
54665         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54666         Set HAVE_STRTOULL.
54667         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54668         HAVE_STRTOULL.
54669         * modules/strtoull (Depends-on): Add stdlib.
54670         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54671         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54672         HAVE_STRTOULL.
54673
54674 2008-10-19  Bruno Haible  <bruno@clisp.org>
54675
54676         Add strtoll() declaration to <stdlib.h>.
54677         * lib/stdlib.in.h (strtoll): New declaration.
54678         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54679         Set HAVE_STRTOLL.
54680         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54681         HAVE_STRTOLL.
54682         * modules/strtoll (Depends-on): Add stdlib.
54683         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54684         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54685
54686 2008-10-19  Bruno Haible  <bruno@clisp.org>
54687
54688         * modules/bcopy (Depends-on): Add strings.
54689         (Include): Specify <strings.h>.
54690
54691 2008-10-19  Bruno Haible  <bruno@clisp.org>
54692
54693         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54694
54695 2008-10-19  Bruno Haible  <bruno@clisp.org>
54696
54697         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54698         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54699         mingw.
54700
54701 2008-10-19  Bruno Haible  <bruno@clisp.org>
54702
54703         * lib/atanl.c: Don't include isnanl.h.
54704         * lib/cosl.c: Likewise.
54705         * lib/ldexpl.c: Likewise.
54706         * lib/logl.c: Likewise.
54707         * lib/sinl.c: Likewise.
54708         * lib/sqrtl.c: Likewise.
54709         * lib/tanl.c: Likewise.
54710
54711         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
54712         * lib/isnanf.h: Remove file.
54713         * lib/isnand.h: Remove file.
54714         * lib/isnanl.h: Remove file.
54715         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
54716         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
54717         macros.
54718         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
54719         HAVE_ISNANF, don't define it as a C macro.
54720         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
54721         HAVE_ISNAND, don't define it as a C macro.
54722         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
54723         HAVE_ISNANL, don't define it as a C macro.
54724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
54725         HAVE_ISNAN[FDL].
54726         * modules/isnanf (Files): Remove lib/isnanf.h.
54727         (Depends-on): Add math.
54728         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54729         (Include): Specify <math.h> instead of isnanf.h.
54730         * modules/isnand (Files): Remove lib/isnand.h.
54731         (Depends-on): Add math.
54732         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54733         (Include): Specify <math.h> instead of isnand.h.
54734         * modules/isnanl (Files): Remove lib/isnanl.h.
54735         (Depends-on): Add math.
54736         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54737         (Include): Specify <math.h> instead of isnanl.h.
54738         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
54739         HAVE_ISNAN[FDL].
54740         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
54741         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
54742         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
54743         * NEWS: Mention the change.
54744
54745 2008-10-18  Bruno Haible  <bruno@clisp.org>
54746
54747         Add getusershell(), setusershell(), endusershell() declarations to
54748         <unistd.h>.
54749         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
54750         declarations.
54751         * lib/getusershell.c: Include unistd.h.
54752         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
54753         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54754         HAVE_GETUSERSHELL.
54755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
54756         and HAVE_GETUSERSHELL.
54757         * modules/getusershell (Depends-on): Add unistd, extensions.
54758         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54759         (Include): Specify <unistd.h>.
54760         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
54761         HAVE_GETUSERSHELL.
54762
54763 2008-10-18  Bruno Haible  <bruno@clisp.org>
54764
54765         Add a getloadavg() declaration to <stdlib.h>.
54766         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
54767         getloadavg declaration.
54768         (getloadavg): New declaration.
54769         * lib/getloadavg.c: Include <stdlib.h> first.
54770         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
54771         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
54772         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
54773         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
54774         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54775         * modules/getloadavg (Depends-on): Add stdlib, extensions.
54776         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54777         (Include): Specify <stdlib.h>.
54778         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
54779         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54780
54781 2008-10-18  Bruno Haible  <bruno@clisp.org>
54782
54783         * lib/dirchownmod.c: Don't include lchmod.h.
54784
54785         Move the lchmod() declaration to <sys/stat.h>.
54786         * lib/lchmod.h: Remove file.
54787         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
54788         (lchmod): New declaration, moved here from lib/lchown.h.
54789         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
54790         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
54791         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
54792         and HAVE_LCHMOD.
54793         * modules/lchmod (Files): Remove lib/lchmod.h.
54794         (Depends-on): Add sys_stat, extensions.
54795         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54796         (Include): Specify <sys/stat.h> instead of lchmod.h.
54797         * modules/sys_stat (Depends-on): Add link-warning.
54798         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
54799         definition of GL_LINK_WARNING.
54800         * NEWS: Mention the change.
54801
54802 2008-10-18  Bruno Haible  <bruno@clisp.org>
54803
54804         * lib/fchdir.c: Don't include dirfd.h.
54805         * lib/fts.c: Likewise.
54806         * lib/getcwd.c: Likewise.
54807         * lib/glob.c: Likewise.
54808
54809         Move the dirfd() declaration to <dirent.h>.
54810         * lib/dirfd.h: Remove file.
54811         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
54812         (dirfd): New declaration.
54813         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
54814         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
54815         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
54816         HAVE_DECL_DIRFD.
54817         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
54818         HAVE_DECL_DIRFD.
54819         * modules/dirfd (Files): Remove lib/dirfd.h.
54820         (Depends-on): Add dirent, extensions.
54821         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
54822         (Include): Specify <dirent.h> instead of dirfd.h.
54823         * modules/dirent (Depends-on): Add link-warning.
54824         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
54825         definition of GL_LINK_WARNING.
54826         * NEWS: Mention the change.
54827
54828 2008-10-18  Bruno Haible  <bruno@clisp.org>
54829
54830         Move the euidaccess() declaration to <unistd.h>.
54831         * lib/euidaccess.h: Remove file.
54832         * lib/unistd.in.h (euidaccess): New declaration.
54833         * lib/euidaccess.c: Don't include euidaccess.h.
54834         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
54835         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
54836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
54837         and HAVE_EUIDACCESS.
54838         * modules/euidaccess (Files): Remove lib/euidaccess.h.
54839         (Depends-on): Add unistd.
54840         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54841         (Include): Specify <unistd.h> instead of euidaccess.h.
54842         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
54843         HAVE_EUIDACCESS.
54844         * NEWS: Mention the change.
54845
54846 2008-10-18  Bruno Haible  <bruno@clisp.org>
54847
54848         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
54849
54850         Move the getdomainname() declaration to <unistd.h>.
54851         * lib/getdomainname.h: Remove file.
54852         * lib/unistd.in.h (getdomainname): New declaration.
54853         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
54854         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
54855         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54856         HAVE_GETDOMAINNAME.
54857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54858         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
54859         * modules/getdomainname (Files): Remove lib/getdomainname.h.
54860         (Depends-on): Add unistd, extensions.
54861         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54862         (Includes): Specify <unistd.h> instead of getdomainname.h.
54863         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
54864         HAVE_GETDOMAINNAME.
54865         * NEWS: Mention the change.
54866
54867 2008-10-18  Bruno Haible  <bruno@clisp.org>
54868
54869         * modules/dirent: New file.
54870         * m4/dirent_h.m4: New file.
54871         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
54872         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
54873         * modules/fchdir (Files): Remove lib/dirent.in.h.
54874         (Depends-on): Add dirent.
54875         (Makefile.am): Move rules to modules/dirent.
54876         * doc/posix-headers/dirent.texi: Mention the new module.
54877
54878 2008-10-18  Bruno Haible  <bruno@clisp.org>
54879
54880         Avoid -Wunused-parameter warnings in public gnulib header files.
54881         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54882         macro.
54883         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
54884
54885 2008-10-18  Bruno Haible  <bruno@clisp.org>
54886
54887         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
54888         * doc/glibc-functions/error.texi: Mention the module 'error'.
54889         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
54890         * doc/glibc-functions/getdomainname.texi: Mention the module
54891         'getdomainname'.
54892         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
54893         * doc/glibc-functions/getpagesize.texi: Mention the module
54894         'getpagesize'.
54895         * doc/glibc-functions/getusershell.texi: Mention the module
54896         'getusershell'.
54897         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
54898         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
54899         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
54900         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
54901         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
54902         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
54903         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
54904         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
54905         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
54906         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
54907         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
54908         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
54909         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
54910         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
54911
54912 2008-10-17  Bruno Haible  <bruno@clisp.org>
54913
54914         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
54915         HP-UX and IRIX, use -0.0L.
54916         * tests/test-ceill.c (minus_zero): Likewise.
54917         * tests/test-floorl.c (minus_zero): Likewise.
54918         * tests/test-frexpl.c (minus_zero): Likewise.
54919         * tests/test-isnan.c (minus_zerol): Likewise.
54920         * tests/test-isnanl.h (minus_zero): Likewise.
54921         * tests/test-ldexpl.c (minus_zero): Likewise.
54922         * tests/test-roundl.c (minus_zero): Likewise.
54923         * tests/test-signbit.c (minus_zerol): Likewise.
54924         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
54925         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
54926         * tests/test-truncl.c (minus_zero): Likewise.
54927         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
54928         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
54929         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
54930         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
54931
54932 2008-10-17  Bruno Haible  <bruno@clisp.org>
54933
54934         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
54935         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
54936         that it gets activated only for gcc >= 3.0.
54937         * lib/dirent.in.h: Likewise.
54938         * lib/errno.in.h: Likewise.
54939         * lib/fcntl.in.h: Likewise.
54940         * lib/float.in.h: Likewise.
54941         * lib/iconv.in.h: Likewise.
54942         * lib/inttypes.in.h: Likewise.
54943         * lib/locale.in.h: Likewise.
54944         * lib/math.in.h: Likewise.
54945         * lib/netdb.in.h: Likewise.
54946         * lib/netinet_in.in.h: Likewise.
54947         * lib/search.in.h: Likewise.
54948         * lib/signal.in.h: Likewise.
54949         * lib/spawn.in.h: Likewise.
54950         * lib/stdarg.in.h: Likewise.
54951         * lib/stdint.in.h: Likewise.
54952         * lib/stdio.in.h: Likewise.
54953         * lib/stdlib.in.h: Likewise.
54954         * lib/string.in.h: Likewise.
54955         * lib/strings.in.h: Likewise.
54956         * lib/sys_file.in.h: Likewise.
54957         * lib/sys_ioctl.in.h: Likewise.
54958         * lib/sys_select.in.h: Likewise.
54959         * lib/sys_socket.in.h: Likewise.
54960         * lib/sys_stat.in.h: Likewise.
54961         * lib/sys_time.in.h: Likewise.
54962         * lib/sysexits.in.h: Likewise.
54963         * lib/time.in.h: Likewise.
54964         * lib/unistd.in.h: Likewise.
54965         * lib/wchar.in.h: Likewise.
54966         * lib/wctype.in.h: Likewise.
54967         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54968
54969 2008-10-17  Jim Meyering  <meyering@redhat.com>
54970
54971         ignore-value: don't depend on inline module
54972         * modules/ignore-value (Depends-on): Remove 'inline'.
54973         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
54974         Suggestion from Bruno Haible.
54975
54976 2008-10-17  Bruno Haible  <bruno@clisp.org>
54977
54978         New implementation of condition variables for Win32.
54979         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
54980         (gl_linked_waitqueue_t): New type.
54981         (gl_cond_t): Use it.
54982         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
54983         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
54984         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
54985         (glthread_cond_init_func, glthread_cond_wait_func,
54986         glthread_cond_timedwait_func, glthread_cond_signal_func,
54987         glthread_cond_broadcast_func, glthread_cond_destroy_func):
54988         Reimplemented on the basis of gl_linked_waitqueue_t.
54989         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
54990         gl_waitqueue_t.
54991         (gl_rwlock_t): Update.
54992         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
54993
54994 2008-10-17  Simon Josefsson  <simon@josefsson.org>
54995
54996         * modules/recvfrom (Depends-on): Add dependency on getpeername.
54997         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54998
54999 2008-10-17  Jim Meyering  <meyering@redhat.com>
55000
55001         ignore-value: new module
55002         * modules/ignore-value: New file.
55003         * lib/ignore-value.h: New file.
55004         * MODULES.html.sh (Compiler warning management): New section,
55005         just for this module.  More to come.
55006
55007 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55008
55009         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55010         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55011         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55012
55013 2008-10-16  Jim Meyering  <meyering@redhat.com>
55014
55015         openat-die.c: avoid 'no previous prototype' warning
55016         * lib/openat-die.c: Include "openat.h".
55017         Reported by Reuben Thomas <rrt@sc3d.org>.
55018
55019 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55020
55021         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55022         * lib/netdb.in.h: Fix typo.
55023         Reported by Bruno Haible  <bruno@clisp.org>
55024
55025         * lib/netdb.in.h: Include sys/socket.h for platforms without
55026         netdb.h, to get structures like hostent on MinGW.
55027         * modules/netdb (Depends-on): Add sys_socket.
55028
55029 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55030
55031         * modules/netdb, modules/netdb-tests: New file.
55032         * m4/netdb_h.m4: New file.
55033         * lib/netdb.in.h: Add, currently just an empty file pending
55034         definitions.
55035         * tests/test-netdb.c: New file.
55036         * doc/posix-headers/netdb.texi: Mention that we replace it if
55037         needed.
55038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55039         netdb.
55040
55041 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55042
55043         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55044         with code.
55045
55046 2008-10-13  Bruno Haible  <bruno@clisp.org>
55047
55048         * lib/glthread/cond.c (glthread_cond_wait_func,
55049         glthread_cond_timedwait_func): Add a comment.
55050
55051 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55052
55053         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55054         * tests/test-select.c: Likewise,
55055
55056 2008-10-13  Bruno Haible  <bruno@clisp.org>
55057
55058         * lib/glthread/cond.c (glthread_cond_wait_func,
55059         glthread_cond_timedwait_func): Fix variable name.
55060         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55061
55062 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55063
55064         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55065         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55066         struct sockaddr.sa_len.
55067         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55068
55069 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55070
55071         * build-aux/pmccabe2html: Add css and css_url parameters.
55072
55073 2008-10-12  Bruno Haible  <bruno@clisp.org>
55074
55075         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55076         calling aclx_get.
55077         Reported by Rainer Tammer <tammer@tammer.net>.
55078
55079 2008-10-12  Bruno Haible  <bruno@clisp.org>
55080
55081         Use msvcrt aware primitives for creation/termination of Win32 threads.
55082         * lib/glthread/thread.c: Include <process.h>.
55083         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55084         (wrapper_func): Update signature.
55085         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55086
55087 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55088             Bruno Haible  <bruno@clisp.org>
55089
55090         Provide a Win32 implementation of the 'cond' module.
55091         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55092         * lib/glthread/cond.c (glthread_cond_init_func,
55093         glthread_cond_wait_func, glthread_cond_timedwait_func,
55094         glthread_cond_signal_func, glthread_cond_broadcast_func,
55095         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55096         * modules/cond (Dependencies): Add gettimeofday.
55097
55098 2008-10-11  Bruno Haible  <bruno@clisp.org>
55099
55100         Make sleep work on older versions of mingw.
55101         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55102         only whether it exists.
55103         * doc/posix-functions/sleep.texi: Mention the problem with older
55104         versions of mingw.
55105
55106 2008-10-11  Bruno Haible  <bruno@clisp.org>
55107
55108         New module 'shutdown'.
55109         * modules/shutdown: New file.
55110         * lib/sys_socket.in.h (shutdown): New declaration.
55111         * lib/winsock.c (shutdown): New function.
55112         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55113         GNULIB_SHUTDOWN.
55114         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55115         * doc/posix-functions/shutdown.texi: Document the new module.
55116
55117 2008-10-11  Jim Meyering  <meyering@redhat.com>
55118
55119         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55120
55121 2008-10-11  Bruno Haible  <bruno@clisp.org>
55122
55123         New module 'fclose'.
55124         * modules/fclose: New file.
55125         * lib/stdio.in.h (fclose): New declaration.
55126         * lib/fclose.c: New file.
55127         * m4/fclose.m4: New file.
55128         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55129         REPLACE_FCLOSE.
55130         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55131         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55132         REPLACE_FCLOSE.
55133         * modules/close (Depends-on): fclose.
55134         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55135
55136 2008-10-11  Bruno Haible  <bruno@clisp.org>
55137
55138         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55139         set errno and don't call _close.
55140
55141 2008-10-10  Bruno Haible  <bruno@clisp.org>
55142
55143         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55144         ACL, not afterwards. Fixes test failure on Cygwin.
55145
55146 2008-10-09  Ben Pfaff  <blp@gnu.org>
55147
55148         * build-aux/announce-gen: Fix gnulib version related part of usage
55149         message.  Die with a useful error message if no tarballs are
55150         found.
55151
55152 2008-10-10  Jim Meyering  <meyering@redhat.com>
55153
55154         bootstrap: use git's --depth=N option only if it's supported
55155         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55156         recognize the --depth option.  Reported by Pádraig Brady.
55157
55158 2008-10-09  Bruno Haible  <bruno@clisp.org>
55159
55160         New module 'ioctl'.
55161         * modules/ioctl: New file.
55162         * lib/sys_socket.in.h (ioctl): Remove declaration.
55163         * lib/winsock.c: Include <sys/ioctl.h>.
55164         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55165         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55166         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55167         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55168         * doc/posix-functions/ioctl.texi: Mention the new module.
55169
55170 2008-10-09  Bruno Haible  <bruno@clisp.org>
55171
55172         New module 'sys_ioctl'.
55173         * lib/sys_ioctl.in.h: New file.
55174         * m4/sys_ioctl_h.m4: New file.
55175         * modules/sys_ioctl: New file.
55176         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55177
55178 2008-10-09  Bruno Haible  <bruno@clisp.org>
55179
55180         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55181         * lib/winsock.c: Include <stdarg.h>.
55182         (rpl_ioctl): Change to second argument 'int' and then varargs.
55183
55184 2008-10-09  Bruno Haible  <bruno@clisp.org>
55185
55186         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55187         when the sys_socket module is present and the system has <winsock2.h>.
55188
55189 2008-10-09  Bruno Haible  <bruno@clisp.org>
55190
55191         * doc/posix-functions/close.texi: Mention module 'close' instead of
55192         module 'sys_socket'.
55193
55194 2008-10-09  Bruno Haible  <bruno@clisp.org>
55195
55196         * doc/glibc-headers/sys_ioctl.texi: New file.
55197         * doc/gnulib.texi: Include it.
55198
55199 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55200             Bruno Haible  <bruno@clisp.org>
55201
55202         Combine the two replacements of 'close'.
55203         * lib/sys_socket.in.h (close): Define to a reminder to include
55204         <unistd.h>.
55205         (_gl_close_fd_maybe_socket): New declaration.
55206         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55207         * lib/winsock.c (close): Remove undefinition.
55208         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55209         needed for the gnulib module 'close'.
55210         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55211         define to an error symbol or to a warning, if suitable.
55212         * lib/close.c: Include <sys/socket.h>.
55213         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55214         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55215         UNISTD_H_HAVE_WINSOCK2_H.
55216         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55218         UNISTD_H_HAVE_WINSOCK2_H.
55219         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55220         (configure.ac): Set a module indicator.
55221         (Makefile.am): Substitute GNULIB_CLOSE.
55222         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55223         * modules/poll-tests (Depends-on): Add close.
55224         * modules/select-tests (Depends-on): Likewise.
55225
55226 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55227             Bruno Haible  <bruno@clisp.org>
55228
55229         New module 'close'.
55230         * modules/close: New file.
55231         * lib/unistd.in.h (close): Move declaration out of the
55232         FCHDIR_REPLACEMENT scope.
55233         (_gl_unregister_fd): New declaration.
55234         * lib/close.c: New file.
55235         * lib/fchdir.c (rpl_close): Remove function.
55236         * m4/close.m4: New file.
55237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55238         close.
55239         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55240         REPLACE_CLOSE.
55241         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55242         REPLACE_CLOSE.
55243         * modules/fchdir (Depends-on): Add close.
55244
55245 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55246             Bruno Haible  <bruno@clisp.org>
55247
55248         * lib/fcntl.in.h (open): Simplify conditionals.
55249         (_gl_register_fd): New declaration.
55250         * lib/fchdir.c (rpl_open): Remove function.
55251         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55252         also.
55253         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55254         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55255         open.
55256
55257 2008-10-09  Jim Meyering  <meyering@redhat.com>
55258
55259         GNUmakefile: use the more name-space-friendly "_version"
55260         * top/GNUmakefile (_dummy): Update.
55261         (_version): Rename from "version".
55262
55263 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55264             Bruno Haible  <bruno@clisp.org>
55265
55266         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55267         rpl_close.
55268         (_gl_register_fd): New function, extracted from rpl_open.
55269         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55270         (rpl_open, rpl_opendir): Use _gl_register_fd.
55271
55272 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55273
55274         Fix organization of 'open' replacement.
55275         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55276         (gl_FUNC_OPEN): Use it.
55277         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55278
55279 2008-10-08  Bruno Haible  <bruno@clisp.org>
55280
55281         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55282
55283 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55284
55285         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55286         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55287         listen).
55288
55289 2008-10-08  Eric Blake  <ebb9@byu.net>
55290
55291         GNUmakefile: add 'make version' target
55292         * top/GNUmakefile (_curr-ver): Split version update rules...
55293         (version): ...into a target.
55294
55295 2008-10-07  Bruno Haible  <bruno@clisp.org>
55296
55297         Use a more portable replacement expression for -0.0L.
55298         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55299         instead of -0.0L. Fix m4 quotation.
55300
55301         * tests/test-signbit.c: Include <float.h>.
55302         (minus_zero): New variable.
55303         (test_signbitl): Use minus_zero instead of -zero.
55304         * modules/signbit-tests (Depends-on): Add float.
55305
55306         * tests/test-ceill.c: Include <float.h>.
55307         (zero): Remove variable.
55308         (minus_zero): New variable.
55309         (main): Use minus_zero instead of -zero.
55310         * modules/ceill-tests (Depends-on): Add float.
55311
55312         * tests/test-floorl.c: Include <float.h>.
55313         (zero): Remove variable.
55314         (minus_zero): New variable.
55315         (main): Use minus_zero instead of -zero.
55316         * modules/floorl-tests (Depends-on): Add float.
55317
55318         * tests/test-roundl.c: Include <float.h>.
55319         (zero): Remove variable.
55320         (minus_zero): New variable.
55321         (main): Use minus_zero instead of -zero.
55322         * modules/roundl-tests (Depends-on): Add float.
55323
55324         * tests/test-truncl.c: Include <float.h>.
55325         (zero): Remove variable.
55326         (minus_zero): New variable.
55327         (main): Use minus_zero instead of -zero.
55328         * modules/truncl-tests (Depends-on): Add float.
55329
55330         * tests/test-frexpl.c (zero): Remove variable.
55331         (minus_zero): New variable.
55332         (main): Use minus_zero instead of -zero.
55333         * modules/frexpl-tests (Depends-on): Add float.
55334
55335         * tests/test-isnan.c (zerol): Remove variable.
55336         (minus_zerol): New variable.
55337         (test_long_double): Use minus_zerol instead of -zerol.
55338         * modules/isnan-tests (Depends-on): Add float.
55339
55340         * tests/test-isnanl.h (zero): Remove variable.
55341         (minus_zero): New variable.
55342         (main): Use minus_zero instead of -zero.
55343         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55344         * modules/isnanl-tests (Depends-on): Add float.
55345
55346         * tests/test-ldexpl.c (zero): Remove variable.
55347         (minus_zero): New variable.
55348         (main): Use minus_zero instead of -zero.
55349         * modules/ldexpl-tests (Depends-on): Add float.
55350
55351         * tests/test-snprintf-posix.h (zerol): Remove variable.
55352         (minus_zerol): New variable.
55353         (test_function): Use minus_zerol instead of -zerol.
55354         * modules/snprintf-posix-tests (Depends-on): Add float.
55355         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55356
55357         * tests/test-sprintf-posix.h (zerol): Remove variable.
55358         (minus_zerol): New variable.
55359         (test_function): Use minus_zerol instead of -zerol.
55360         * modules/sprintf-posix-tests (Depends-on): Add float.
55361         * modules/vsprintf-posix-tests (Depends-on): Add float.
55362
55363         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55364         (minus_zerol): New variable.
55365         (test_function): Use minus_zerol instead of -zerol.
55366         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55367
55368         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55369         (minus_zerol): New variable.
55370         (test_function): Use minus_zerol instead of -zerol.
55371         * modules/vasprintf-posix-tests (Depends-on): Add float.
55372
55373 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55374
55375         * MODULES.html.sh (Support for building documentation): Mention
55376         pmccabe2html.  Sort entries.
55377
55378         Add pmccabe2html module, from gnupdf.
55379         * build-aux/pmccabe.css: New file.
55380         * build-aux/pmccabe2html: New file.
55381         * m4/pmccabe2html.m4: New file.
55382         * modules/pmccabe2html: New file.
55383
55384 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55385
55386         flock: new module
55387         * MODULES.html.sh: Add to list of modules.
55388         * lib/flock.c: flock implementation for Windows and Unix systems
55389         which have fcntl.
55390         * doc/glibc-functions/flock.texi: Update documentation.
55391         * lib/sys_file.in.h: <sys/file.h> header file.
55392         * m4/flock.m4: M4 macros.
55393         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55394         * modules/flock: flock module.
55395         * modules/flock-tests: flock tests module.
55396         * modules/sys_file: sys/file.h module.
55397         * tests/test-flock.c: test suite for flock.
55398
55399 2008-10-06  Jim Meyering  <meyering@redhat.com>
55400
55401         bootstrap: check for LT_INIT more portably still ;-)
55402         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55403         Spotted by Bruno Haible.
55404
55405 2008-10-06  Eric Blake  <ebb9@byu.net>
55406
55407         test-signbit: avoid tripping Irix cc bug on -0.0L
55408         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55409         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55410         entire testsuite consistent and avoids an Irix 6.2 bug.
55411
55412 2008-10-05  Bruno Haible  <bruno@clisp.org>
55413             Jim Meyering  <jim@meyering.net>
55414
55415         Add an option for ignoring EPIPE during close_stdout.
55416         * lib/closeout.h: Include <stdbool.h>.
55417         (close_stdout_set_ignore_EPIPE): New declaration.
55418         * lib/closeout.c: Include <stdbool.h>.
55419         (ignore_EPIPE): New variable.
55420         (close_stdout_set_ignore_EPIPE): New function.
55421         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55422         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55423         failure.
55424         * modules/closeout (Depends-on): Add stdbool.
55425
55426 2008-10-05  Bruno Haible  <bruno@clisp.org>
55427
55428         * modules/accept: New file.
55429         * modules/bind: New file.
55430         * modules/connect: New file.
55431         * modules/getpeername: New file.
55432         * modules/getsockname: New file.
55433         * modules/getsockopt: New file.
55434         * modules/listen: New file.
55435         * modules/recv: New file.
55436         * modules/recvfrom: New file.
55437         * modules/send: New file.
55438         * modules/sendto: New file.
55439         * modules/setsockopt: New file.
55440         * modules/socket: New file.
55441         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55442         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55443         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55444         the particular module is requested. Add a link warning when the
55445         particular module is not requested.
55446         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55447         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55448         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55449         the particular module is requested.
55450         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55451         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55452         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55453         * modules/sys_socket (Depends-on): Add link-warning.
55454         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55455         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55456         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55457         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55458         GL_LINK_WARNING.
55459         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55460         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55461         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55462         * doc/posix-functions/getpeername.texi: Mention the new module
55463         'getpeername'.
55464         * doc/posix-functions/getsockname.texi: Mention the new module
55465         'getsockname'.
55466         * doc/posix-functions/getsockopt.texi: Mention the new module
55467         'getsockopt'.
55468         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55469         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55470         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55471         * doc/posix-functions/send.texi: Mention the new module 'send'.
55472         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55473         * doc/posix-functions/setsockopt.texi: Mention the new module
55474         'setsockopt'.
55475         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55476         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55477         listen, connect, accept.
55478         * modules/select-tests (Depends-on): Likewise.
55479
55480 2008-10-05  Bruno Haible  <bruno@clisp.org>
55481
55482         * lib/winsock.c (strerror): Remove unused #undef.
55483         (rpl_close): Remove unused local variable.
55484
55485         * modules/sys_socket (Depends-on); Add errno.
55486
55487 2008-10-05  Bruno Haible  <bruno@clisp.org>
55488
55489         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55490         (select): Add a link warning when the 'select' module is not used.
55491         * modules/sys_select (Depends-on): Add link-warning.
55492         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55493         Suggested by Paolo Bonzini.
55494
55495 2008-10-05  Jim Meyering  <meyering@redhat.com>
55496
55497         bootstrap: check for LT_INIT more portably
55498         * build-aux/bootstrap: Avoid using grep -E, since it's not
55499         portable enough.  Suggestion from Bruno Haible.
55500
55501 2008-10-05  Bruno Haible  <bruno@clisp.org>
55502
55503         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55504         as being fixed by gnulib.
55505
55506 2008-10-05  Bruno Haible  <bruno@clisp.org>
55507
55508         * modules/select-tests: New file, mostly copied from
55509         modules/sys_select-tests.
55510         * tests/test-select.c: New file, mostly copied from
55511         tests/test-sys_select.c.
55512         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55513         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55514         (Makefile.am): Remove test_sys_select_LDADD.
55515
55516         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55517         to an undefined symbol, for an error message.
55518         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55519         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55520         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55521         winsock-select.c here.
55522         * modules/sys_select (Files): Remove lib/winsock-select.c.
55523         (Depends-on): Remove alloca.
55524         (Makefile.am): Substitute GNULIB_SELECT.
55525         * modules/select: New file.
55526         * doc/posix-functions/select.texi: Update.
55527
55528 2008-10-05  Bruno Haible  <bruno@clisp.org>
55529
55530         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55531         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55532         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55533         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55534         getdtablesize.
55535         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55536         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55537
55538 2008-10-05  Bruno Haible  <bruno@clisp.org>
55539
55540         * modules/getdtablesize-tests: New file.
55541         * tests/test-getdtablesize.c: New file.
55542
55543         New module 'getdtablesize'.
55544         * lib/unistd.in.h (getdtablesize): New declaration.
55545         * lib/getdtablesize.c: New file.
55546         * m4/getdtablesize.m4: New file.
55547         * modules/getdtablesize: New file.
55548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55549         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55550         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55551         HAVE_GETDTABLESIZE.
55552         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55553
55554 2008-10-05  Bruno Haible  <bruno@clisp.org>
55555
55556         * modules/sched (Makefile.am): Fix typo.
55557         Reported by Simon Josefsson.
55558
55559 2008-10-05  Jim Meyering  <meyering@redhat.com>
55560
55561         bootstrap: check for LT_INIT, too
55562         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55563         are deprecated.  Suggestion from Ralf Wildenhues.
55564
55565 2008-10-05  Bruno Haible  <bruno@clisp.org>
55566
55567         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55568         overriding them by ours.
55569         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55570
55571 2008-10-05  Jim Meyering  <meyering@redhat.com>
55572
55573         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55574         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55575         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55576
55577 2008-10-04  Bruno Haible  <bruno@clisp.org>
55578
55579         * modules/dup2 (License): Change to LGPLv2+.
55580         * modules/sleep (License): Likewise.
55581         * modules/perror (License): Likewise.
55582         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55583         Blake.
55584         * modules/signal (License): Likewise.
55585         * modules/sigprocmask (License): Likewise.
55586         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55587         Meyering.
55588
55589 2008-10-04  Bruno Haible  <bruno@clisp.org>
55590
55591         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55592         Reported by Rainer Tammer <tammer@tammer.net>.
55593
55594 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55595             Bruno Haible  <bruno@clisp.org>
55596
55597         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55598         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55599         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55600
55601 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55602
55603         filevercmp: new module
55604         * lib/filevercmp.h: New function filevercmp comparing version strings.
55605         * lib/filevercmp.c: Implementation of filevercmp function.
55606         * modules/filevercmp: Module metadata.
55607         * tests/test-filevercmp.c: Unit test for new module.
55608         * modules/filevercmp-tests: Unit test metadata.
55609         * MODULES.html.sh: Add filevercmp module.
55610
55611 2008-10-03  Bruno Haible  <bruno@clisp.org>
55612
55613         * lib/c-ctype.h: Add comment.
55614         Reported by Jim Meyering.
55615
55616 2008-10-02  Bruno Haible  <bruno@clisp.org>
55617
55618         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55619
55620 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55621
55622         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55623         name of bootstrap.conf accordingly.
55624
55625 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55626
55627         * build-aux/bootstrap: Install git-merge-changelog configuration
55628         items into .gitconfig if needed.
55629
55630 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55631
55632         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55633         git repository, and initialize/update it accordingly.
55634
55635 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55636
55637         * modules/fsync-tests: New file.
55638         * tests/test-fsync.c: New file.
55639
55640         New module 'fsync'.
55641         * lib/fsync.c: New file.
55642         * m4/fsync.m4: New file.
55643         * modules/fsync: New file.
55644         * lib/unistd.in.h (fsync): New declaration.
55645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55646         GNULIB_FSYNC and HAVE_FSYNC.
55647         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55648         * MODULES.html.sh (posix_functions): Add fsync.
55649         * doc/posix-functions/fsync.texi: Mention the new module.
55650
55651 2008-10-02  Jim Meyering  <meyering@redhat.com>
55652
55653         fts.c: sync with similar code from coreutils' remove.c
55654         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55655         Guard also with "#if defined __linux__", since for now at least,
55656         this code is Linux-kernel-specific.
55657
55658 2008-10-02  Jim Meyering  <meyering@redhat.com>
55659
55660         fts: bug fixes
55661         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55662         Include <sys/vfs.h>, not <sys/statfs.h>.
55663
55664         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55665         Include <sys/vfs.h>, not <sys/statfs.h>.
55666
55667 2008-10-01  Bruno Haible  <bruno@clisp.org>
55668
55669         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55670         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55671         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55672         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55673         * doc/posix-functions/posix_spawnp.texi: Likewise.
55674         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55675         whether posix_spawn actually works.
55676         * m4/pipe.m4 (gl_PIPE): Likewise.
55677         * modules/execute (Files): Add m4/posix_spawn.m4.
55678         * modules/pipe (Files): Add m4/posix_spawn.m4.
55679         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55680
55681 2008-10-01  Jim Meyering  <meyering@redhat.com>
55682
55683         remove trailing spaces
55684         * NEWS: Likewise.
55685         * lib/poll.c (poll): Likewise.
55686         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55687         * lib/winsock.c (rpl_close): Likewise.
55688         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55689         * modules/yield: Likewise.
55690         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55691         * tests/test-sys_select.c (connect_to_socket): Likewise.
55692
55693         fts.c: adjust a new interface to be more generally useful
55694         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55695         (fts_build): Adjust caller.
55696
55697 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55698
55699         * modules/cond-tests: New file.
55700         * tests/test-cond.c: New file.
55701
55702 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55703             Bruno Haible  <bruno@clisp.org>
55704
55705         * modules/cond (Dependencies): Add errno, time.
55706         * lib/glthread/cond.h: Include <time.h>.
55707         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55708         across platforms.
55709
55710 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55711             Bruno Haible  <bruno@clisp.org>
55712
55713         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
55714
55715 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55716             Bruno Haible  <bruno@clisp.org>
55717
55718         * modules/tls-tests (Depends-on): Add thread, yield.
55719         (configure.ac): Remove all checks.
55720         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
55721         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55722         gl_thread_self): Remove definitions. Include glthread/thread.h and
55723         glthread/yield.h instead.
55724         (test_tls): Pass an additional NULL argument to gl_thread_join.
55725
55726 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55727             Bruno Haible  <bruno@clisp.org>
55728
55729         * modules/lock-tests (Depends-on): Add thread, yield.
55730         (configure.ac): Remove all checks.
55731         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
55732         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55733         gl_thread_self): Remove definitions. Include glthread/thread.h and
55734         glthread/yield.h instead.
55735         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
55736         additional NULL argument to gl_thread_join.
55737
55738 2008-09-30  Bruno Haible  <bruno@clisp.org>
55739
55740         Fix the Win32 implementation of the 'thread' module.
55741         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
55742         pointer type.
55743         (gl_thread_self): Invoke gl_thread_self_func.
55744         (gl_thread_self_func): New declaration.
55745         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
55746         (do_init_self_key, init_self_key): New functions.
55747         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
55748         Remove some fields.
55749         (running_threads, running_lock): Remove variables.
55750         (get_current_thread_handle): New function.
55751         (gl_thread_self_func, wrapper_func, glthread_create_func,
55752         glthread_join_func, gl_thread_exit_func): Largely rewritten and
55753         simplified.
55754
55755 2008-09-30  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
55758         files.
55759
55760 2008-09-30  Jim Meyering  <meyering@redhat.com>
55761
55762         fts.m4: correct the test for statfs.f_type
55763         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
55764         when checking for statfs.f_type.
55765
55766 2008-09-15  Simon Josefsson  <simon@josefsson.org>
55767
55768         tests: avoid some compiler warnings
55769         * tests/test-memchr.c (main): Pass NULL indirectly.
55770         * tests/test-getdate.c (main): Remove unused variable 'ret'.
55771
55772 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
55773
55774         getdate.y: disallow countable dayshifts like "4 yesterday ago"
55775         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
55776         exactly specified dayshifts.
55777         (dayshift): New rule.
55778         (rel): Add dayshift.
55779         (relative_time_table) [tomorrow, yesterday, today, now]:
55780         Use tDAY_SHIFT in place of tDAY_UNIT.
55781         * tests/test-getdate.c: Add tests for now-disallowed countable
55782         dayshifts, e.g., "4 yesterday ago".
55783
55784 2008-09-29  Bruno Haible  <bruno@clisp.org>
55785
55786         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
55787         * tests/test-posix_spawn1.in.sh: Renamed from
55788         tests/test-posix_spawn.in.sh.
55789         * tests/test-posix_spawn2.c: New file.
55790         * tests/test-posix_spawn2.in.sh: New file.
55791         * modules/posix_spawnp-tests (Files): Update.
55792         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
55793
55794 2008-09-29  Bruno Haible  <bruno@clisp.org>
55795
55796         Propagate effects of putenv/setenv/unsetenv to child processes.
55797         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
55798         * lib/pipe.c (create_pipe): Likewise.
55799
55800 2008-09-29  Bruno Haible  <bruno@clisp.org>
55801
55802         Enable use of shell scripts as executables in mingw.
55803         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
55804         run the program as a shell script.
55805         * lib/pipe.c (create_pipe): Likewise.
55806         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
55807         resulting array.
55808
55809 2008-09-29  Eric Blake  <ebb9@byu.net>
55810
55811         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
55812
55813 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
55814
55815         * doc/posix-functions/accept.texi: Update mingw problems.
55816         * doc/posix-functions/bind.texi: Update mingw problems.
55817         * doc/posix-functions/close.texi: Update mingw problems.
55818         * doc/posix-functions/connect.texi: Update mingw problems.
55819         * doc/posix-functions/getpeername.texi: Update mingw problems.
55820         * doc/posix-functions/getsockname.texi: Update mingw problems.
55821         * doc/posix-functions/getsockopt.texi: Update mingw problems.
55822         * doc/posix-functions/ioctl.texi: Update mingw problems.
55823         * doc/posix-functions/listen.texi: Update mingw problems.
55824         * doc/posix-functions/recv.texi: Update mingw problems.
55825         * doc/posix-functions/recvfrom.texi: Update mingw problems.
55826         * doc/posix-functions/select.texi: Update mingw problems.
55827         * doc/posix-functions/send.texi: Update mingw problems.
55828         * doc/posix-functions/sendto.texi: Update mingw problems.
55829         * doc/posix-functions/setsockopt.texi: Update mingw problems.
55830         * doc/posix-functions/socket.texi: Update mingw problems.
55831
55832 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
55833             Bruno Haible  <bruno@clisp.org>
55834
55835         * lib/sys_select.in.h: Include sys/time.h.
55836         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
55837         * modules/sys_select: Depend on sys_time.
55838         * tests/test-sys_select.c: Test that sys/select.h defines struct
55839         timeval fully.
55840
55841 2008-09-29  Bruno Haible  <bruno@clisp.org>
55842
55843         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
55844         * lib/sys_select.in.h: Likewise.
55845
55846 2008-09-29  Bruno Haible  <bruno@clisp.org>
55847
55848         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
55849
55850 2008-09-29  Bruno Haible  <bruno@clisp.org>
55851
55852         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
55853         Set LIBSOCKET instead of augmenting LIBS.
55854         * modules/sockets (Link): New section.
55855         * modules/sockets-tests (test_sockets_LDADD): New variable.
55856         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
55857         * modules/poll-tests (test_poll_LDADD): New variable.
55858         * NEWS: Document the change.
55859
55860 2008-09-29  Bruno Haible  <bruno@clisp.org>
55861
55862         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
55863         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
55864         ARPA_INET_H directly.
55865         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55866
55867 2008-09-28  Bruno Haible  <bruno@clisp.org>
55868
55869         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
55870         from gl_HEADER_SYS_SOCKET.
55871         (gl_HEADER_SYS_SOCKET): Invoke it.
55872         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55873
55874 2008-09-28  Bruno Haible  <bruno@clisp.org>
55875
55876         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55877         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55878         Needed on OSF/1 4.0.
55879
55880 2008-09-28  Bruno Haible  <bruno@clisp.org>
55881
55882         Override open more carefully.
55883         * lib/open.c (orig_open): New function.
55884         (rpl_open): Use orig_open instead of open.
55885         * lib/fcntl.in.h: Add special invocation convention.
55886         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
55887         (gl_FUNC_OPEN): Invoke it.
55888
55889         Override freopen more carefully.
55890         * lib/freopen.c (orig_freopen): New function.
55891         (rpl_freopen): Use orig_freopen instead of freopen.
55892         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
55893         (gl_FUNC_FREOPEN): Invoke it.
55894
55895         Override fopen more carefully.
55896         * lib/fopen.c (orig_fopen): New function.
55897         (rpl_fopen): Use orig_fopen instead of fopen.
55898         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
55899         (gl_FUNC_FOPEN): Invoke it.
55900         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
55901
55902 2008-09-28  Bruno Haible  <bruno@clisp.org>
55903
55904         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
55905         SIGPIPE.
55906
55907 2008-09-28  Bruno Haible  <bruno@clisp.org>
55908
55909         * tests/test-sigaction.c (handler, main): Disable the check whether
55910         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
55911         glibc systems with LinuxThreads.
55912
55913 2008-09-28  Bruno Haible  <bruno@clisp.org>
55914
55915         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
55916
55917         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
55918         with AIX xlc.
55919         * lib/fcntl.in.h (open): Likewise.
55920         Reported by Rainer Tammer <tammer@tammer.net>.
55921
55922 2008-09-28  Bruno Haible  <bruno@clisp.org>
55923
55924         * modules/posix_spawnp-tests: New file.
55925         * tests/test-posix_spawn.c: New file.
55926         * tests/test-posix_spawn.in.sh: New file.
55927
55928         New module 'posix_spawnp'.
55929         * modules/posix_spawnp: New file.
55930         * lib/spawnp.c: New file, from GNU libc with modifications.
55931         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
55932
55933         New module 'posix_spawn'.
55934         * modules/posix_spawn: New file.
55935         * lib/spawn.c: New file, from GNU libc with modifications.
55936         * doc/posix-functions/posix_spawn.texi: Mention the new module.
55937
55938         New module 'posix_spawnattr_destroy'.
55939         * modules/posix_spawnattr_destroy: New file.
55940         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
55941         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
55942         module.
55943
55944         New module 'posix_spawnattr_setsigmask'.
55945         * modules/posix_spawnattr_setsigmask: New file.
55946         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
55947         modifications.
55948         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
55949         new module.
55950
55951         New module 'posix_spawnattr_getsigmask'.
55952         * modules/posix_spawnattr_getsigmask: New file.
55953         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
55954         modifications.
55955         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
55956         new module.
55957
55958         New module 'posix_spawnattr_setsigdefault'.
55959         * modules/posix_spawnattr_setsigdefault: New file.
55960         * lib/spawnattr_setdefault.c: New file, from GNU libc with
55961         modifications.
55962         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
55963         new module.
55964
55965         New module 'posix_spawnattr_getsigdefault'.
55966         * modules/posix_spawnattr_getsigdefault: New file.
55967         * lib/spawnattr_getdefault.c: New file, from GNU libc with
55968         modifications.
55969         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
55970         new module.
55971
55972         New module 'posix_spawnattr_setschedpolicy'.
55973         * modules/posix_spawnattr_setschedpolicy: New file.
55974         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
55975         modifications.
55976         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
55977         new module.
55978
55979         New module 'posix_spawnattr_getschedpolicy'.
55980         * modules/posix_spawnattr_getschedpolicy: New file.
55981         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
55982         modifications.
55983         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
55984         new module.
55985
55986         New module 'posix_spawnattr_setschedparam'.
55987         * modules/posix_spawnattr_setschedparam: New file.
55988         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
55989         modifications.
55990         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
55991         new module.
55992
55993         New module 'posix_spawnattr_getschedparam'.
55994         * modules/posix_spawnattr_getschedparam: New file.
55995         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
55996         modifications.
55997         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
55998         new module.
55999
56000         New module 'posix_spawnattr_setpgroup'.
56001         * modules/posix_spawnattr_setpgroup: New file.
56002         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56003         modifications.
56004         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56005         module.
56006
56007         New module 'posix_spawnattr_getpgroup'.
56008         * modules/posix_spawnattr_getpgroup: New file.
56009         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56010         modifications.
56011         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56012         module.
56013
56014         New module 'posix_spawnattr_setflags'.
56015         * modules/posix_spawnattr_setflags: New file.
56016         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56017         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56018         module.
56019
56020         New module 'posix_spawnattr_getflags'.
56021         * modules/posix_spawnattr_getflags: New file.
56022         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56023         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56024         module.
56025
56026         New module 'posix_spawnattr_init'.
56027         * modules/posix_spawnattr_init: New file.
56028         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56029         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56030         module.
56031
56032         New module 'posix_spawn_file_actions_destroy'.
56033         * modules/posix_spawn_file_actions_destroy: New file.
56034         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56035         modifications.
56036         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56037         the new module.
56038
56039         New module 'posix_spawn_file_actions_addopen'.
56040         * modules/posix_spawn_file_actions_addopen: New file.
56041         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56042         modifications.
56043         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56044         the new module.
56045
56046         New module 'posix_spawn_file_actions_adddup2'.
56047         * modules/posix_spawn_file_actions_adddup2: New file.
56048         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56049         modifications.
56050         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56051         the new module.
56052
56053         New module 'posix_spawn_file_actions_addclose'.
56054         * modules/posix_spawn_file_actions_addclose: New file.
56055         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56056         modifications.
56057         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56058         the new module.
56059
56060         New module 'posix_spawn_file_actions_init'.
56061         * modules/posix_spawn_file_actions_init: New file.
56062         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56063         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56064         new module.
56065
56066         New module 'posix_spawn-internal'.
56067         * modules/posix_spawn-internal: New file.
56068         * lib/spawn_int.h: New file, from GNU libc with modifications.
56069         * lib/spawni.c: New file, from GNU libc with modifications.
56070         * m4/posix_spawn.m4: New file.
56071
56072         New module 'spawn'.
56073         * modules/spawn: New file.
56074         * lib/spawn.in.h: New file, from GNU libc with modifications.
56075         * m4/spawn_h.m4: New file.
56076         * doc/posix-headers/spawn.texi: Mention the new module.
56077
56078 2008-09-28  Bruno Haible  <bruno@clisp.org>
56079
56080         * modules/sched-tests: New file.
56081         * tests/test-sched.c: New file.
56082
56083         New module 'sched'.
56084         * modules/sched: New file.
56085         * lib/sched.in.h: New file.
56086         * m4/sched_h.m4: New file.
56087         * doc/posix-headers/sched.texi: Mention the new module.
56088
56089 2008-09-27  Eric Blake  <ebb9@byu.net>
56090
56091         Fix previous patch, and tweak references to $0.
56092         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56093         (func_version, func_gnulib_dir): Don't call this program
56094         gnulib-tool.
56095         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56096         with using $0 in function.
56097         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56098         (func_fatal_error): Reuse the name the user invoked us with.
56099
56100 2008-09-27  Bruno Haible  <bruno@clisp.org>
56101
56102         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56103         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56104         (gl_ICONV_H): Not here.
56105         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56106         instead of assigning ICONV_H directly.
56107
56108         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56109         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56110         WCHAR_H directly.
56111
56112 2008-09-27  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56115         * modules/arpa_inet (Depends-on): Add link-warning.
56116         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56117         * modules/unistd (Makefile.am): Likewise.
56118
56119 2008-09-26  Bruno Haible  <bruno@clisp.org>
56120
56121         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56122         variables.
56123         (func_version): Essentially copied from gnulib-tool.
56124         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56125         func_readlink): Copied from gnulib-tool.
56126
56127 2008-09-26  Bruno Haible  <bruno@clisp.org>
56128
56129         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56130         invoking git-version-gen.
56131
56132 2008-09-26  Bruno Haible  <bruno@clisp.org>
56133
56134         * posix-modules: Update to directory names changed on 2008-01-19.
56135         Remove commas in output before splitting into words. No more need to
56136         avoid 'ftruncate' since 2007-02-19.
56137
56138 2008-09-26  Bruno Haible  <bruno@clisp.org>
56139
56140         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56141
56142 2008-09-26  Bruno Haible  <bruno@clisp.org>
56143
56144         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56145         * modules/fwriteerror (Depends-on): Add errno.
56146
56147 2008-09-26  Bruno Haible  <bruno@clisp.org>
56148
56149         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56150         * tests/test-vc-list-files-cvs.sh: Likewise.
56151
56152 2008-09-26  Bruno Haible  <bruno@clisp.org>
56153
56154         * doc/posix-headers/sys_resource.texi: Reorder items.
56155
56156 2008-09-26  Jim Meyering  <meyering@redhat.com>
56157
56158         fts: tweak inode comparison function
56159         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56160         inode numbers, as documented.
56161
56162         fts: sort dirent entries on inode number before traversing
56163         This avoids a quadratic, seek-related performance penalty when
56164         operating on a directory containing many entries (measurable at 10k;
56165         3.5 hours at 2 million entries with a cold cache) on certain types
56166         of file systems, including ext3 and ext4, but not tmpfs.
56167         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56168         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56169         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56170         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56171         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56172         (fts_build): Set the stat.st_ino member from D_INO.
56173         If it is likely to be useful, sort dirent entries on inode number.
56174
56175         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56176         and the struct statfs.f_type member.
56177         * modules/fts (Depends-on): Add d-ino.
56178
56179 2008-09-26  Bruno Haible  <bruno@clisp.org>
56180
56181         * modules/sigpipe-die (Depends-on): Add sigpipe.
56182
56183         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56184         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56185         and GNULIB_STDIO_H_SIGPIPE are set.
56186         * lib/stdio-write.c: New file.
56187         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56188         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56189         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56190         REPLACE_STDIO_WRITE_FUNCS.
56191         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56192         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56193         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56194         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56195         * modules/stdio (Files): Add lib/stdio-write.c.
56196         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56197         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56198         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56199         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56200         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56201         REPLACE_FPRINTF_POSIX.
56202         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56203         REPLACE_PRINTF_POSIX.
56204         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56205         REPLACE_VFPRINTF_POSIX.
56206         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56207         REPLACE_VPRINTF_POSIX.
56208         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56209         SIGPIPE issue.
56210         * doc/posix-functions/fputc.texi: Likewise.
56211         * doc/posix-functions/fputs.texi: Likewise.
56212         * doc/posix-functions/fwrite.texi: Likewise.
56213         * doc/posix-functions/printf.texi: Likewise.
56214         * doc/posix-functions/putc.texi: Likewise.
56215         * doc/posix-functions/putchar.texi: Likewise.
56216         * doc/posix-functions/puts.texi: Likewise.
56217         * doc/posix-functions/vfprintf.texi: Likewise.
56218         * doc/posix-functions/vprintf.texi: Likewise.
56219
56220         * modules/safe-write (Depends-on): Add write.
56221
56222         * modules/sigpipe-tests: New file.
56223         * tests/test-sigpipe.c: New file.
56224         * tests/test-sigpipe.sh: New file.
56225
56226         * modules/write: New file.
56227         * lib/unistd.in.h: Include <sys/types.h>.
56228         (write): New declaration.
56229         * lib/write.c: New file.
56230         * m4/write.m4: New file.
56231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56232         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56233         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56234         GNULIB_WRITE, REPLACE_WRITE.
56235         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56236         and the SIGPIPE issue.
56237
56238         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56239         (raise): New declaration.
56240         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56241         (ext_signal): New function.
56242         (rpl_raise): New function.
56243         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56244         GNULIB_SIGNAL_H_SIGPIPE.
56245         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56246         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56247
56248         * modules/sigpipe: New file.
56249         * m4/sigpipe.m4: New file.
56250
56251 2008-09-25  Derek Price  <derek@ximbiot.com>
56252             Bruno Haible  <bruno@clisp.org>
56253
56254         * gnulib-tool (func_import): Report all license incompatibilities, not
56255         just the first one.
56256
56257 2008-09-25  Bruno Haible  <bruno@clisp.org>
56258
56259         * gnulib-tool (func_import): When computing the edits, consider not
56260         only the Makefile.ams that exist but also those that will be generated.
56261
56262 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56263
56264         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56265         fixes gnulib-tool --test warning about duplicate dependency.
56266
56267 2008-09-25  Bruno Haible  <bruno@clisp.org>
56268
56269         * gnulib-tool: Don't ask the user to perform edits in the generated
56270         Makefile.ams.
56271         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56272         apply to the Makefile.am being generated.
56273         (func_emit_tests_Makefile_am): Execute edits that apply to the
56274         Makefile.am being generated.
56275         (func_import): Setup list of Makefile.am edits before emitting the
56276         Makefile.ams, not at the end.
56277         (func_create_testdir): Update.
56278         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56279
56280 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56281
56282         * gnulib-tool (func_import): Store the --tests-base option in the
56283         comment in gnulib-cache.m4.
56284
56285 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56286
56287         * NEWS: Document increased portability that sys_select now provides.
56288
56289         * lib/sys_select.in.h: Install select wrapper.
56290         * lib/sys_socket.in.h: Use more descriptive name when there is no
56291         select wrapper.
56292         * lib/winsock-select.c: New.
56293         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56294         Require gl_HEADER_SYS_SOCKET.
56295         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56296         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56297         * tests/test-sys_select.c: Add functional tests.
56298
56299 2008-09-24  Eric Blake  <ebb9@byu.net>
56300
56301         open, fopen: close fd leak in last patch
56302         * lib/open.c (rpl_open): Close fd before returning error.
56303         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56304         * doc/posix-functions/open.texi (open): Document that Irix also
56305         has the bug.
56306         * doc/posix-functions/fopen.texi (fopen): Likewise.
56307         Reported by Paolo Bonzini.
56308
56309 2008-09-24  Bruno Haible  <bruno@clisp.org>
56310
56311         Ensure that a filename ending in a slash cannot be used to access a
56312         non-directory.
56313         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56314         to check whether it's really a directory.
56315         * lib/fopen.c: Include fcntl.h, unistd.h.
56316         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56317         and fdopen().
56318         * modules/fopen (Depends-on): Add unistd.
56319         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56320         * tests/test-fopen.c (main): Likewise.
56321         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56322         * doc/posix-functions/fopen.texi: Likewise.
56323         Reported by Eric Blake.
56324
56325 2008-09-23  Eric Blake  <ebb9@byu.net>
56326
56327         c-stack: avoid compiler optimizations when provoking overflow
56328         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56329         recursion harder to optimize, to ensure a stack overflow occurs.
56330         * tests/test-c-stack.c (recurse): Likewise.
56331         Borrowed from libsigsegv.
56332
56333         c-stack: work around Irix sigaltstack bug
56334         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56335         whether sigaltstack uses wrong end of stack_t (copied in part from
56336         libsigsegv).
56337         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56338         Irix bug, without requiring an over-allocation.
56339         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56340         bug.
56341
56342         fopen: document mingw bug on directories
56343         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56344         not allowing a stream visiting a directory, even though reading
56345         from such a stream is not portable.
56346
56347 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56348
56349         * lib/poll.c: Rewrite.
56350         * modules/poll: Depend on alloca.
56351
56352 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56353
56354         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56355         instead define prototypes for a full set of wrappers.  Ensure
56356         that Cygwin does not use the compatibility code, which is only
56357         for MinGW.
56358         * lib/winsock.c: New.
56359         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56360         * modules/sys_socket: Add lib/winsock.c.
56361
56362         * modules/poll-tests: Add errno and perror.
56363         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56364
56365 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56366
56367         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56368
56369 2008-09-23  Bruno Haible  <bruno@clisp.org>
56370
56371         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56372         * doc/glibc-functions/*: Likewise.
56373
56374 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56375
56376         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56377         success.
56378
56379 2008-09-22  Eric Blake  <ebb9@byu.net>
56380             Bruno Haible  <bruno@clisp.org>
56381
56382         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56383         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56384         supply %A but mishandle pseudo-NaN.
56385         Reported by Simon Josefsson.
56386
56387 2008-09-21  Bruno Haible  <bruno@clisp.org>
56388
56389         * tests/test-lock.c (main): Tweak skip message.
56390         * tests/test-tls.c (main): Likewise.
56391
56392 2008-09-21  Bruno Haible  <bruno@clisp.org>
56393
56394         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56395         whether 'struct sigaction' has sa_sigaction here...
56396         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56397         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56398
56399 2008-09-21  Bruno Haible  <bruno@clisp.org>
56400
56401         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56402         section.
56403         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56404         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56405         the new section.
56406         (Support for obsolete systems lacking POSIX:2001): New section.
56407         (String handling <string.h>): Move strdup to the new section.
56408         Suggested by Simon Josefsson and Paolo Bonzini.
56409
56410 2008-09-21  Bruno Haible  <bruno@clisp.org>
56411
56412         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56413         exponents in %e and %g results on 'long double'. Needed for mingw's
56414         improved *printf functions.
56415         * tests/test-vasprintf-posix.c (test_function): Likewise.
56416         * tests/test-snprintf-posix.h (test_function): Likewise.
56417         * tests/test-sprintf-posix.h (test_function): Likewise.
56418         Reported by Eric Blake.
56419
56420 2008-09-21  Bruno Haible  <bruno@clisp.org>
56421
56422         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56423         * tests/test-sprintf-posix.h (test_function): Likewise.
56424
56425 2008-09-21  Bruno Haible  <bruno@clisp.org>
56426
56427         * modules/getpass (Depends-on): Add strdup-posix.
56428
56429         New module 'strdup-posix'.
56430         * modules/strdup-posix: New file.
56431         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56432         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56433         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56434         REPLACE_STRDUP.
56435         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56436         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56437         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56438         strdup-posix.
56439
56440         * modules/strdup (Depends-on): Remove malloc-posix.
56441
56442 2008-09-20  Bruno Haible  <bruno@clisp.org>
56443
56444         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56445         Wildenhues.
56446
56447 2008-09-20  Bruno Haible  <bruno@clisp.org>
56448
56449         Ensure that wint_t gets defined on IRIX 5.3.
56450         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56451         * lib/wctype.in.h (wint_t): Likewise.
56452         (__wctype_wint_t): Remove type.
56453         (isw*): Use wint_t instead of __wctype_wint_t.
56454         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56455         * modules/wchar (Files): Add m4/wint_t.m4.
56456         (Makefile.am): Substitute HAVE_WINT_T.
56457         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56458         * tests/test-wctype.c: Check that wint_t is defined.
56459         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56460         * doc/posix-headers/wctype.texi: Likewise.
56461         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56462
56463 2008-09-18  Bruno Haible  <bruno@clisp.org>
56464
56465         * gnulib-tool (func_exit): Update comment.
56466
56467 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56468
56469         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56470         assumes strdup exists and does not depend on strdup to return
56471         ENOMEM on out of memory conditions.
56472
56473 2008-09-18  Bruno Haible  <bruno@clisp.org>
56474
56475         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56476         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56477         digits for the exponent.
56478
56479 2008-09-18  Jim Meyering  <meyering@redhat.com>
56480             Bruno Haible  <bruno@clisp.org>
56481
56482         * lib/vasnprintf.c (decimal_point_char): Define also if
56483         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56484
56485 2008-09-16  Bruno Haible  <bruno@clisp.org>
56486         and Eric Blake  <ebb9@byu.net>
56487
56488         vasnprintf: support Irix 5.3
56489         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56490         that mishandle long double infinity.
56491         Reported by Tom G. Christensen.
56492
56493 2008-09-16  Bruno Haible  <bruno@clisp.org>
56494
56495         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56496         Solaris 9.
56497         * doc/glibc-functions/alphasort.texi: Likewise.
56498         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56499
56500 2008-09-16  Jim Meyering  <meyering@redhat.com>
56501
56502         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56503         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56504         a umask modification leak out of a subshell.  Otherwise, the
56505         opensolaris /bin/sh would be accepted and thus cause unwarranted
56506         failures in the coreutils test suite.
56507
56508 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56509
56510         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56511         to succeed.
56512
56513 2008-09-16  Jim Meyering  <meyering@redhat.com>
56514
56515         avoid spurious test failure when library is built without ACL support
56516         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56517         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56518         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56519         * tests/test-copy-acl.sh: Likewise.
56520
56521 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56522
56523         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56524         based on character occurrence counts.
56525
56526 2008-09-15  Eric Blake  <ebb9@byu.net>
56527
56528         tests: avoid some compiler warnings
56529         * tests/test-memchr.c (main): Pass NULL indirectly.
56530         * tests/test-closein.c (main): Avoid unused variable.
56531
56532 2008-09-15  Bruno Haible  <bruno@clisp.org>
56533
56534         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56535         are missing on OpenBSD 4.0 individually.
56536         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56537
56538 2008-09-15  Bruno Haible  <bruno@clisp.org>
56539
56540         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56541         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56542         * doc/posix-functions/perror.texi: Likewise.
56543         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56544         is missing.
56545         Reported by Eric Blake.
56546
56547         * lib/errno.in.h: Use replacement values >= 2000.
56548         Reported by Eric Blake.
56549
56550 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56551
56552         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56553         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56554         limit.
56555         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56556         compareseq was aborted.
56557
56558 2008-09-14  Bruno Haible  <bruno@clisp.org>
56559
56560         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56561         yvec_edit_count.
56562         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56563         (fstrcmp_bounded): Simplify result computation accordingly.
56564
56565 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56566
56567         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56568         (fstrcmp): Define in terms of fstrcmp_bounded.
56569         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56570         lower_bound argument.
56571         Return quickly if the result is certainly < lower_bound.
56572         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56573
56574 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56575
56576         * lib/diffseq.h (EARLY_ABORT): New macro.
56577         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56578         evaluates to true.
56579
56580 2008-09-14  Bruno Haible  <bruno@clisp.org>
56581
56582         * modules/perror-tests: New file.
56583         * tests/test-perror.sh: New file.
56584         * tests/test-perror.c: New file.
56585
56586         New module 'perror'.
56587         * lib/stdio.in.h (perror): New declaration.
56588         * lib/perror.c: New file.
56589         * m4/perror.m4: New file.
56590         * modules/perror: New file.
56591         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56592         * doc/posix-functions/perror.texi: Mention the perror module.
56593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56594         REPLACE_PERROR.
56595         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56596         REPLACE_PERROR.
56597
56598 2008-09-14  Bruno Haible  <bruno@clisp.org>
56599
56600         * modules/stdio (Makefile.am): Reorder to match the order in
56601         lib/stdio.in.h.
56602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56603
56604 2008-09-13  Bruno Haible  <bruno@clisp.org>
56605
56606         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56607
56608 2008-09-13  Bruno Haible  <bruno@clisp.org>
56609
56610         Extend strerror to cover the added errno values.
56611         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56612         (rpl_strerror): Provide error messages for the added errno values and
56613         for the WSA* values.
56614         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56615         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56616         strerror.
56617         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56618         * modules/strerror (Depends-on): Add errno.
56619         * doc/posix-functions/strerror.texi: Document the change.
56620         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56621         and EOVERFLOW.
56622
56623 2008-09-13  Bruno Haible  <bruno@clisp.org>
56624
56625         * modules/EOVERFLOW: Remove file.
56626         * m4/eoverflow.m4: Remove file.
56627         * modules/EOVERFLOW-tests: Remove file.
56628         * tests/test-EOVERFLOW.c: Remove file.
56629         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56630         * modules/ftell (Depends-on): Likewise.
56631         * modules/getdelim (Depends-on): Likewise.
56632         * modules/getugroups (Depends-on): Likewise.
56633         * modules/poll (Depends-on): Likewise.
56634         * modules/snprintf (Depends-on): Likewise.
56635         * modules/sprintf-posix (Depends-on): Likewise.
56636         * modules/vasnprintf (Depends-on): Likewise.
56637         * modules/vasprintf (Depends-on): Likewise.
56638         * modules/vfprintf-posix (Depends-on): Likewise.
56639         * modules/vsnprintf (Depends-on): Likewise.
56640         * modules/vsprintf-posix (Depends-on): Likewise.
56641         * modules/xvasprintf (Depends-on): Likewise.
56642         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56643         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56644         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56645         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56646         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56647         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56648         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56649         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56650         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56651         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56652         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56653         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56654         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56655         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56656         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56657         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56658         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56659         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56660         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56661         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56662         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56663         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56664         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56665         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56666         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56667         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56668         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56669         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56670         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56671         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56672         * MODULES.html.sh: Remove EOVERFLOW.
56673         * NEWS: Mention the change.
56674
56675 2008-09-13  Bruno Haible  <bruno@clisp.org>
56676
56677         * modules/errno-tests: New file.
56678         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56679
56680         * lib/errno.in.h: New file.
56681         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56682         * modules/errno: New file.
56683         * doc/posix-headers/errno.texi: Update documentation.
56684         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56685
56686 2008-09-13  Bruno Haible  <bruno@clisp.org>
56687
56688         * tests/test-poll.c: Use #if for native Windows, rather than testing
56689         __MSVCRT__.
56690
56691 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56692             Bruno Haible  <bruno@clisp.org>
56693
56694         * lib/glob.c: Don't include <pwd.h> on native Windows.
56695         (WINDOWS32): New macro.
56696         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56697
56698 2008-09-13  Bruno Haible  <bruno@clisp.org>
56699
56700         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56701         (ETIMEDOUT): Remove macro.
56702         (glthread_cond_timedwait_multithreaded): New declaration.
56703         (glthread_cond_timedwait): Use it.
56704         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56705         (glthread_cond_timedwait_multithreaded): New function.
56706
56707 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56708
56709         * modules/poll-tests: Do not check for io.h.
56710         * tests/test-poll.c: Check for __MSVCRT__ instead.
56711
56712 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56713
56714         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
56715         * modules/poll-tests: Add inet_pton, stdbool, sockets.
56716         * tests/test-poll.c: Use them.  Use _pipe on Windows.
56717
56718 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56719
56720         * modules/poll-tests: New.
56721         * tests/test-poll.c: New.
56722
56723 2008-09-12  Eric Blake  <ebb9@byu.net>
56724
56725         frexp: test for NetBSD failure on -0.0
56726         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
56727         not all, bugs from NetBSD 3.0 have been fixed.
56728         * doc/posix-functions/frexp.texi (frexp): Document bug.
56729         Reported by Thomas Klausner.
56730
56731         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
56732         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
56733         literal -0.0.
56734         Reported by Jonathan C. Patschke <jp@centtech.com>.
56735
56736 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56737
56738         * lib/glthread/cond.h: Use dummy implementation also if
56739         USE_WIN32_THREADS.
56740
56741 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56742
56743         * modules/fnmatch-posix (License): Change to LGPLv2+.
56744         * modules/fnmatch-gnu (License): Likewise.
56745
56746 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56747
56748         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
56749
56750 2008-09-11  Jim Meyering  <meyering@redhat.com>
56751
56752         * users.txt: Add gtk-vnc.
56753
56754 2008-09-08  Simon Josefsson  <simon@josefsson.org>
56755
56756         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
56757         rotate amounts.
56758
56759         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
56760         required for 16-bit and 8-bit rotates.
56761         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
56762         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
56763         UINT8_MAX instead of hard-coded constants.
56764         Suggested by Paul Eggert.
56765
56766 2008-09-07  Bruno Haible  <bruno@clisp.org>
56767
56768         * tests/test-striconveh.c (main): Check behaviour when converting from
56769         UTF-7.
56770
56771         Make striconveh work better with stateful encodings.
56772         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
56773         that iconv does not increment the inptr when returning -1/EINVAL.
56774
56775 2008-09-07  Bruno Haible  <bruno@clisp.org>
56776
56777         * build-aux/config.rpath: Update according to libtool-2.2.6.
56778         * build-aux/config.libpath: Likewise.
56779
56780 2008-09-06  Bruno Haible  <bruno@clisp.org>
56781
56782         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
56783         * lib/freadptr.c (freadptr): Likewise.
56784         * lib/freadseek.c (freadptrinc): Likewise.
56785         Reported by Simon Josefsson.
56786
56787 2008-09-06  Bruno Haible  <bruno@clisp.org>
56788
56789         * modules/freadptr (License): Change to LGPLv2+.
56790         * modules/freadseek (License): Likewise.
56791         Suggested by Eric Blake.
56792
56793         * modules/memchr2 (License): Change to LGPLv2+.
56794         Approved by Eric Blake.
56795
56796 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56797             Bruno Haible  <bruno@clisp.org>
56798
56799         Make gnulib-tool work with native 'sed' on AIX.
56800         * gnulib-tool (sed_noop): New variable.
56801         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
56802         func_add_or_update, func_create_testdir): Use it to initialize sed
56803         script variables.
56804         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56805
56806 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
56807             Bruno Haible  <bruno@clisp.org>
56808
56809         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
56810         also works after #include directives.
56811
56812 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
56813
56814         getdate.y: reject an out-of-range timezone value
56815         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
56816         the range [-24...+24].  When specified with only one or two digits,
56817         * tests/test-getdate.c: Tests for the fix.
56818         * doc/getdate.texi: Document this change.
56819
56820 2008-09-03  Bruno Haible  <bruno@clisp.org>
56821
56822         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
56823
56824 2008-09-02  Simon Josefsson  <simon@josefsson.org>
56825
56826         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
56827         <bruce.korb@gmail.com> with ideas from Ben Pfaff
56828         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
56829         Blake <ebb9@byu.net>.
56830
56831         * tests/test-bitrotate.c: Add more test vectors.
56832
56833 2008-09-02  Eric Blake  <ebb9@byu.net>
56834
56835         vasnprintf-posix: handle large precision via %.*d
56836         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
56837         when handling it ourselves.
56838         * tests/test-vasnprintf-posix.c (test_function): Add test.
56839         * tests/test-snprintf-posix.h (test_function): Likewise.
56840         * tests/test-sprintf-posix.h (test_function): Likewise.
56841         * tests/test-vasprintf-posix.c (test_function): Likewise.
56842         Reported by Alain Guibert.
56843
56844 2008-09-01  Eric Blake  <ebb9@byu.net>
56845
56846         c-stack: make configure-time check more robust
56847         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
56848         successful sigaction call.
56849         Reported by Tom G. Christensen.
56850
56851 2008-09-01  Bruno Haible  <bruno@clisp.org>
56852
56853         New module 'findprog-lgpl'.
56854         * modules/findprog-lgpl: New file.
56855         * lib/findprog-lgpl.c: New file.
56856         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
56857         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
56858         to decide whether to use strdup or xstrdup, concatenated_filename or
56859         xconcatenated_filename.
56860
56861 2008-09-01  Bruno Haible  <bruno@clisp.org>
56862
56863         Split module 'concat-filename' into 'concat-filename' (LGPL) and
56864         'xconcat-filename' (GPL).
56865         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
56866         (License): Change to LGPLv2+.
56867         * modules/xconcat-filename: New file.
56868         * lib/concat-filename.h (concatenated_filename): Change specification.
56869         (xconcatenated_filename): New declaration.
56870         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
56871         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
56872         memory situations.
56873         * lib/xconcat-filename.c: New file.
56874         * NEWS: Mention the change.
56875         * lib/findprog.c: Include concat-filename.h, not filename.h.
56876         (find_in_path): Use xconcatenated_filename instead of
56877         concatenated_filename.
56878         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56879         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56880         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56881         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56882         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56883         instead of concatenated_filename.
56884         * lib/javaexec.c: Include concat-filename.h, not filename.h.
56885         (execute_java_class): Use xconcatenated_filename instead of
56886         concatenated_filename.
56887         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
56888         * modules/javacomp (Depends-on): Likewise.
56889         * modules/javaexec (Depends-on): Likewise.
56890
56891 2008-09-01  Bruno Haible  <bruno@clisp.org>
56892
56893         Split module 'filename' into 'filename' and 'concat-filename'.
56894         * modules/filename: Keep only lib/filename.h.
56895         (License): Change to LGPLv2+.
56896         * modules/concat-filename: New file, extracted from modules/filename.
56897         * lib/filename.h (concatenated_filename): Remove declaration.
56898         * lib/concat-filename.h: New file, extracted from lib/filename.h.
56899         * lib/concat-filename.c: Include concat-filename.h.
56900         * NEWS: Mention the change.
56901
56902 2008-09-01  Simon Josefsson  <simon@josefsson.org>
56903
56904         * lib/bitrotate.h (rotl8, rotr8): Add.
56905
56906         * modules/bitrotate (configure.ac): Need
56907         AC_REQUIRE([AC_C_INLINE]).
56908         (Description): Mention stdint.h.  Reported by Bruno Haible
56909         <bruno@clisp.org>.
56910
56911         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
56912         Paolo Bonzini <bonzini@gnu.org>.
56913
56914 2008-08-31  Bruno Haible  <bruno@clisp.org>
56915
56916         Assume Solaris specific bi-arch conventions on Solaris systems.
56917         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
56918         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
56919         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
56920         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
56921         like acl_libdirstem.
56922         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
56923         acl_libdirstem.
56924         * NEWS: Mention the change.
56925         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
56926
56927 2008-08-31  Jim Meyering  <meyering@redhat.com>
56928
56929         * lib/strftime.h: Add comments describing the two added arguments.
56930
56931         remove duplicate #include directives
56932         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
56933         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
56934
56935 2008-08-31  Bruno Haible  <bruno@clisp.org>
56936
56937         New module 'sigpipe-die'.
56938         * modules/sigpipe-die: New file.
56939         * lib/sigpipe-die.h: New file.
56940         * lib/sigpipe-die.c: New file.
56941         * MODULES.html.sh (Signal handling): Add sigpipe-die.
56942
56943 2008-08-31  Bruno Haible  <bruno@clisp.org>
56944
56945         Don't override previously installed signal handlers.
56946         * lib/fatal-signal.c (saved_sigactions): New variable.
56947         (uninstall_handlers): Reset the signal to the saved handler, not
56948         to SIG_DFL (except when ignored).
56949         (install_handlers): Save the previous handlers.
56950
56951 2008-08-30  Bruno Haible  <bruno@clisp.org>
56952
56953         * gnulib-tool (func_reset_sigpipe): New function.
56954         (func_get_automake_snippet, func_modules_transitive_closure,
56955         func_import): Invoke it before a join command that reads from stdin,
56956         to avoid "echo: write error: Broken pipe" error messages on stderr.
56957         Reported by Sam Steingold <sds@gnu.org>.
56958
56959 2008-08-30  Bruno Haible  <bruno@clisp.org>
56960
56961         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
56962         Code copied from m4/open.m4.
56963         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
56964         access and the filename ends in a slash. Code copied from lib/open.c.
56965         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
56966         * tests/test-fopen.c (main): Check against bug with trailing slash.
56967
56968 2008-08-29  Bruno Haible  <bruno@clisp.org>
56969
56970         Avoid some "gcc -pedantic" warnings.
56971         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
56972         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
56973         * lib/dirent.in.h: Likewise.
56974         * lib/fcntl.in.h: Likewise.
56975         * lib/float.in.h: Likewise.
56976         * lib/iconv.in.h: Likewise.
56977         * lib/inttypes.in.h: Likewise.
56978         * lib/locale.in.h: Likewise.
56979         * lib/math.in.h: Likewise.
56980         * lib/netinet_in.in.h: Likewise.
56981         * lib/search.in.h: Likewise.
56982         * lib/signal.in.h: Likewise.
56983         * lib/stdarg.in.h: Likewise.
56984         * lib/stdint.in.h: Likewise.
56985         * lib/stdio.in.h: Likewise.
56986         * lib/stdlib.in.h: Likewise.
56987         * lib/string.in.h: Likewise.
56988         * lib/strings.in.h: Likewise.
56989         * lib/sys_select.in.h: Likewise.
56990         * lib/sys_socket.in.h: Likewise.
56991         * lib/sys_stat.in.h: Likewise.
56992         * lib/sys_time.in.h: Likewise.
56993         * lib/sysexits.in.h: Likewise.
56994         * lib/time.in.h: Likewise.
56995         * lib/unistd.in.h: Likewise.
56996         * lib/wchar.in.h: Likewise.
56997         * lib/wctype.in.h: Likewise.
56998         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
56999         * modules/fchdir (Makefile.am): Likewise.
57000         * modules/fcntl (Makefile.am): Likewise.
57001         * modules/float (Makefile.am): Likewise.
57002         * modules/iconv_open (Makefile.am): Likewise.
57003         * modules/inttypes (Makefile.am): Likewise.
57004         * modules/locale (Makefile.am): Likewise.
57005         * modules/math (Makefile.am): Likewise.
57006         * modules/netinet_in (Makefile.am): Likewise.
57007         * modules/search (Makefile.am): Likewise.
57008         * modules/signal (Makefile.am): Likewise.
57009         * modules/stdarg (Makefile.am): Likewise.
57010         * modules/stdint (Makefile.am): Likewise.
57011         * modules/stdio (Makefile.am): Likewise.
57012         * modules/stdlib (Makefile.am): Likewise.
57013         * modules/string (Makefile.am): Likewise.
57014         * modules/strings (Makefile.am): Likewise.
57015         * modules/sys_select (Makefile.am): Likewise.
57016         * modules/sys_socket (Makefile.am): Likewise.
57017         * modules/sys_stat (Makefile.am): Likewise.
57018         * modules/sys_time (Makefile.am): Likewise.
57019         * modules/sysexits (Makefile.am): Likewise.
57020         * modules/time (Makefile.am): Likewise.
57021         * modules/unistd (Makefile.am): Likewise.
57022         * modules/wchar (Makefile.am): Likewise.
57023         * modules/wctype (Makefile.am): Likewise.
57024         Reported by Reuben Thomas <rrt@sc3d.org>.
57025
57026 2008-08-29  Bruno Haible  <bruno@clisp.org>
57027
57028         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57029         any more.
57030
57031 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57032
57033         * MODULES.html.sh (Misc): Add bitrotate.
57034
57035         * modules/bitrotate: New file.
57036
57037         * lib/bitrotate.h: New file.
57038
57039         * modules/bitrotate-tests: New file.
57040
57041         * tests/test-bitrotate.c: New file.
57042
57043         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57044         on the bitrotate module.
57045
57046         * lib/arctwo.c: Use new bitrotate module.
57047
57048 2008-08-29  Jim Meyering  <meyering@redhat.com>
57049
57050         bootstrap: merge changes from coreutils
57051         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57052         of copied files.  Remove a kludge, now that this is fixed.
57053         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57054         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57055         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57056
57057 2008-08-29  Bruno Haible  <bruno@clisp.org>
57058
57059         * MODULES.html.sh: Remove --cvs-urls option.
57060
57061 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57062
57063         maint.mk: adjust to file name change
57064         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57065
57066 2008-08-28  Jim Meyering  <meyering@redhat.com>
57067
57068         * modules/getndelim2 (License): Relicense to LGPLv2+.
57069         Approved by Richard Stallman for the version of 1995, and by
57070         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57071
57072 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57073
57074         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57075         dummy if one is not available.  Do not touch them if
57076         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57077         (getc_maybe_unlocked): New.
57078         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57079
57080 2008-08-26  Eric Blake  <ebb9@byu.net>
57081
57082         doc/INSTALL: resync from autoconf
57083         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57084         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57085         moving...
57086         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57087         * INSTALL: Regenerate.
57088         * INSTALL.ISO: New file.
57089         * INSTALL.UTF-8: Likewise.
57090
57091 2008-08-26  Jim Meyering  <meyering@redhat.com>
57092
57093         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57094         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57095         these definitions conditional, so that they may be overridden, too.
57096
57097 2008-08-26  Bruno Haible  <bruno@clisp.org>
57098
57099         Generate INSTALL file variants with prettier quotes.
57100         * doc/Makefile (INSTALL_PRELUDE): New macro.
57101         (INSTALL): Use it.
57102         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57103
57104 2008-08-26  Bruno Haible  <bruno@clisp.org>
57105
57106         Run makeinfo in an English locale.
57107         * doc/Makefile (MAKEINFO): New variable.
57108
57109 2008-08-26  Bruno Haible  <bruno@clisp.org>
57110
57111         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57112         Suggested by Eric Blake.
57113
57114 2008-08-25  Bruno Haible  <bruno@clisp.org>
57115
57116         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57117
57118 2008-08-25  Eric Blake  <ebb9@byu.net>
57119
57120         c-stack: test that stack overflow can be caught
57121         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57122         that platform allows handling stack overflow; at least OS/2 EMX
57123         has sigaltstack, but crashes before transferring control to
57124         handler on stack overflow.
57125         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57126         check for HAVE_STACK_OVERFLOW_HANDLING.
57127         Reported by Elbert Pol.
57128
57129 2008-08-25  Bruno Haible  <bruno@clisp.org>
57130
57131         * doc/posix-functions/strftime.texi: Fix description of strftime
57132         module.
57133
57134 2008-08-24  Bruno Haible  <bruno@clisp.org>
57135
57136         * tests/uniwidth/test-uc_width2.c: New file.
57137         * tests/uniwidth/test-uc_width2.sh: New file.
57138         * modules/uniwidth/width-tests (Files): Add the new files.
57139         (TESTS): Add uniwidth/test-uc_width2.sh.
57140         (TESTS_ENVIRONMENT): New variable.
57141         (check_PROGRAMS): Add test-uc_width2.
57142         (test_uc_width2_SOURCES): New variable.
57143
57144         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57145         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57146         not 0x00AB.
57147         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57148
57149 2008-08-22  Eric Blake  <ebb9@byu.net>
57150
57151         test-lock, test-tls: mention why a test is skipped
57152         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57153         skipped.
57154         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57155
57156         count-one-bits: relax license
57157         * modules/count-one-bits (License): Relicense to LGPLv2+.
57158         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57159
57160 2008-08-22  Andreas Schwab  <schwab@suse.de>
57161
57162         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57163         Remove spurious space in assignment.
57164
57165 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57166
57167         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57168         Paul Eggert <eggert@CS.UCLA.EDU>.
57169
57170 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57171
57172         * modules/gettext: Add m4/threadlib.m4.
57173
57174 2008-08-19  Eric Blake  <ebb9@byu.net>
57175
57176         test-c-stack: fix compilation failure on FreeBSD 5.0
57177         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57178         headers before <sys/resource.h>.
57179         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57180         the bug.
57181         Reported by Nelson H. F. Beebe.
57182
57183         strverscmp: migrate from "strverscmp.h" to <string.h>
57184         * modules/string (Makefile.am): Add new hooks.
57185         * modules/strverscmp (Files): Remove strverscmp.h.
57186         (Depends-on): Add string.
57187         (configure.ac): Add indicator.
57188         (Include): Mention new header.
57189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57190         defaults.
57191         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57192         results.
57193         * lib/strverscmp.h: Delete.
57194         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57195         * tests/test-strverscmp.c (includes): Adjust client.
57196         * lib/check-version.c (includes): Likewise.
57197         * NEWS: Document the change.
57198
57199         strverscmp: add unit test
57200         * modules/strverscmp-tests: New file.
57201         * tests/test-strverscmp.c: Likewise.
57202
57203 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57204
57205         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57206         regarding Windows crypto stuff, from Mono.
57207
57208 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57209
57210         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57211         if present, for intel RND.  Return error on failures.
57212
57213 2008-08-18  Ben Pfaff  <blp@gnu.org>
57214
57215         gitlog-to-changelog: give better diagnostic for failed pipe-open
57216         * build-aux/gitlog-to-changelog: Improve error message: suggest
57217         that the version of Git may be too old.
57218
57219 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57220
57221         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57222         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57223
57224 2008-08-18  Bruno Haible  <bruno@clisp.org>
57225
57226         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57227         pthread_in_use().
57228
57229 2008-08-18  Bruno Haible  <bruno@clisp.org>
57230
57231         * lib/glthread/threadlib.c: Include <pthread.h>.
57232
57233 2008-08-18  Bruno Haible  <bruno@clisp.org>
57234
57235         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57236         glthread_recursive_lock_* macros.
57237         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57238         Fix syntax error.
57239
57240 2008-08-18  Bruno Haible  <bruno@clisp.org>
57241
57242         * lib/glthread/thread.c: Avoid forcing a context switch right after
57243         thread creation.
57244
57245 2008-08-17  Bruno Haible  <bruno@clisp.org>
57246
57247         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57248         * lib/glthread/thread.h: Provide Win32 specific implementation.
57249         * modules/thread (Files): Add lib/glthread/thread.c.
57250         (Depends-on): Add lock.
57251         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57252
57253 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57254
57255         New module 'yield'.
57256         * modules/yield: New file.
57257         * lib/glthread/yield.h: New file.
57258         * m4/yield.m4: New file.
57259         * MODULES.html.sh (Multithreading): Add yield.
57260
57261 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57262
57263         New module 'thread'.
57264         * modules/thread: New file.
57265         * lib/glthread/thread.h: New file.
57266         * m4/thread.m4: New file.
57267         * MODULES.html.sh (Multithreading): Add thread.
57268
57269 2008-08-17  Bruno Haible  <bruno@clisp.org>
57270
57271         * lib/glthread/lock.h: Include <stdlib.h> always.
57272         * lib/glthread/tls.h: Likewise.
57273         * lib/glthread/cond.h: Likewise.
57274
57275 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57276
57277         New module 'cond'.
57278         * modules/cond: New file.
57279         * lib/glthread/cond.h: New file.
57280         * lib/glthread/cond.c: New file.
57281         * m4/cond.m4: New file.
57282         * MODULES.html.sh (Multithreading): Add cond.
57283
57284 2008-08-16  Eric Blake  <ebb9@byu.net>
57285
57286         c-stack: fix regression on Irix 5.3 from 2008-06-21
57287         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57288         sa_sigaction...
57289         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57290         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57291         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57292         * modules/signal (Makefile.am): Use the value.
57293         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57294         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57295         * doc/posix-headers/signal.texi (signal.h): Document this
57296         portability issue.
57297         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57298         Reported by Tom G. Christensen.
57299
57300 2008-08-17  Bruno Haible  <bruno@clisp.org>
57301
57302         New module 'threadlib'.
57303         * modules/threadlib: New file.
57304         * lib/glthread/threadlib.c: New file, extracted from
57305         lib/glthread/lock.c.
57306         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57307         functions.
57308         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57309         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57310         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57311         macros.
57312         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57313         (gl_DISABLE_THREADS): Remove macro.
57314         * modules/lock (Files): Remove build-aux/config.rpath.
57315         (Depends-on): Remove havelib. Add threadlib.
57316         (configure.ac-early): Remove section.
57317         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57318         * modules/tls (Depends-on): Remove lock. Add threadlib.
57319         (Link): New section, copied from threadlib.
57320         * MODULES.html.sh (Multithreading): Add threadlib.
57321
57322 2008-08-14  Bruno Haible  <bruno@clisp.org>
57323
57324         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57325         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57326         glthread_rwlock_unlock, glthread_rwlock_destroy,
57327         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57328         glthread_recursive_lock_destroy): Define as macros always.
57329         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57330         glthread_lock_lock.
57331         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57332         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57333         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57334         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57335         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57336         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57337         (glthread_recursive_lock_lock_func): Renamed from
57338         glthread_recursive_lock_lock.
57339         (glthread_recursive_lock_unlock_func): Renamed from
57340         glthread_recursive_lock_unlock.
57341         (glthread_recursive_lock_destroy_func): Renamed from
57342         glthread_recursive_lock_destroy.
57343
57344 2008-08-14  Bruno Haible  <bruno@clisp.org>
57345
57346         * lib/glthread/lock.h: Renamed from lib/lock.h.
57347         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57348         * lib/glthread/tls.h: Renamed from lib/tls.h.
57349         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57350         * lib/fstrcmp.c: Update includes.
57351         * lib/strsignal.c: Update includes.
57352         * modules/lock (Files, Makefile.am): Update.
57353         (Include): Change to "glthread/lock.h".
57354         * modules/tls (Files, Makefile.am): Update.
57355         (Include): Change to "glthread/tls.h".
57356         * tests/test-lock.c: Update includes.
57357         * tests/test-tls.c: Update includes.
57358         * NEWS: Mention the renamed header files.
57359
57360 2008-08-11  Jim Meyering  <meyering@redhat.com>
57361
57362         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57363
57364 2008-08-11  Eric Blake  <ebb9@byu.net>
57365
57366         test-c-stack: avoid C99-ism
57367         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57368         before statement.
57369         Reported by Alain Guibert.
57370
57371 2008-08-10  Jim Meyering  <meyering@redhat.com>
57372
57373         ensure that return value of uinttostr et al are not ignored
57374         * lib/inttostr.h (__GNUC_PREREQ): Define.
57375         (__attribute_warn_unused_result__): Define.
57376         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57377
57378 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57379
57380         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57381         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57382
57383 2008-08-07  Jim Meyering  <meyering@redhat.com>
57384
57385         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57386
57387         * modules/mkstemp (License): Relicense under LGPLv2+.
57388         * modules/tempname (License): Likewise.
57389
57390 2008-08-06  Bruno Haible  <bruno@clisp.org>
57391
57392         * lib/poll.c (poll): Further micro-optimization.
57393
57394 2008-08-06  Jim Meyering  <meyering@redhat.com>
57395
57396         inet_pton.c: use locale-independent tolower
57397         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57398         (inet_pton6): Use c_tolower rather than tolower.
57399         * modules/inet_pton (Depends-on): Add c-ctype.
57400
57401 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57402
57403         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57404         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57405
57406 2008-08-06  Jim Meyering  <meyering@redhat.com>
57407
57408         * modules/inet_pton (License): Relicense under LGPLv2+.
57409
57410 2008-08-03  Bruno Haible  <bruno@clisp.org>
57411
57412         Additional non-aborting API for lock and tls.
57413         * lib/lock.h: Include <errno.h>.
57414         (glthread_lock_init): New macro/function.
57415         (gl_lock_init): Define as wrapper around glthread_lock_init.
57416         (glthread_lock_lock): New macro/function.
57417         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57418         (glthread_lock_unlock): New macro/function.
57419         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57420         (glthread_lock_destroy): New macro/function.
57421         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57422         (glthread_rwlock_init): New macro/function.
57423         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57424         (glthread_rwlock_rdlock): New macro/function.
57425         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57426         (glthread_rwlock_wrlock): New macro/function.
57427         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57428         (glthread_rwlock_unlock): New macro/function.
57429         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57430         (glthread_rwlock_destroy): New macro/function.
57431         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57432         (glthread_recursive_lock_init): New macro/function.
57433         (gl_recursive_lock_init): Define as wrapper around
57434         glthread_recursive_lock_init.
57435         (glthread_recursive_lock_lock): New macro/function.
57436         (gl_recursive_lock_lock): Define as wrapper around
57437         glthread_recursive_lock_lock.
57438         (glthread_recursive_lock_unlock): New macro/function.
57439         (gl_recursive_lock_unlock): Define as wrapper around
57440         glthread_recursive_lock_unlock.
57441         (glthread_recursive_lock_destroy): New macro/function.
57442         (gl_recursive_lock_destroy): Define as wrapper around
57443         glthread_recursive_lock_destroy.
57444         (glthread_once): New macro/function.
57445         (gl_once): Define as wrapper around glthread_once.
57446         Update function declarations.
57447         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57448         glthread_rwlock_init. Return error code.
57449         (glthread_rwlock_rdlock_multithreaded): Renamed from
57450         glthread_rwlock_rdlock. Return error code.
57451         (glthread_rwlock_wrlock_multithreaded): Renamed from
57452         glthread_rwlock_wrlock. Return error code.
57453         (glthread_rwlock_unlock_multithreaded): Renamed from
57454         glthread_rwlock_unlock. Return error code.
57455         (glthread_rwlock_destroy_multithreaded): Renamed from
57456         glthread_rwlock_destroy. Return error code.
57457         (glthread_recursive_lock_init_multithreaded): Renamed from
57458         glthread_recursive_lock_init. Return error code.
57459         (glthread_recursive_lock_lock_multithreaded): Renamed from
57460         glthread_recursive_lock_lock. Return error code.
57461         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57462         glthread_recursive_lock_unlock. Return error code.
57463         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57464         glthread_recursive_lock_destroy. Return error code.
57465         (glthread_once_call): Make static.
57466         (glthread_once_multithreaded): Renamed from glthread_once.
57467         * lib/tls.h: Include <errno.h>.
57468         (glthread_tls_key_init): New macro/function.
57469         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57470         (glthread_tls_set): New macro/function.
57471         (gl_tls_set): Define as wrapper around glthread_tls_set.
57472         (glthread_tls_key_destroy): New macro/function.
57473         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57474         Update function declarations.
57475         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57476         glthread_tls_get.
57477         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57478
57479 2008-08-04  Eric Blake  <ebb9@byu.net>
57480
57481         gnumakefile: use space, not TAB, outside of targets
57482         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57483
57484 2008-08-02  Jim Meyering  <meyering@redhat.com>
57485
57486         getdate.y: avoid locale-dependent date parsing failure
57487         In Turkish locales, getdate would fail to recognize keywords
57488         containing a lowercase "i".  The solution is not to rely on
57489         locale-sensitive case-conversion.
57490         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57491         (lookup_word): Use c_toupper in place of toupper.
57492         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57493         Reported by Vefa Bicakci <bicave@superonline.com> in
57494         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57495         * modules/getdate (Depends-on): Add c-ctype.
57496
57497 2008-08-02  Bruno Haible  <bruno@clisp.org>
57498
57499         * gnulib-tool (func_import): When updating or creating a .gitignore
57500         file, prepend each added line with a slash, and ignore leading slashes
57501         from the existing lines.
57502         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57503
57504 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57505
57506         Portability fix for GNU make 3.79.1.
57507         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57508         versions do not understand.
57509
57510 2008-08-01  Bruno Haible  <bruno@clisp.org>
57511
57512         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57513         * tests/test-isnanf.h (zero): New variable.
57514         (main): Avoid literal -0.0f.
57515         * tests/test-isnand.h (zero): New variable.
57516         (main): Avoid literal -0.0.
57517         * tests/test-isnanl.h (zero): New variable.
57518         (main): Avoid literal -0.0L.
57519         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57520         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57521         -0.0, -0.0L.
57522         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57523         (test_signbitd): Avoid literal -0.0.
57524         (test_signbitl): Avoid literal -0.0L.
57525         * tests/test-ceilf1.c (zero): New variable.
57526         (main): Avoid literal -0.0f.
57527         * tests/test-ceill.c (zero): New variable.
57528         (main): Avoid literal -0.0L.
57529         * tests/test-floorf1.c (zero): New variable.
57530         (main): Avoid literal -0.0f.
57531         * tests/test-floorl.c (zero): New variable.
57532         (main): Avoid literal -0.0L.
57533         * tests/test-roundf1.c (zero): New variable.
57534         (main): Avoid literal -0.0f.
57535         * tests/test-round1.c (zero): New variable.
57536         (main): Avoid literal -0.0.
57537         * tests/test-roundl.c (zero): New variable.
57538         (main): Avoid literal -0.0L.
57539         * tests/test-truncf1.c (zero): New variable.
57540         (main): Avoid literal -0.0f.
57541         * tests/test-trunc1.c (zero): New variable.
57542         (main): Avoid literal -0.0.
57543         * tests/test-truncl.c (zero): New variable.
57544         (main): Avoid literal -0.0L.
57545         * tests/test-frexp.c (zero): New variable.
57546         (main): Avoid literal -0.0.
57547         * tests/test-frexpl.c (zero): New variable.
57548         (main): Avoid literal -0.0L.
57549         * tests/test-ldexpl.c (zero): New variable.
57550         (main): Avoid literal -0.0L.
57551         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57552         (zerod, zerol): New variables.
57553         (test_function): Avoid literals -0.0, -0.0L.
57554         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57555         (zerod, zerol): New variables.
57556         (test_function): Avoid literals -0.0, -0.0L.
57557         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57558         (zerod, zerol): New variables.
57559         (test_function): Avoid literals -0.0, -0.0L.
57560         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57561         (zerod, zerol): New variables.
57562         (test_function): Avoid literals -0.0, -0.0L.
57563         * tests/test-strtod.c (zero): New variable.
57564         (main): Avoid literal -0.0.
57565         Reported by Jonathan C. Patschke <jp@centtech.com>.
57566
57567 2008-07-31  Jim Meyering  <meyering@redhat.com>
57568
57569         sha256.h: correct definition of SHA224_DIGEST_SIZE
57570         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57571         Reported by Paulie Pena IV <paulie4@gmail.com>.
57572         Define as 224 / 8, rather than as a literal.
57573         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57574         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57575         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57576
57577 2008-07-31  Bruno Haible  <bruno@clisp.org>
57578
57579         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57580         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57581         Reported by Jonathan Patschke <jp@centtech.com>.
57582
57583 2008-07-31  Bruno Haible  <bruno@clisp.org>
57584
57585         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57586         Reported by Paolo Bonzini <bonzini@gnu.org>.
57587
57588 2008-07-30  Eric Blake  <ebb9@byu.net>
57589
57590         test-strtod: allow compilation without -lm
57591         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57592         Reported by Dennis Clarke <blastwave@gmail.com>.
57593
57594 2008-07-28  Jim Meyering  <meyering@redhat.com>
57595
57596         bootstrap: work also when there are no .po files in po/
57597         * build-aux/bootstrap (update_po_files): Complete the change
57598         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57599
57600 2008-07-27  Jim Meyering  <meyering@redhat.com>
57601
57602         * users.txt: Add zile.
57603
57604 2008-07-26  Ben Pfaff  <blp@gnu.org>
57605
57606         Add missing dependencies on new m4/exponent[fdl].m4 files.
57607         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57608         * modules/isnand-nolibm: Add m4/exponentd.m4.
57609         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57610         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57611         m4/isnan[fdl].m4, because the macros actually used moved.
57612         Reported by Jim Meyering.
57613
57614 2008-07-14  Ben Pfaff  <blp@gnu.org>
57615
57616         Add isinf module.
57617         * lib/isinf.c: New file.
57618         * lib/math.in.h: Define isinf macro if we have decided to replace
57619         it.
57620         * m4/isinf.m4: New file.
57621         * m4/math_h.m4: Initialize and substitute variables for isinf
57622         module.
57623         * modules/isinf: New file.
57624         * modules/isinf-tests: New file.
57625         * modules/math: Add substitutions for new module.
57626         * tests/test-isinf.c: New file.
57627         * doc/posix-functions/isinf.texi: Mention new module.
57628         * MODULES.html.sh: Mention new module.
57629
57630 2008-07-14  Ben Pfaff  <blp@gnu.org>
57631
57632         Factor out some macros for use by additional modules.
57633         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57634         exponentf.m4.
57635         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57636         exponentd.m4.
57637         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57638         file exponentl.m4.
57639         * m4/exponentf.m4: New file.
57640         * m4/exponentd.m4: New file.
57641         * m4/exponentl.m4: New file.
57642         * modules/isnanf: Use new file m4/exponentf.m4.
57643         * modules/isnand: Use new file m4/exponentd.m4.
57644         * modules/isnanl: Use new file m4/exponentl.m4.
57645
57646 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57647
57648         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57649         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57650         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57651         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57652
57653         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57654         readlink on platforms without PATH_MAX.
57655
57656 2008-07-21  Eric Blake  <ebb9@byu.net>
57657
57658         Warn, not fail, on stale version.
57659         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57660
57661         Don't allow installation with stale devel version number.
57662         * top/GNUmakefile (_is-install-target): New macro.
57663         (_curr-ver): Forbid installation with stale version number.
57664
57665 2008-07-20  Bruno Haible  <bruno@clisp.org>
57666
57667         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57668         TESTS_ENVIRONMENT.
57669         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57670
57671 2008-07-20  Bruno Haible  <bruno@clisp.org>
57672
57673         * lib/c-stack.h (c_stack_action): Add documentation.
57674         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57675
57676 2008-07-20  Bruno Haible  <bruno@clisp.org>
57677
57678         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57679         * modules/readlink (License): Likewise.
57680
57681 2008-07-17  Eric Blake  <ebb9@byu.net>
57682
57683         * modules/c-stack (Link): Fix typo.
57684
57685         Make c-stack use libsigsegv, when available.
57686         * modules/c-stack (Depends-on): Add libsigsegv.
57687         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57688         needed.
57689         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57690         (segv_handler, overflow_handler, c_stack_action)
57691         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57692         implementation when libsigsegv is available, but only when using
57693         the library is necessary.
57694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57695         comment, explaining why XSI check fails on Linux.
57696         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57697         * tests/test-c-stack2.sh: Tweak skip message.
57698         * NEWS: Document new link-time requirements.
57699
57700 2008-07-16  Eric Blake  <ebb9@byu.net>
57701
57702         c-stack: Expose false positives when not using libsigsegv.
57703         * modules/c-stack-tests (Files): Expand test.
57704         * tests/test-c-stack.c (main): Add means to conditionally trigger
57705         non-overflow SIGSEGV.
57706         * tests/test-c-stack2.sh: New file.
57707
57708 2008-07-14  Bruno Haible  <bruno@clisp.org>
57709
57710         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
57711         Reported by Eric Blake.
57712
57713 2008-07-14  Sam Steingold  <sds@gnu.org>
57714             Bruno Haible  <bruno@clisp.org>
57715
57716         New module libsigsegv.
57717         * modules/libsigsegv: New file.
57718         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
57719         modifications.
57720         * MODULES.html.sh (Signal handling): New section.
57721
57722 2008-07-14  Bruno Haible  <bruno@clisp.org>
57723
57724         * modules/unictype/ctype-* (Description): Add the word "function".
57725         Improves the resulting doc in MODULES.html.
57726
57727 2008-07-12  Ben Pfaff  <blp@gnu.org>
57728
57729         Add longlong module.
57730         * modules/longlong: New file.
57731
57732 2008-07-12  Bruno Haible  <bruno@clisp.org>
57733
57734         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
57735         to empty.
57736
57737 2008-07-10  Ben Pfaff  <blp@gnu.org>
57738
57739         Add isnan module.
57740         * doc/posix-functions/isnan.texi: Mention new module.
57741         * lib/math.in.h: Define isnan macro if we have decided to replace
57742         it.
57743         * m4/isnan.m4: New file.
57744         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
57745         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
57746         also.
57747         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
57748         redundancy.
57749         * m4/math_h.m4: Initialize and substitute variables for isnan
57750         module.
57751         * modules/isnan: New file.
57752         * modules/isnan-tests: New file.
57753         * modules/math: Add substitutions for new module.
57754         * tests/test-isnan.c: New file.
57755         * MODULES.html.sh: Mention new module.
57756
57757 2008-07-10  Ben Pfaff  <blp@gnu.org>
57758
57759         Add isnanf module.
57760         * lib/isnanf.m4: New file.
57761         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
57762         (gl_HAVE_ISNANF_IN_LIBM): New macro.
57763         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
57764         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
57765         * modules/isnanf: New file.
57766         * modules/isnanf-tests: New file.
57767         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
57768         files.
57769         * tests/test-isnanf-nolibm.c: factored most of its contents into
57770         new file tests/test-isnanf.h.
57771         * tests/test-isnanf.h: New file.
57772         * tests/test-isnanf.c: New file.
57773         * MODULES.html.sh: Mention new module.
57774         * doc/glibc-functions/isnanf.texi: Mention new module.
57775
57776 2008-07-10  Ben Pfaff  <blp@gnu.org>
57777
57778         Add isnand module.
57779         * lib/isnand.h: New file.
57780         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
57781         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
57782         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
57783         functionality also.
57784         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
57785         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
57786         (gl_HAVE_ISNAND_IN_LIBM): New macro.
57787         * modules/isnand: New file.
57788         * modules/isnand-tests: New file.
57789         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
57790         files.
57791         * tests/test-isnand-nolibm.c: factored most of its contents into
57792         new file tests/test-isnand.h.
57793         * tests/test-isnand.h: New file.
57794         * tests/test-isnand.c: New file.
57795         * MODULES.html.sh: Mention new module.
57796
57797 2008-07-10  Ben Pfaff  <blp@gnu.org>
57798
57799         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
57800         * lib/isnand.h: Rename lib/isnand-nolibm.h.
57801         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
57802         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
57803         * modules/isnanf-nolibm: Update references to renamed files.
57804         * modules/isnand-nolibm: Likewise.
57805         * modules/isnanf-nolibm-tests: Likewise.
57806         * modules/isnand-nolibm-tests: Likewise.
57807         * lib/frexp.c: Likewise.
57808         * lib/isfinite.c: Likewise.
57809         * lib/signbitd.c: Likewise.
57810         * lib/signbitf.c: Likewise.
57811         * lib/vasnprintf.c: Likewise.
57812         * tests/test-ceilf1.c: Likewise.
57813         * tests/test-ceilf2.c: Likewise.
57814         * tests/test-floorf1.c: Likewise.
57815         * tests/test-floorf2.c: Likewise.
57816         * tests/test-frexp.c: Likewise.
57817         * tests/test-round1.c: Likewise.
57818         * tests/test-round2.c: Likewise.
57819         * tests/test-roundf1.c: Likewise.
57820         * tests/test-strtod.c: Likewise.
57821         * tests/test-trunc1.c: Likewise.
57822         * tests/test-trunc2.c: Likewise.
57823         * tests/test-truncf1.c: Likewise.
57824         * tests/test-truncf2.c: Likewise.
57825         * NEWS: Mention the renamed header files.
57826
57827 2008-07-11  Jim Meyering  <meyering@redhat.com>
57828
57829         vc-list-files: make the last-resort awk code more portable
57830         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
57831         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
57832         does not support it.
57833
57834 2008-07-10  Eric Blake  <ebb9@byu.net>
57835
57836         Work with tar's bootstrap.
57837         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
57838         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
57839         an m4 comment.
57840
57841 2008-07-09  Jim Meyering  <meyering@redhat.com>
57842
57843         posix-shell.m4: fix typo that made this test malfunction
57844         * m4/posix-shell.m4: Remove capitalization in variable name.
57845
57846 2008-07-08  Bruno Haible  <bruno@clisp.org>
57847
57848         * m4/onceonly.m4: Update comments.
57849         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57850
57851 2008-07-04  Jim Meyering  <meyering@redhat.com>
57852
57853         * users.txt: Add vc-dwim.
57854         (bison, coreutils): Use the gitweb URL.
57855
57856 2008-07-03  Jim Meyering  <meyering@redhat.com>
57857
57858         * users.txt: Add libffcall.  From Sam Steingold.
57859
57860 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
57861
57862         getdate.y: do not ignore TZ with relative day, month or year offset
57863         * lib/getdate.y (get_date): Move the tz-handling block to follow the
57864         relative-date-handling, since otherwise, the latter would clobber the
57865         sole output (an updated Start value) of the tz-handling block.
57866         * tests/test-getdate.c: Tests for the fix
57867
57868 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57869
57870         Recognize 'foo_LIBRARIES += libgnu.a'.
57871         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
57872         makefile snippet has already specified an installation location,
57873         also using '+='.
57874
57875 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
57876
57877         getdate.y: factor out common actions
57878         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57879         Use them in place of open-coded actions.
57880
57881 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57882
57883         Add self-test for getdate module.
57884         * modules/getdate-tests: New file.
57885         * tests/test-getdate.c: New file.
57886
57887 2008-06-29  Bruno Haible  <bruno@clisp.org>
57888
57889         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
57890         .gitignore.
57891         Reported by Sylvain Beucler <beuc@beuc.net>.
57892
57893 2008-06-29  Bruno Haible  <bruno@clisp.org>
57894
57895         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
57896         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
57897
57898 2008-06-29  Bruno Haible  <bruno@clisp.org>
57899
57900         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
57901         EXTRA_DIST.
57902         Reported by Sylvain Beucler <beuc@beuc.net>.
57903
57904 2008-06-26  Jim Meyering  <meyering@redhat.com>
57905
57906         make several modules depend on the "open" module
57907         This provides slightly increased consistency when opening-for-write
57908         the name of a non-directory spelled with a trailing slash.
57909         * modules/chdir-safer: Likewise.
57910         * modules/chown: Likewise.
57911         * modules/clean-temp: Likewise.
57912         * modules/copy-file: Likewise.
57913         * modules/fchdir: Likewise.
57914         * modules/fcntl-safer: Likewise.
57915         * modules/pipe: Likewise.
57916         * modules/utime: Likewise.
57917         Prompted by Eric Blake and Bruno Haible.
57918
57919 2008-06-24  Andreas Schwab  <schwab@suse.de>
57920
57921         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
57922         literals can be used as initializers for global variables.
57923
57924 2008-06-23  Eric Blake  <ebb9@byu.net>
57925
57926         Make gnulib-cache.m4 easier to diff.
57927         * gnulib-tool (func_import): Allow newlines when reading cached
57928         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
57929
57930 2008-06-23  Bruno Haible  <bruno@clisp.org>
57931
57932         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
57933         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
57934         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
57935         m4/signalblocking.m4.
57936         (gl_PREREQ_SIGACTION): Don't invoke it.
57937         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
57938         gl_PREREQ_SIG_HANDLER_H.
57939         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57940         Don't check for sigaction here.
57941
57942 2008-06-23  Bruno Haible  <bruno@clisp.org>
57943
57944         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
57945         (install_handlers): Don't set the SA_RESETHAND flag.
57946
57947 2008-06-23  Bruno Haible  <bruno@clisp.org>
57948
57949         * m4/sigaction.m4: Comment fixes.
57950         * lib/signal.in.h: Likewise.
57951
57952 2008-06-23  Eric Blake  <ebb9@byu.net>
57953
57954         Fix typo.
57955         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
57956
57957         Avoid SA_ namespace.
57958         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
57959         Reported by Ralf Wildenhues.
57960
57961         Avoid test failure due to SA_RESTORER.
57962         * tests/test-sigaction.c (SA_MASK): New macro.
57963         (main): Avoid failing due to extension flags being set.
57964         Reported by Jim Meyering.
57965
57966         Revert use of sig-handler.h in sigprocmask.c.
57967         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
57968         it requires the existence of struct sigaction.
57969         * lib/sigprocmask.c (handler_t): Restore typedef.
57970         (rpl_signal, old_handlers): Use local type.
57971
57972 2008-06-22  Bruno Haible  <bruno@clisp.org>
57973
57974         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
57975         conditionally.
57976         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57977
57978 2008-06-22  Bruno Haible  <bruno@clisp.org>
57979
57980         * doc/posix-functions/siginterrupt.texi: Move note.
57981
57982         * lib/signal.in.h (SA_RESTART): New macro.
57983         * lib/sigaction.c: Update comment.
57984
57985         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
57986
57987         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
57988         (gl_PREREQ_SIGPROCMASK): Invoke it.
57989         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
57990
57991         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
57992
57993         * lib/sigprocmask.c: Update a comment.
57994
57995 2008-06-21  Eric Blake  <ebb9@byu.net>
57996
57997         Use sigaction module rather than signal().
57998         * modules/c-stack (Depends-on): Add sigaction.
57999         * modules/fatal-signal (Depends-on): Likewise.
58000         * modules/nanosleep (Depends-on): Likewise.
58001         * modules/sigprocmask (Files): Add sig-handler.h.
58002         * modules/sigaction (Files): Likewise.
58003         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58004         Eggert.
58005         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58006         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58007         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58008         (init_fatal_signals): Likewise.
58009         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58010         (siginterrupt): Delete fallback.
58011         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58012         instead.
58013         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58014         siginterrupt.
58015
58016         New module sigaction, for mingw.
58017         * modules/sigaction: New module...
58018         * modules/sigaction-tests: ...and its test.
58019         * m4/sigaction.m4: New file.
58020         * lib/sigaction.c: Likewise.
58021         * tests/test-sigaction.c: Likewise.
58022         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58023         * modules/signal (Makefile.am): Likewise.
58024         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58025         needed.
58026         * doc/posix-headers/signal.texi (signal.h): Mention provided
58027         types.
58028         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58029         that sigaction is preferable.
58030         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58031         module.
58032         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58033         sigaction.
58034
58035         Improve robustness of sigprocmask by overriding signal.
58036         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58037         is in use.
58038         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58039         (SIGKILL, SIGSTOP): Provide fallbacks.
58040         (rpl_signal): Implement.
58041         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58042         signal can be called inside handlers.
58043
58044         Fix nanosleep module on mingw.
58045         * modules/nanosleep (Depends-on): Add sys_select.
58046         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58047
58048         Fix licensing of sigprocmask.
58049         * modules/raise (License): Relicense as LGPL.
58050
58051 2008-06-21  Bruno Haible  <bruno@clisp.org>
58052
58053         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58054         result if it contains question marks.
58055         Reported by Michael Geng <linux@michaelgeng.de>.
58056
58057 2008-06-19  Bruno Haible  <bruno@clisp.org>
58058
58059         Fix CVS-ism.
58060         * doc/gnulib.texi: Include updated-stamp.texi.
58061         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58062         (updated-stamp.texi): New rule.
58063         (gnulib.info): Depend on it.
58064         * doc/.gitignore: Add updated-stamp.texi.
58065         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58066
58067 2008-06-19  Bruno Haible  <bruno@clisp.org>
58068
58069         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58070         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58071
58072 2008-06-19  Eric Blake  <ebb9@byu.net>
58073
58074         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58075         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58076         Reported by Stepan Kasal.
58077
58078 2008-06-18  Bruno Haible  <bruno@clisp.org>
58079
58080         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58081         Reported by Eric Blake.
58082
58083 2008-06-18  Eric Blake  <ebb9@byu.net>
58084
58085         Work around cygwin 1.5.25 strsignal bug.
58086         * tests/test-strsignal.c: Allow for const char *.
58087         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58088
58089 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58090
58091         * users.txt: Update URL to article and add author/date
58092         information.
58093
58094 2008-06-17  Bruno Haible  <bruno@clisp.org>
58095
58096         New macro gl_DISABLE_THREADS.
58097         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58098         if the user did not pass --enable-threads or --disable-threads option.
58099         (gl_DISABLE_THREADS): New macro.
58100         Reported by Eric Blake <ebb9@byu.net>.
58101
58102 2008-06-17  Bruno Haible  <bruno@clisp.org>
58103
58104         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58105         when the macro ignores it.
58106         Based on a patch by Eric Blake <ebb9@byu.net>.
58107
58108 2008-06-17  Bruno Haible  <bruno@clisp.org>
58109
58110         * modules/tls (License): Change to LGPLv2+.
58111         Reported by Eric Blake.
58112
58113 2008-06-17  Eric Blake  <ebb9@byu.net>
58114
58115         Simplify c-stack prerequisites.
58116         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58117         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58118         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58119         check.
58120         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58121         <sys/resource.h>.
58122
58123         Move c-stack test into testsuite.
58124         * modules/c-stack-tests: New file.
58125         * lib/c-stack.c [DEBUG]: Move test program...
58126         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58127         fail test if sigaltstack is lacking.
58128         * tests/test-c-stack.sh: New driver file.
58129
58130 2008-06-16  Eric Blake  <ebb9@byu.net>
58131
58132         Use raise module consistently.
58133         * modules/fatal-signal (Depends-on): Add raise.
58134         * modules/sigprocmask (Depends-on): Likewise.
58135         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58136         * lib/sigprocmask.c (sigprocmask): Likewise.
58137         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58138         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58139
58140         Fix compliance bug in sigpending.
58141         * lib/sigprocmask.c (sigpending): Return pending array via
58142         parameter, not return value.
58143
58144 2008-06-14  Eric Blake  <ebb9@byu.net>
58145
58146         Improve obstack-printf test code.
58147         * tests/test-obstack-printf.c (test_function): Fix comment, and
58148         simplify usage of obstack_* in macros.  Add a test for coverage.
58149         Reported by Bruno Haible.
58150
58151 2008-06-14  Bruno Haible  <bruno@clisp.org>
58152
58153         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58154         array size as a constant, not as a const variable.
58155         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58156         AC_USE_SYSTEM_EXTENSIONS.
58157         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58158         Test whether the obstack_printf function actually exists.
58159         * modules/obstack-printf (Depends-on): Add extensions.
58160         (Include): Remove obstack.h.
58161         * modules/obstack-printf-posix (Depends-on): Add extensions.
58162         (Include): Remove obstack.h.
58163
58164 2008-06-13  Eric Blake  <ebb9@byu.net>
58165
58166         Add obstack-printf and obstack-printf-posix modules.
58167         * modules/obstack-printf: New file.
58168         * modules/obstack-printf-posix: Likewise.
58169         * MODULES.html.sh (Misc): Mention them.
58170         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58171         Likewise.
58172         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58173         Likewise.
58174         * modules/stdio (Makefile.am): Accomodate new modules.
58175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58176         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58177         Declare.
58178         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58179         functions.
58180         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58181         (gl_REPLACE_OBSTACK_PRINTF): New macros
58182         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58183         * tests/test-obstack-printf.c: New file.
58184         * modules/obstack-printf-tests: Likewise.
58185         * modules/obstack-printf-posix-tests: Likewise.
58186
58187 2008-06-11  Bruno Haible  <bruno@clisp.org>
58188
58189         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58190         * lib/open.c: Include errno.h.
58191         (open): Fail when attempting to write to a file that has a trailing
58192         slash.
58193         * tests/test-open.c (main): Test against trailing slash bug.
58194         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58195
58196 2008-06-10  Bruno Haible  <bruno@clisp.org>
58197
58198         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58199         for $? to work inside the trap command, with various /bin/sh-s.
58200         * tests/test-vc-list-files-cvs.sh: Likewise.
58201
58202 2008-06-10  Bruno Haible  <bruno@clisp.org>
58203
58204         * lib/acl-internal.h: Don't include gettext.h here.
58205         * lib/set-mode-acl.c: Include gettext.h here.
58206         * lib/copy-acl.c: Likewise.
58207
58208 2008-06-10  Bruno Haible  <bruno@clisp.org>
58209
58210         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58211         * lib/wait-process.c (wait_subprocess): Likewise.
58212         * lib/execute.h (execute): Add termsigp argument.
58213         * lib/execute.c (execute): Likewise.
58214         * lib/csharpcomp.c (compile_csharp_using_pnet,
58215         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58216         * lib/csharpexec.c (execute_csharp_using_pnet,
58217         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58218         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58219         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58220         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58221         is_jikes_present): Update.
58222         * lib/javaexec.c (execute_java_class): Update.
58223         * lib/javaversion.c (execute_and_read_line): Update.
58224         * NEWS: Document the changes.
58225         Reported by Eric Blake.
58226
58227 2008-06-10  Eric Blake  <ebb9@byu.net>
58228
58229         Add missing include.
58230         * tests/test-strstr.c (includes): Add <signal.h>.
58231         * tests/test-strcasestr.c (includes): Likewise.
58232         * tests/test-memmem.c (includes): Likewise.
58233
58234 2008-06-10  Bruno Haible  <bruno@clisp.org>
58235
58236         * lib/wait-process.c (wait_subprocess): Add an assertion.
58237
58238 2008-06-10  Bruno Haible  <bruno@clisp.org>
58239
58240         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58241
58242 2008-06-10  Bruno Haible  <bruno@clisp.org>
58243
58244         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58245         using alarm().
58246         * tests/test-strcasestr.c (main): Likewise.
58247         * tests/test-strstr.c (main): Likewise.
58248
58249 2008-06-09  Bruno Haible  <bruno@clisp.org>
58250
58251         Work around the Solaris 10 ACE ACLs ABI change.
58252         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58253         declare if ACL_NO_TRIVIAL is present.
58254         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58255         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58256         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58257         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58258         define if ACL_NO_TRIVIAL is present.
58259         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58260         and use the current ABI.
58261         (file_has_acl): Use same #if condition as elsewhere.
58262         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58263         in use, and use the current ABI.
58264         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58265         Reported by Jim Meyering.
58266
58267 2008-06-09  Eric Blake  <ebb9@byu.net>
58268
58269         Work around environments that (stupidly) ignore SIGALRM.
58270         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58271         before using alarm().
58272         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58273         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58274         Reported by Ian Beckwith <ianb@erislabs.net>.
58275
58276         Produce autobuild blurb earlier in log.
58277         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58278
58279 2008-06-09  Jim Meyering  <meyering@redhat.com>
58280         and OndÅ™ej Vašík  <ovasik@redhat.com>
58281
58282         utimens.c: correct kernel bug work-around
58283         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58284         failure, not success, and the kernel bug we're trying to work
58285         around affects not just the utimensat call, but also the fallback
58286         futimens call.
58287         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58288         not success.
58289         [HAVE_FUTIMENS]: Use the same work-around, here.
58290
58291 2008-06-09  Jim Meyering  <meyering@redhat.com>
58292
58293         add more guards around definition of ACE_-related code
58294         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58295         ALLOW and ACE_OWNER are also defined.
58296
58297 2008-06-08  Bruno Haible  <bruno@clisp.org>
58298
58299         * lib/acl-internal.h: Add me as co-author.
58300         * lib/file-has-acl.c: Likewise.
58301         * lib/set-mode-acl.c: Likewise.
58302         * lib/copy-acl.c: Likewise.
58303
58304 2008-06-08  Bruno Haible  <bruno@clisp.org>
58305
58306         Add support for AIX ACLs.
58307         * lib/acl-internal.h (acl_nontrivial): New declaration.
58308         * lib/file-has-acl.c (acl_nontrivial): New function.
58309         (file_has_acl): Add implementation using AIX 4 ACL API.
58310         * lib/set-mode-acl.c (qset_acl): Likewise.
58311         * lib/copy-acl.c (qcopy_acl): Likewise.
58312
58313 2008-06-08  Bruno Haible  <bruno@clisp.org>
58314
58315         Add support for HP-UX ACLs.
58316         * lib/acl-internal.h (acl_nontrivial): New declaration.
58317         * lib/file-has-acl.c (acl_nontrivial): New function.
58318         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58319         * lib/set-mode-acl.c (qset_acl): Likewise.
58320         * lib/copy-acl.c (qcopy_acl): Likewise.
58321
58322 2008-06-08  Bruno Haible  <bruno@clisp.org>
58323
58324         Add support for Cygwin ACLs.
58325         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58326         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58327         the chmod_or_fchmod call.
58328         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58329
58330 2008-06-08  Bruno Haible  <bruno@clisp.org>
58331
58332         Fix bug with setuid modes in Solaris 10+ code.
58333         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58334         succeeded, when the mode contains some special bits.
58335
58336 2008-06-08  Bruno Haible  <bruno@clisp.org>
58337
58338         Add support for Solaris 7..10 ACLs.
58339         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58340         declarations.
58341         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58342         functions.
58343         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58344         * lib/set-mode-acl.c (qset_acl): Likewise.
58345         * lib/copy-acl.c (qcopy_acl): Likewise.
58346
58347 2008-06-08  Bruno Haible  <bruno@clisp.org>
58348
58349         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58350         declaration.
58351         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58352         (acl_access_nontrivial): Remove MacOS X case.
58353         (file_has_acl): Use acl_extended_nontrivial.
58354         * lib/copy-acl.c (qcopy_acl): Likewise.
58355
58356 2008-06-08  Bruno Haible  <bruno@clisp.org>
58357
58358         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58359
58360 2008-06-08  Jim Meyering  <meyering@redhat.com>
58361
58362         * modules/acl (Maintainer): Add Bruno Haible.
58363
58364 2008-06-07  Bruno Haible  <bruno@clisp.org>
58365
58366         Improve support for Tru64 ACLs.
58367         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58368         ACL on OSF/1.
58369
58370 2008-06-07  Bruno Haible  <bruno@clisp.org>
58371
58372         Add support for MacOS X ACLs.
58373         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58374         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58375         * lib/set-mode-acl.c (qset_acl): Likewise.
58376         * lib/copy-acl.c (qcopy_acl): Likewise.
58377
58378 2008-06-07  Bruno Haible  <bruno@clisp.org>
58379
58380         Fix memory leak introduced on 2008-05-22.
58381         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58382         use.
58383
58384 2008-06-07  Bruno Haible  <bruno@clisp.org>
58385
58386         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58387         to construct an empty ACL.
58388
58389 2008-06-07  Bruno Haible  <bruno@clisp.org>
58390
58391         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58392         precisely.
58393         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58394
58395 2008-06-07  Bruno Haible  <bruno@clisp.org>
58396
58397         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58398         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58399
58400 2008-06-07  Bruno Haible  <bruno@clisp.org>
58401
58402         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58403         regardless of POSIX.
58404         * doc/posix-functions/_longjmp.texi: Likewise.
58405         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58406         SystemV platform in this case.
58407
58408 2008-06-06  Eric Blake  <ebb9@byu.net>
58409
58410         Document abort() bugs.
58411         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58412
58413         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58414         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58415         sigsetjmp.
58416         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58417         siglongjmp, but only as a macro.
58418         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58419         is obsolete.
58420         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58421
58422         Tweak documentation to cover cygwin argz bugs.
58423         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58424         argz bug fix; no code change needed since no cygwin releases
58425         occurred between the last fix and the bug being tested.
58426         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58427         module and recently fixed cygwin bugs.
58428         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58429         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58430         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58431         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58432         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58433         Likewise.
58434         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58435         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58436         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58437         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58438         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58439         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58440         Likewise.
58441
58442         Avoid gcc warning on cygwin.
58443         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58444         !ACL_NO_TRIVIAL]: Avoid unused variable.
58445
58446 2008-06-05  Eric Blake  <ebb9@byu.net>
58447
58448         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58449         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58450         git-version-gen fails to come up with a version.
58451         Reported by Simon Josefsson.
58452
58453 2008-06-05  Jim Meyering  <meyering@redhat.com>
58454             Paul Eggert  <eggert@cs.ucla.edu>
58455
58456         utimens.c: work around a probable Linux kernel bug
58457         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58458         appears to be a kernel bug that causes utimensat to return 280
58459         instead of 0, indicating success.
58460
58461 2008-06-04  Bruno Haible  <bruno@clisp.org>
58462
58463         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58464         2008-06-01 commit.
58465
58466 2008-06-04  Bruno Haible  <bruno@clisp.org>
58467
58468         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58469         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58470         (file_has_acl): Use it. Save errno afterwards.
58471         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58472
58473 2008-06-03  Bruno Haible  <bruno@clisp.org>
58474
58475         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58476         draft code. Simplify #ifs.
58477         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58478         Put Solaris code after POSIX-draft code. Fix comments regarding
58479         Solaris 10, HP-UX. Mention Cygwin.
58480         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58481
58482 2008-06-03  Eric Blake  <ebb9@byu.net>
58483
58484         Provide fallback for older kernels.
58485         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58486         Provide runtime fallback if kernel lacks support.
58487         Reported by Mike Frysinger.
58488
58489 2008-06-02  Bruno Haible  <bruno@clisp.org>
58490
58491         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58492         it exists.
58493
58494 2008-06-02  Bruno Haible  <bruno@clisp.org>
58495
58496         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58497         * lib/copy-acl.c (qcopy_acl): Update comment.
58498
58499 2008-06-02  Bruno Haible  <bruno@clisp.org>
58500
58501         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58502         like ACL APIs.
58503
58504 2008-06-02  Bruno Haible  <bruno@clisp.org>
58505
58506         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58507         * tests/test-set-mode-acl.sh: Likewise.
58508         * tests/test-copy-acl.sh: Likewise.
58509         * tests/test-copy-file.sh: Likewise.
58510
58511 2008-06-02  Bruno Haible  <bruno@clisp.org>
58512
58513         * tests/test-file-has-acl.sh: Remove unused code.
58514
58515 2008-06-01  Bruno Haible  <bruno@clisp.org>
58516
58517         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58518         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58519         messages.
58520         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58521
58522 2008-06-01  Bruno Haible  <bruno@clisp.org>
58523
58524         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58525         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58526         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58527         APIs.
58528         * modules/acl-tests (configure.ac): Remove tests now contained in
58529         m4/acl.m4.
58530
58531 2008-06-02  Jim Meyering  <meyering@redhat.com>
58532
58533         announce-gen: use a better key-server host name
58534         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58535         it may be more consistently reliable.  Suggested by Werner Koch
58536         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58537
58538 2008-06-01  Bruno Haible  <bruno@clisp.org>
58539
58540         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58541         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58542
58543 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58544
58545         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58546
58547 2008-06-01  Bruno Haible  <bruno@clisp.org>
58548
58549         New ACL tests.
58550         * tests/test-file-has-acl.sh: New file.
58551         * tests/test-file-has-acl.c: New file.
58552         * tests/test-set-mode-acl.sh: New file.
58553         * tests/test-set-mode-acl.c: New file.
58554         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58555         * tests/test-copy-acl.c: New file.
58556         * modules/acl-tests: New file, based on modules/copy-file-tests.
58557         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58558         (Depends-on): Add acl-tests.
58559         (configure.ac): Remove checks.
58560         (Makefile.am): Don't create test-sameacls program here any more.
58561
58562 2008-06-01  Bruno Haible  <bruno@clisp.org>
58563
58564         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58565         * tests/test-sameacls.c: Include progname.h.
58566         (main): Invoke set_program_name. Portability fixes for MacOS X,
58567         Solaris, HP-UX.
58568
58569 2008-06-01  Bruno Haible  <bruno@clisp.org>
58570
58571         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58572         function.
58573         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58574
58575 2008-06-01  Bruno Haible  <bruno@clisp.org>
58576
58577         * modules/rpmatch (Depends-on): Add strdup.
58578
58579 2008-06-01  Bruno Haible  <bruno@clisp.org>
58580
58581         * lib/pipe.c: Include unistd-safer.h.
58582         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58583         * modules/pipe (Depends-on): Add unistd-safer.
58584
58585 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58586
58587         * modules/autobuild (configure.ac): Call AB_INIT.
58588
58589 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58590
58591         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58592         Suggested by Bruno Haible <bruno@clisp.org>.
58593
58594 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58595
58596         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58597         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58598         <bruno@clisp.org>.
58599
58600 2008-05-29  Eric Blake  <ebb9@byu.net>
58601
58602         Prefer new POSIX 200x interfaces over futimesat.
58603         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58604         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58605         when available.
58606         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58607
58608 2008-05-28  Bruno Haible  <bruno@clisp.org>
58609
58610         * modules/stpcpy (License): Change to LGPLv2+.
58611         Requested by David Lutterkort <dlutter@redhat.com>.
58612
58613 2008-05-27  Bruno Haible  <bruno@clisp.org>
58614
58615         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58616         current mingw.
58617         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58618
58619 2008-05-27  Bruno Haible  <bruno@clisp.org>
58620
58621         * modules/iconv_open (Link): New section, from module 'iconv'.
58622         * modules/striconv (Link): Likewise.
58623         * modules/striconveh (Link): Likewise.
58624         * modules/xstriconv (Link): Likewise.
58625         * modules/unicodeio (Link): Likewise.
58626         * modules/propername (Link): Likewise.
58627         Reported by Jim Meyering.
58628
58629 2008-05-26  Jim Meyering  <meyering@redhat.com>
58630
58631         sha256: do not artificially restrict buffer length to be < 2^32
58632         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58633         uint32_t to size_t.
58634         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58635         to match.
58636
58637         avoid unaligned access errors, e.g., on sparc
58638         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58639         direct access through a possibly-unaligned uint64* pointer.
58640         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58641         direct access through a possibly-unaligned uint32* pointer.
58642         Prompted by this patch from Tom "spot" Callaway:
58643         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58644
58645         sha512.c: fix typo in comment
58646         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58647
58648 2008-05-25  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58651         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58652         (Makefile.am): Update lib_SOURCES.
58653
58654 2008-05-25  Bruno Haible  <bruno@clisp.org>
58655
58656         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58657
58658 2008-05-25  Jim Meyering  <meyering@redhat.com>
58659
58660         useless-if-before-free: freed expr may have white-space differences
58661         * build-aux/useless-if-before-free: Recognize cases in which the
58662         freed expression differs from the tested one in embedded white
58663         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58664         $1 was used, so we can't make any regexp shy.  Improved tests now
58665         detect this.
58666
58667         useless-if-before-free: accept white space in the expression.
58668         * build-aux/useless-if-before-free: For now, any white space
58669         in the expression must be identical in the free argument.
58670
58671         useless-if-before-free: efficiency tweak
58672         * build-aux/useless-if-before-free: Make the expression-matching
58673         regexp "shy".
58674         Make the *outer* regexp shy, not the expr-matching one.
58675
58676         update code-in-comment to accept cast of free arg
58677         * build-aux/useless-if-before-free: Update regexp.
58678
58679 2008-05-25  Bruno Haible  <bruno@clisp.org>
58680
58681         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58682         * modules/copy-file-tests (Files, Makefile.am): Update.
58683         * tests/test-copy-file.c (func_test_copy): Update.
58684
58685 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58686
58687         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58688
58689 2008-05-23  Bruno Haible  <bruno@clisp.org>
58690
58691         Improve support for ACLs on OSF/1.
58692         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58693         Remove fallback for unknown flavors of ACLs.
58694
58695 2008-05-22  Bruno Haible  <bruno@clisp.org>
58696
58697         Add support for ACLs on OSF/1.
58698         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58699         replacements.
58700         (acl_free_text): New macro fallback.
58701         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58702         acl_free.
58703         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58704         acl_free_text function. Require AC_C_INLINE.
58705
58706 2008-05-22  Bruno Haible  <bruno@clisp.org>
58707
58708         Make copy_acl work on MacOS X 10.5.
58709         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
58710         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
58711         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
58712         If MODE_INSIDE_ACL, don't assume that every system has the same text
58713         representation for ACLs as FreeBSD.
58714         * lib/copy-acl.c (copy_acl): Add support for platforms with
58715         !MODE_INSIDE_ACL.
58716         * lib/file-has-acl.c (file_has_acl): Likewise.
58717         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
58718         FreeBSD, MacOS X, or IRIX, respectively.
58719
58720 2008-05-22  Bruno Haible  <bruno@clisp.org>
58721
58722         * lib/acl.h: Don't include <sys/acl.h>.
58723         (GETACLCNT): Move fallback to lib/acl-internal.h.
58724         * lib/acl-internal.h: Include <sys/acl.h> here.
58725         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
58726
58727 2008-05-22  Bruno Haible  <bruno@clisp.org>
58728
58729         Split off copy_acl function to separate file.
58730         * lib/copy-acl.c: New file, extracted from lib/acl.c.
58731         * lib/acl.c (copy_acl): Moved function to separate file.
58732         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
58733         * modules/acl (Files): Add lib/copy-acl.c.
58734         (Makefiles.am): Augment lib_SOURCES.
58735
58736 2008-05-22  Bruno Haible  <bruno@clisp.org>
58737
58738         * modules/copy-file-tests: New file.
58739         * tests/test-copy-file.sh: New file.
58740         * tests/test-copy-file.c: New file.
58741         * tests/test-copy-file-sameacls.c: New file.
58742
58743 2008-05-22  Eric Blake  <ebb9@byu.net>
58744
58745         Avoid gcc warning.
58746         * tests/test-memcmp.c (main): Pass NULL indirectly.
58747
58748 2008-05-21  Bruno Haible  <bruno@clisp.org>
58749
58750         Add reference doc about ACLs.
58751         * doc/acl-resources.txt: New file.
58752         * doc/acl-cygwin.txt: New file.
58753
58754 2008-05-21  Bruno Haible  <bruno@clisp.org>
58755
58756         Avoid one more warning from gcc.
58757         * lib/vasnprintf.c (IF_LINT): Update comments.
58758         (VASNPRINTF): Use it also for the 'prefix' array initializer.
58759
58760 2008-05-21  Jim Meyering  <meyering@redhat.com>
58761
58762         avoid a warning from gcc
58763         * lib/vasnprintf.c (IF_LINT): Define.
58764         (scale10_round_decimal_long_double):
58765         Use it to avoid a "may be used uninitialized" warning.
58766         (scale10_round_decimal_double): Likewise.
58767
58768 2008-05-21  Simon Josefsson  <simon@josefsson.org>
58769
58770         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
58771         declared.
58772
58773 2008-05-20  Bruno Haible  <bruno@clisp.org>
58774
58775         * tests/test-memcmp.c (main): Test also the sign of the result. Test
58776         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
58777
58778 2008-05-20  Simon Josefsson  <simon@josefsson.org>
58779
58780         * modules/memcmp-tests: New file.
58781         * tests/test-memcmp.c: New file.
58782
58783 2008-05-19  Bruno Haible  <bruno@clisp.org>
58784
58785         * modules/propername (Notice, configure.ac): Put quoted "..." into
58786         --keyword option.
58787         * lib/propername.h: Update comments accordingly.
58788         Reported by Eric Blake.
58789
58790 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
58791
58792         * modules/getpass-gnu (Depends-on): Add fseeko.
58793
58794 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58795
58796         * modules/base64-tests: New file.
58797
58798 2008-05-19  Bo Borgerson <gigabo@gmail.com>
58799
58800         * lib/base64.c (base64_decode_ctx): If a decode context structure
58801         was passed in use it to ignore newlines.  If a context structure
58802         was _not_ passed in, continue to treat newlines as garbage (this
58803         is the historical behavior).  Formerly base64_decode.
58804         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58805         takes a decode context structure.
58806         * lib/base64.h (base64_decode): Macro for four-argument calls.
58807         (base64_decode_alloc): Likewise.
58808         * lib/base64.c (base64_decode_ctx): If a decode context structure
58809         was passed in use it to ignore newlines.  If a context structure
58810         was _not_ passed in, continue to treat newlines as garbage (this
58811         is the historical behavior).  Formerly base64_decode.
58812         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58813         takes a decode context structure.
58814         * lib/base64.h (base64_decode): Macro for four-argument calls.
58815         (base64_decode_alloc): Likewise.
58816
58817 2008-05-19  Jim Meyering  <meyering@redhat.com>
58818
58819         avoid a warning from gcc
58820         * lib/trim.c (IF_LINT): Define.
58821         (trim2): Use it to avoid a "may be used uninitialized" warning.
58822
58823         Fix doc typo.
58824         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
58825
58826 2008-05-19  Bruno Haible  <bruno@clisp.org>
58827
58828         * doc/glibc-functions/getpass.texi: Document limits of other
58829         implementations.
58830
58831 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58832             Bruno Haible <bruno@clisp.org>
58833
58834         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
58835
58836 2008-05-18  Bruno Haible  <bruno@clisp.org>
58837
58838         * modules/propername: New file, from GNU gettext.
58839         * lib/propername.h: New file, from GNU gettext.
58840         * lib/propername.c: New file, from GNU gettext.
58841         * MODULES.html.sh (Internationalization functions): Add propername.
58842
58843 2008-05-16  Jim Meyering  <meyering@redhat.com>
58844             Bruno Haible  <bruno@clisp.org>
58845
58846         Avoid some warnings from "gcc -Wshadow".
58847         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
58848
58849 2008-05-15  Eric Blake  <ebb9@byu.net>
58850
58851         Extend previous patch to cygwin 1.7.0.
58852         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
58853         fast implementation in cygwin >= 1.7.0.
58854         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58855         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58856
58857 2008-05-15  Bruno Haible  <bruno@clisp.org>
58858
58859         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
58860         implementation in glibc >= 2.9.
58861         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58862         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58863
58864 2008-05-15  Bruno Haible  <bruno@clisp.org>
58865
58866         * MODULES.html.sh (Internationalization functions): Remove linebreak.
58867         (Unicode string functions): Add unilbrk/*.
58868         Reported by Karl Berry.
58869
58870 2008-05-15  Eric Blake  <ebb9@byu.net>
58871
58872         Fix violation of <stdbool.h> replacement in regex.
58873         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58874         * lib/regexec.c (re_search_internal): Likewise.
58875         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58876
58877 2008-05-15  Jim Meyering  <meyering@redhat.com>
58878
58879         avoid distracting test output when git or cvs is not found
58880         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58881         * tests/test-vc-list-files-git.sh: Likewise.
58882
58883 2008-05-15  Eric Blake  <ebb9@byu.net>
58884
58885         Glibc finally accepted the memmem speedup code, bugzilla #5514.
58886         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
58887         glibc version.
58888         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58889         * doc/posix-functions/strstr.texi (strstr): Likewise.
58890         * lib/str-two-way.h (MAX): Sychronize with glibc.
58891
58892 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
58893
58894         * lib/regcomp.c (optimize_utf8): Add a note on why we test
58895         opr.ctx_type.
58896         (calc_first): Initialize constraint field.
58897         (duplicate_node_closure): Use it instead of special casing ANCHORS.
58898         Fix grammar.
58899         (duplicate_node): Merge constraint field for all node types.
58900         (calc_eclosure_iter): Look at constraint field for all node types.
58901         * lib/regex_internal.c (create_cd_newstate): Don't look at
58902         opr.ctx_type.
58903
58904 2008-05-14  Bruno Haible  <bruno@clisp.org>
58905
58906         Help GCC to do better code generation.
58907         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
58908         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
58909         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
58910         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
58911         Declare with attribute 'malloc' if supported.
58912
58913 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
58914
58915         use "echo STR|wc -c" rather than unportable "expr length STR"
58916         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
58917         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
58918
58919 2008-05-14  Jim Meyering  <meyering@redhat.com>
58920
58921         use dd ibs=$n count=1 ... rather than less-portable head -c$n
58922         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
58923         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
58924         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
58925         via Collin Lasse.
58926
58927 2008-05-14  Eric Blake  <ebb9@byu.net>
58928
58929         Avoid quadratic growth in gl_LIBSOURCES.
58930         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
58931         Suggested by Bruno Haible.
58932
58933         Test xmemdup0.
58934         * modules/xmemdup0-tests: New file.
58935         * tests/test-xmemdup0.c: Likewise.
58936
58937 2008-05-13  Eric Blake  <ebb9@byu.net>
58938
58939         Split xmemdup0 into its own module.
58940         * modules/xmemdup0: New file.
58941         * lib/xmemdup0.h: Likewise.
58942         * lib/xmemdup0.c: Likewise.
58943         * MODULES.html.sh (Memory management functions): Add xmemdup0.
58944         * lib/xalloc.h (xmemdup0): Remove.
58945         * lib/xmalloc.c (xmemdup0): Likewise.
58946
58947 2008-05-13  Eric Blake  <ebb9@byu.net>
58948             Bruno Haible  <bruno@clisp.org>
58949
58950         Reduce number of forks required during autoconf.
58951         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
58952         and gl_LIBSOURCES_DIR.
58953         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
58954         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
58955         m4_syscmd per file.
58956         <m4_foreach_w>: Move...
58957         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
58958
58959 2008-05-13  Eric Blake  <ebb9@byu.net>
58960
58961         * gnulib-tool: Fix various comment typos.
58962
58963 2008-05-12  Bruno Haible  <bruno@clisp.org>
58964
58965         Tailor the linebreaking algorithm.
58966         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
58967
58968 2008-05-12  Bruno Haible  <bruno@clisp.org>
58969
58970         Update to Unicode 5.0.0.
58971         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58972         LBP_JV, LBP_JT. Redistribute values.
58973         (unilbrk_table): Change size.
58974         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
58975         Unicode TR#14 rev. 22.
58976         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58977         LBP_JV, LBP_JT. Redistribute values.
58978         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
58979         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
58980         Update.
58981         * lib/unilbrk/lbrkprop1.h: Regenerated.
58982         * lib/unilbrk/lbrkprop2.h: Regenerated.
58983         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
58984         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
58985         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
58986         Likewise.
58987         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
58988         Likewise.
58989         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
58990         result.
58991         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
58992         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
58993         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
58994         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
58995         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
58996         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
58997
58998 2008-05-11  Bruno Haible  <bruno@clisp.org>
58999
59000         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59001
59002 2008-05-11  Bruno Haible  <bruno@clisp.org>
59003
59004         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59005         * modules/unilbrk/gen-lbrk: New file.
59006
59007 2008-05-11  Bruno Haible  <bruno@clisp.org>
59008
59009         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59010         * m4/sha512.m4 (gl_SHA512): Likewise.
59011
59012 2008-05-11  Jim Meyering  <meyering@redhat.com>
59013
59014         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59015         * modules/crypto/sha256: New file.
59016         * modules/crypto/sha512: Likewise.
59017         * lib/sha256.c: Likewise.
59018         * lib/sha256.h: Likewise.
59019         * lib/sha512.c: Likewise.
59020         * lib/sha512.h: Likewise.
59021         * lib/u64.h: Likewise.
59022         * m4/sha256.m4: Likewise.
59023         * m4/sha512.m4: Likewise.
59024         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59025
59026 2008-05-10  Bruno Haible  <bruno@clisp.org>
59027
59028         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59029         (Input/Output <stdio.h>): Add xprintf.
59030         (Signal handling <signal.h>): Add strsignal.
59031         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59032         (Core language properties): Add func.
59033         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59034         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59035         strings.
59036         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59037         (Input/output): New section.
59038         (File system functions): Add openat-die, stat-macros.
59039         (Networking functions): Add sockets.
59040         (Unicode string functions): Add unictype/*.
59041         (Support for building libraries and executables): Add gperf.
59042         (Support for building documentation): Add agpl-3.0.
59043         (Misc): Add nocrash.
59044
59045 2008-05-10  Bruno Haible  <bruno@clisp.org>
59046
59047         * modules/unictype/gen-ctype: New file.
59048
59049 2008-05-10  Jim Meyering  <meyering@redhat.com>
59050
59051         Make chdir-safer.c more efficient on a system with no symlinks.
59052         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59053         also if ELOOP is zero.  Suggested by Bruno Haible.
59054
59055         Make chdir-safer.c slightly safer.
59056         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59057         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59058
59059         Avoid compile failure on systems without ELOOP (like mingw).
59060         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59061         Reported by Bruno Haible.
59062
59063 2008-05-10  Bruno Haible  <bruno@clisp.org>
59064
59065         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59066         (is_utf8_encoding): Use a case-insensitive comparison.
59067         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59068         streq.
59069
59070 2008-05-10  Bruno Haible  <bruno@clisp.org>
59071
59072         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59073         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59074         * lib/unilbrk/ulc-common.h (iconv_string_length,
59075         iconv_string_keeping_offsets): Remove declarations.
59076         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59077         Don't include <iconv.h>, streq.h, xsize.h.
59078         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59079         conversion.
59080         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59081         <iconv.h>, streq.h, xsize.h.
59082         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59083         conversion.
59084         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59085         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59086         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59087         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59088
59089 2008-05-10  Bruno Haible  <bruno@clisp.org>
59090
59091         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59092         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59093
59094         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59095         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59096
59097         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59098         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59099
59100         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59101         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59102
59103         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59104         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59105
59106         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59107         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59108
59109         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59110         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59111
59112         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59113         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59114
59115 2008-05-10  Bruno Haible  <bruno@clisp.org>
59116
59117         Split up 'linebreak' module.
59118         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59119         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59120         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59121         modifications.
59122         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59123         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59124         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59125         lib/linebreak.c.
59126         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59127         lib/linebreak.c.
59128         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59129         lib/linebreak.c.
59130         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59131         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59132         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59133         lib/linebreak.c.
59134         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59135         lib/linebreak.c.
59136         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59137         lib/linebreak.c.
59138         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59139         lib/linebreak.c.
59140         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59141         lib/linebreak.c.
59142         * modules/unilbrk/base: New file.
59143         * modules/unilbrk/tables: New file.
59144         * modules/unilbrk/u8-possible-linebreaks: New file.
59145         * modules/unilbrk/u16-possible-linebreaks: New file.
59146         * modules/unilbrk/u32-possible-linebreaks: New file.
59147         * modules/unilbrk/ulc-common: New file.
59148         * modules/unilbrk/ulc-possible-linebreaks: New file.
59149         * modules/unilbrk/u8-width-linebreaks: New file.
59150         * modules/unilbrk/u16-width-linebreaks: New file.
59151         * modules/unilbrk/u32-width-linebreaks: New file.
59152         * modules/unilbrk/ulc-width-linebreaks: New file.
59153         * lib/linebreak.h: Remove file.
59154         * lib/linebreak.c: Remove file.
59155         * m4/linebreak.m4: Remove file.
59156         * modules/linebreak: Remove file.
59157         * NEWS: Mention the changes.
59158
59159 2008-05-09  Eric Blake  <ebb9@byu.net>
59160
59161         Add xmemdup0.
59162         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59163         implementation.
59164         * lib/xmalloc.c (xmemdup0): New C implementation.
59165
59166 2008-05-08  Bruno Haible  <bruno@clisp.org>
59167
59168         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59169
59170 2008-05-07  Eric Blake  <ebb9@byu.net>
59171
59172         Support cross-compilation of <wctype.h>.
59173         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59174         AC_CACHE_CHECK.
59175
59176 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59177
59178         * build-aux/vc-list-files: Add support for bzr.
59179
59180 2008-05-03  Jim Meyering  <meyering@redhat.com>
59181
59182         avoid failed assertion with tight malloc
59183         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59184
59185 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59186
59187         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59188         are needed from arpa/inet.h.
59189         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59190         Reported by Bruno Haible.
59191
59192 2008-05-02  Jim Meyering  <meyering@redhat.com>
59193
59194         avoid compilation error on FreeBSD 6
59195         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59196
59197 2008-05-01  Jim Meyering  <meyering@redhat.com>
59198
59199         useless-if-before-free: correct --help's exit status description
59200         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59201         for one or more matches, etc.  Reported by Bruno Haible.
59202
59203         vc-list-files: make the stand-alone gnulib test work
59204         * modules/vc-list-files-tests (configure.ac):
59205         Define and AC_SUBST abs_aux_dir.
59206         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59207         $(abs_top_srcdir) to each script and having each of them
59208         duplicate the work of setting PATH, set PATH here, using
59209         the new variable, abs_aux_dir instead.
59210         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59211         * tests/test-vc-list-files-git.sh: Likewise.
59212         Reported by Bruno Haible.
59213
59214 2008-05-01  Bruno Haible  <bruno@clisp.org>
59215
59216         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59217         reallocation. Rename 'done' to 'found_delimiter'.
59218
59219 2008-05-01  Jim Meyering  <meyering@redhat.com>
59220
59221         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59222         * build-aux/vc-list-files: Use `...`, not $(...).
59223
59224 2008-04-30  Jim Meyering  <meyering@redhat.com>
59225
59226         add tests for vc-list-files
59227         * modules/vc-list-files-tests: New module.
59228         * tests/test-vc-list-files-cvs.sh: New file.
59229         * tests/test-vc-list-files-git.sh: New file.
59230
59231         avoid a warning from gcc
59232         * lib/getndelim2.c (IF_LINT): Define.
59233         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59234
59235         vc-list-files: work properly with build-aux/cvsu, too
59236         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59237         to all cvs-based clauses.
59238
59239         vc-list-files: work properly in the CVS+awk case, too
59240         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59241
59242         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59243         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59244         take more than one file argument, so .  Add quotes, just in case $dir
59245         ever contains a shell meta-character.  Prompted by Soren Hansen in
59246         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59247
59248 2008-04-29  Eric Blake  <ebb9@byu.net>
59249
59250         Optimize getndelim2 to use block operations when possible.
59251         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59252         freadseek, and memchr2.
59253         * lib/getndelim2.c (getndelim2): Use them for block reads.
59254
59255 2008-04-29  Bruno Haible  <bruno@clisp.org>
59256
59257         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59258         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59259         * modules/inet_ntop (Depends-on): Add extensions.
59260         * modules/inet_pton (Depends-on): Likewise.
59261         Reported by Simon Josefsson.
59262
59263 2008-04-29  Jim Meyering  <meyering@redhat.com>
59264
59265         When the is more than one match in a block, match all of them.
59266         * build-aux/useless-if-before-free: Iterate through each block
59267         until there are no more matches.
59268
59269         Fix broken useless-if-before-free script.
59270         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59271         the expression to match cast of argument to free-like function.
59272
59273 2008-04-29  Eric Blake  <ebb9@byu.net>
59274
59275         Use new header.
59276         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59277
59278 2008-04-29  Jim Meyering  <meyering@redhat.com>
59279
59280         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59281         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59282         by gnulib to exist and to declare e.g., inet_ntop.
59283         Don't include "inet_ntop.h", now removed.
59284
59285         * m4/arpa_inet_h.m4: Remove trailing blanks.
59286
59287 2008-04-29  Eric Blake  <ebb9@byu.net>
59288
59289         Silence valgrind on safe reads beyond potential array bounds.
59290         * lib/rawmemchr.valgrind: New file.
59291         * lib/strchrnul.valgrind: Likewise.
59292         * modules/rawmemchr (Files): Distribute new file.
59293         * modules/strchrnul (Files): Likewise.
59294         Suggested by Bruno Haible.
59295
59296 2008-04-29  Bruno Haible  <bruno@clisp.org>
59297
59298         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59299         (inet_ntop, inet_pton): Change portability warning's wording.
59300         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59301         Invoke gl_CHECK_NEXT_HEADERS.
59302         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59303         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59304         set ARPA_INET_H.
59305         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59306         * modules/arpa_inet (Description): No longer only for systems that
59307         lack it.
59308         (Depends-on): Add include_next.
59309         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59310         HAVE_ARPA_INET_H.
59311
59312 2008-04-29  Jim Meyering  <meyering@redhat.com>
59313
59314         * modules/mkdir (License): Re-license as LGPLv2+.
59315
59316 2008-04-29  Bruno Haible  <bruno@clisp.org>
59317
59318         * modules/rawmemchr (Maintainer): Set to Eric.
59319         * modules/strchrnul (Maintainer): Likewise.
59320
59321 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59322
59323         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59324         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59325
59326         * modules/arpa_inet (arpa/inet.h): Use them.
59327
59328 2008-04-28  Eric Blake  <ebb9@byu.net>
59329
59330         Test getndelim2.
59331         * modules/getndelim2-tests: New file.
59332         * tests/test-getndelim2.c: Likewise.
59333         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59334         stream.
59335         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59336
59337         * MODULES.html.sh: Document new module.
59338
59339 2008-04-20  Bruno Haible  <bruno@clisp.org>
59340
59341         * lib/c-stack.c (die): Use raise.
59342         * modules/c-stack (Depends-on): Add raise.
59343
59344 2008-04-28  Bruno Haible  <bruno@clisp.org>
59345
59346         Expect rpmatch to be declared.
59347         * lib/yesno.c (rpmatch): Remove declaration.
59348
59349         Declare rpmatch.
59350         * lib/stdlib.in.h (rpmatch): New declaration.
59351         * lib/rpmatch.c: Include <stdlib.h> first.
59352         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59353         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59354         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59355         HAVE_RPMATCH.
59356         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59357         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59358         (Include): Set to <stdlib.h>.
59359         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59360         HAVE_RPMATCH.
59361         * NEWS: Document the change.
59362
59363 2008-04-28  Bruno Haible  <bruno@clisp.org>
59364
59365         Change rpmatch to use nl_langinfo when appropriate.
59366         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59367         (N_): New macro.
59368         (localized_pattern): New function/macro.
59369         (try): Remove match, nomatch arguments. Copy the pattern into safe
59370         memory before caching it.
59371         (rpmatch): Use localized_pattern. Add translator comments.
59372         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59373         Suggested by Eric Blake.
59374         * modules/rpmatch (Depends-on): Add stdbool.
59375
59376 2008-04-28  Eric Blake  <ebb9@byu.net>
59377
59378         Add rawmemchr module, matching glibc.
59379         * modules/string (Makefile.am): New indicator.
59380         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59381         * lib/string.in.h (rawmemchr): Declare when appropriate.
59382         * modules/rawmemchr: New file.
59383         * m4/rawmemchr.m4: Likewise.
59384         * lib/rawmemchr.c: Likewise.
59385         * modules/rawmemchr-tests: Likewise.
59386         * tests/test-rawmemchr.c: Likewise.
59387         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59388         module.
59389         * modules/strchrnul (Depends-on): Add rawmemchr.
59390         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59391
59392         Whitespace cleanup.
59393         * tests/test-strchrnul.c: Reindent.
59394         * lib/strchrnul.c: Likewise.
59395
59396         Optimize and test strchrnul.
59397         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59398         * modules/strchrnul-tests: New file.
59399         * tests/test-strchrnul.c: Likewise.
59400
59401         Remove intprops dependency.
59402         * modules/memchr (Depends-on): Remove intprops.
59403         * modules/memrchr (Depends-on): Likewise.
59404         * modules/memchr2 (Depends-on): Likewise.
59405         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59406         * lib/memrchr.c (__memrchr): Likewise.
59407         * lib/memrchr2.c (memchr2): Likewise.
59408         Reported by Simon Josefsson.
59409
59410 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59411
59412         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59413         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59414
59415 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59416
59417         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59418
59419         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59420
59421         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59422
59423         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59424         declarations.
59425         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59426
59427         * m4/inet_pton.m4: Don't check for header files.
59428
59429         * m4/inet_ntop.m4: Don't check for header files.
59430
59431 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59432
59433         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59434         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59435         trigger for cygwin).
59436         Reported by Bruno Haible  <bruno@clisp.org>.
59437
59438 2008-04-28  Bruno Haible  <bruno@clisp.org>
59439
59440         * doc/posix-functions/strdup.texi: Mention mingw problem.
59441
59442 2008-04-27  Bruno Haible  <bruno@clisp.org>
59443
59444         * modules/stat-time-tests (Depends-on): Add sleep.
59445         * tests/test-stat-time.c (force_unlink): New function.
59446         (cleanup): Use it.
59447         (test_mtime): Remove the ctime related tests.
59448         (test_ctime): New function, containing the ctime related tests.
59449         (main): Call test_ctime, except on native Windows platforms.
59450
59451 2008-04-27  Bruno Haible  <bruno@clisp.org>
59452
59453         * lib/rpmatch.c (rpmatch): Add some comments.
59454         Reported by James Youngman <jay@gnu.org>.
59455
59456 2008-04-27  Bruno Haible  <bruno@clisp.org>
59457
59458         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59459         quiet NaNs.
59460
59461 2008-04-27  Bruno Haible  <bruno@clisp.org>
59462
59463         Make test-yesno.sh work on mingw.
59464         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59465         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59466         (main): Set stdin to binary mode.
59467         * modules/yesno-tests (Depends-on): Add binary-io.
59468
59469 2008-04-27  Bruno Haible  <bruno@clisp.org>
59470
59471         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59472         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59473         argument that lie outside the IEEE 854 domain.
59474         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59475         (gl_ISFINITE): Use it.
59476         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59477
59478 2008-04-27  Bruno Haible  <bruno@clisp.org>
59479
59480         Allow local renaming in config.h.
59481         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59482
59483 2008-04-27  Bruno Haible  <bruno@clisp.org>
59484
59485         * lib/memchr.c (__memchr): Change type of 'i'.
59486         * lib/memchr2.c (memchr2): Likewise.
59487
59488 2008-04-26  Eric Blake  <ebb9@byu.net>
59489         and Bruno Haible  <bruno@clisp.org>
59490
59491         Optimize and test memrchr.
59492         * modules/memrchr (Depends-on): Add intprops.
59493         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59494         * modules/memrchr-tests: New file.
59495         * tests/test-memrchr.c: New file.
59496
59497 2008-04-26  Bruno Haible  <bruno@clisp.org>
59498
59499         Add tentative support for DragonFly BSD.
59500         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59501         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59502         fp.
59503         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59504         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59505         * lib/fpurge.c (fpurge): Likewise.
59506         * lib/freadable.c (freaadable): Likewise.
59507         * lib/freadahead.c (freadahead): Likewise.
59508         * lib/freading.c (freading): Likewise.
59509         * lib/freadptr.c (freadptr): Likewise.
59510         * lib/freadseek.c (freadptrinc): Likewise.
59511         * lib/fseeko.c (fseeko): Likewise.
59512         * lib/fseterr.c (fseterr): Likewise.
59513         * lib/fwritable.c (fwritable): Likewise.
59514         * lib/fwriting.c (fwriting): Likewise.
59515
59516 2008-04-26  Bruno Haible  <bruno@clisp.org>
59517
59518         * lib/stdio-impl.h: New file.
59519         * lib/fbufmode.c: Include stdio-impl.h.
59520         (fbufmode): Use fp_, remove redundant #defines.
59521         * lib/fflush.c: Include stdio-impl.h.
59522         (clear_ungetc_buffer): Remove redundant #defines.
59523         * lib/fpurge.c: Include stdio-impl.h.
59524         (fpurge): Remove redundant #defines.
59525         * lib/freadable.c: Include stdio-impl.h.
59526         (freadable): Remove redundant #defines.
59527         * lib/freadahead.c: Include stdio-impl.h.
59528         (freadahead): Remove redundant #defines.
59529         * lib/freading.c: Include stdio-impl.h.
59530         (freading): Remove redundant #defines.
59531         * lib/freadptr.c: Include stdio-impl.h.
59532         (freadptr): Remove redundant #defines.
59533         * lib/freadseek.c: Include stdio-impl.h.
59534         (freadptrinc): Remove redundant #defines.
59535         * lib/fseeko.c: Include stdio-impl.h.
59536         (rpl_fseeko): Remove redundant #defines.
59537         * lib/fseterr.c: Include stdio-impl.h.
59538         (fseterr): Remove redundant #defines.
59539         * lib/fwritable.c: Include stdio-impl.h.
59540         (fwritable: Remove redundant #defines.
59541         * lib/fwriting.c: Include stdio-impl.h.
59542         (fwriting): Remove redundant #defines.
59543         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59544         * modules/fflush (Files): Likewise.
59545         * modules/fpurge (Files): Likewise.
59546         * modules/freadable (Files): Likewise.
59547         * modules/freadahead (Files): Likewise.
59548         * modules/freading (Files): Likewise.
59549         * modules/freadptr (Files): Likewise.
59550         * modules/freadseek (Files): Likewise.
59551         * modules/fseeko (Files): Likewise.
59552         * modules/fseterr (Files): Likewise.
59553         * modules/fwritable (Files): Likewise.
59554         * modules/fwriting (Files): Likewise.
59555
59556 2008-04-26  Bruno Haible  <bruno@clisp.org>
59557
59558         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59559         restore_seek_optimization, update_fpos_cache): New functions, extracted
59560         from rpl_fflush.
59561         (rpl_fflush): Use them.
59562         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59563         (gl_REPLACE_FFLUSH): Use it.
59564
59565 2008-04-26  Bruno Haible  <bruno@clisp.org>
59566
59567         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59568         on Solaris.
59569         * tests/test-xstrtoimax.sh: Likewise.
59570         * tests/test-xstrtoumax.sh: Likewise.
59571         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59572
59573 2008-04-26  Bruno Haible  <bruno@clisp.org>
59574
59575         * modules/memchr-tests: New file.
59576         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59577
59578 2008-04-26  Eric Blake  <ebb9@byu.net>
59579             Bruno Haible  <bruno@clisp.org>
59580
59581         * lib/memchr.c: Include intprops.h.
59582         (__memchr): Optimize parallel detection of matching bytes. Rename local
59583         variables. Add explanatory comments.
59584
59585 2008-04-26  Bruno Haible  <bruno@clisp.org>
59586
59587         Fix module 'memchr', broken since 2000-10-28.
59588         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59589
59590 2008-04-26  Bruno Haible  <bruno@clisp.org>
59591
59592         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59593         comments.
59594
59595 2008-04-25  Eric Blake  <ebb9@byu.net>
59596
59597         Use native fstatat on cygwin 1.7.0.
59598         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59599         first.
59600
59601 2008-04-23  Eric Blake  <ebb9@byu.net>
59602
59603         Improve memchr2 performance.
59604         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59605         NUL bytes.
59606         * modules/memchr2 (Depends-on): Use intprops.h.
59607
59608 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59609
59610         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59611         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59612         <blp@cs.stanford.edu>.
59613
59614 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59615
59616         * lib/arpa_inet.in.h: New file.
59617
59618         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59619         (Makefile.am): Sed in substitute header file.
59620
59621         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59622         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59623
59624         * modules/inet_ntop (configure.ac): Use
59625         gl_ARPA_INET_MODULE_INDICATOR.
59626
59627         * modules/inet_pton (configure.ac): Use
59628         gl_ARPA_INET_MODULE_INDICATOR.
59629
59630 2008-04-22  Jim Meyering  <meyering@redhat.com>
59631
59632         * modules/verify (License): Re-license as LGPLv2+.
59633
59634 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59635
59636         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59637         parameter to void* as per POSIX standard (MinGW uses char*).
59638
59639 2008-04-21  Bruno Haible  <bruno@clisp.org>
59640
59641         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59642         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59643         Define to replacements if REPLACE_ISWCNTRL is 1.
59644         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59645         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59646         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59647         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59648         what it fixes.
59649         * doc/posix-functions/iswalpha.texi: Likewise.
59650         * doc/posix-functions/iswblank.texi: Likewise.
59651         * doc/posix-functions/iswcntrl.texi: Likewise.
59652         * doc/posix-functions/iswdigit.texi: Likewise.
59653         * doc/posix-functions/iswgraph.texi: Likewise.
59654         * doc/posix-functions/iswlower.texi: Likewise.
59655         * doc/posix-functions/iswprint.texi: Likewise.
59656         * doc/posix-functions/iswpunct.texi: Likewise.
59657         * doc/posix-functions/iswspace.texi: Likewise.
59658         * doc/posix-functions/iswupper.texi: Likewise.
59659         * doc/posix-functions/iswxdigit.texi: Likewise.
59660         Reported by Alain Guibert.
59661
59662 2008-04-21  Bruno Haible  <bruno@clisp.org>
59663
59664         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59665         Patch by Alain Guibert.
59666
59667 2008-04-21  Bruno Haible  <bruno@clisp.org>
59668
59669         Fix test failures on mingw.
59670         * tests/test-xstrtol.c (print_no_progname): New function.
59671         (main): Install it in error_print_progname hook.
59672         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59673         * tests/test-xstrtoimax.sh: Likewise.
59674         * tests/test-xstrtoumax.sh: Likewise.
59675
59676 2008-04-21  Bruno Haible  <bruno@clisp.org>
59677
59678         Fix test failure on mingw.
59679         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59680
59681 2008-04-21  Bruno Haible  <bruno@clisp.org>
59682
59683         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59684         Actually assign a value.
59685
59686 2008-04-20  Bruno Haible  <bruno@clisp.org>
59687
59688         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59689         take 2.
59690         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59691         'canonicalize-lgpl' module is also used.
59692         * lib/canonicalize-lgpl.c: Undo last change.
59693         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59694
59695 2008-04-20  Bruno Haible  <bruno@clisp.org>
59696
59697         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59698         config.h. Provide _mkdir based fallback for mingw.
59699         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59700         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59701         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59702         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59703         rather than defining mkdir in config.h.
59704         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59705         (gl_SYS_STAT_H_DEFAULTS): New macro.
59706         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59707         HAVE_IO_H any more.
59708         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
59709         HAVE_DECL_MKDIR and HAVE_IO_H.
59710
59711 2008-04-20  Bruno Haible  <bruno@clisp.org>
59712
59713         * lib/isapipe.c: Port to native Windows platforms.
59714
59715 2008-04-20  Bruno Haible  <bruno@clisp.org>
59716
59717         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
59718
59719 2008-04-21  Eric Blake  <ebb9@byu.net>
59720
59721         Work around preprocessors that don't handle UINTMAX_MAX.
59722         * lib/memchr2.c (memchr2): Avoid embedded #if.
59723         Reported by Alain Guibert, fix suggested by Bruno Haible.
59724
59725 2008-04-21  Simon Josefsson  <simon@josefsson.org>
59726
59727         * doc/posix-functions/strftime.texi (strftime): Explain better
59728         Windows incompatibility.  Suggested by Micah Cowan
59729         <micah@cowan.name>.
59730
59731 2008-04-20  Bruno Haible  <bruno@clisp.org>
59732
59733         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
59734         unistr/u8-mblen.
59735
59736 2008-04-20  Bruno Haible  <bruno@clisp.org>
59737
59738         Fix test failure on platforms with non-GNU iconv.
59739         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
59740         (U_TO_U8): Use it, rather than u16_to_u8.
59741         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
59742         units at the end of the input string.
59743         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
59744
59745 2008-04-20  Bruno Haible  <bruno@clisp.org>
59746
59747         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
59748         when the resulting length is 0.
59749         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
59750
59751 2008-04-20  Bruno Haible  <bruno@clisp.org>
59752
59753         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
59754         works.
59755         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
59756
59757 2008-04-20  Bruno Haible  <bruno@clisp.org>
59758
59759         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
59760         * modules/tsearch-tests (configure.ac): Test for initstate function.
59761
59762 2008-04-20  Bruno Haible  <bruno@clisp.org>
59763
59764         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
59765         for nlink_t if missing.
59766         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
59767
59768 2008-04-19  Bruno Haible  <bruno@clisp.org>
59769
59770         Work around snprintf bug on Linux libc5.
59771         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
59772         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59773         gl_SNPRINTF_SIZE1.
59774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59775         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
59776         that test failed.
59777         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
59778         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
59779         * modules/snprintf (Files): Add m4/printf.m4.
59780         * modules/vsnprintf (Files): Likewise.
59781         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
59782         * doc/posix-functions/vsnprintf.texi: Likewise.
59783
59784 2008-04-19  Bruno Haible  <bruno@clisp.org>
59785
59786         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
59787         from 0.0058 to less than 10^-7.
59788
59789 2008-04-19  Bruno Haible  <bruno@clisp.org>
59790
59791         Fix rounding when a precision is given.
59792         * lib/vasnprintf.c (is_borderline): New function.
59793         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
59794         9...9x.
59795         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
59796         %e, %g.
59797         * tests/test-vasprintf-posix.c (test_function): Likewise.
59798         * tests/test-snprintf-posix.h (test_function): Likewise.
59799         * tests/test-sprintf-posix.h (test_function): Likewise.
59800         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
59801         * tests/test-printf-posix.h (test_function): Likewise.
59802         * tests/test-printf-posix.output: Update.
59803         Reported by John Darrington <john@darrington.wattle.id.au> via
59804         Ben Pfaff <blp@cs.stanford.edu>.
59805
59806 2008-04-18  Simon Josefsson  <simon@josefsson.org>
59807
59808         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
59809         Suggested by Bruno Haible <bruno@clisp.org>.
59810
59811 2008-04-17  Bruno Haible  <bruno@clisp.org>
59812
59813         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
59814         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
59815         implementation.
59816         Patch by Bruce Merry <bmerry@gmail.com>.
59817
59818 2008-04-17  Simon Josefsson  <simon@josefsson.org>
59819
59820         * doc/posix-functions/strftime.texi (strftime): Mention that %e
59821         doesn't work under Windows.
59822
59823 2008-04-16  Bruno Haible  <bruno@clisp.org>
59824
59825         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
59826         New macros.
59827         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
59828         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
59829         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
59830         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
59831         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
59832         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
59833         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
59834         macros.
59835         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
59836         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
59837         Northern Sotho, Uighur.
59838
59839 2008-04-16  Bruno Haible  <bruno@clisp.org>
59840
59841         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
59842         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
59843         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
59844         Reported by Daniel Bergström <daniel@octocode.com>.
59845
59846 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
59847             Bruno Haible  <bruno@clisp.org>
59848
59849         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
59850         function.
59851         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
59852         New functions, mostly extracted from gl_locale_name_default.
59853         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
59854
59855 2008-04-16  Eric Blake  <ebb9@byu.net>
59856
59857         Adjust strtod detection to catch glibc 2.7 bug.
59858         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
59859         Reported by John Gatewood Ham.
59860
59861 2008-04-16  Bruno Haible  <bruno@clisp.org>
59862
59863         Add tentative support for Linux libc5.
59864         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
59865         * lib/fpurge.c (fpurge): Likewise.
59866         * lib/freadable.c (freadable): Likewise.
59867         * lib/freadahead.c (freadahead): Likewise.
59868         * lib/freading.c (freading): Likewise.
59869         * lib/freadptr.c (freadptr): Likewise.
59870         * lib/freadseek.c (freadptrinc): Likewise.
59871         * lib/fseeko.c (rpl_fseeko): Likewise.
59872         * lib/fseterr.c (fseterr): Likewise.
59873         * lib/fwritable.c (fwritable): Likewise.
59874         * lib/fwriting.c (fwriting): Likewise.
59875         Reported by Alain Guibert <alguibert+bts@free.fr>.
59876
59877 2008-04-15  Bruno Haible  <bruno@clisp.org>
59878
59879         * modules/mathl (configure.ac): Define module indicator.
59880
59881 2008-04-15  Bruno Haible  <bruno@clisp.org>
59882
59883         * lib/logl.c (logl): Remove unused variables.
59884
59885 2008-04-15  Bruno Haible  <bruno@clisp.org>
59886
59887         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
59888         fails.
59889
59890 2008-04-15  Bruno Haible  <bruno@clisp.org>
59891
59892         * lib/trim.c (trim2): Fix argument of isspace() macro.
59893
59894 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
59895
59896         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
59897         to 0.
59898         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
59899
59900 2008-04-14  Bruno Haible  <bruno@clisp.org>
59901
59902         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
59903         AC_LANG_PROGRAM argument.
59904         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
59905         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
59906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59907         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59908         * m4/math_h.m4 (gl_MATH_H): Likewise.
59909         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
59910         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59911         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59912         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
59913         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59914         * m4/regex.m4 (gl_REGEX): Likewise.
59915         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
59916         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
59917         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59918         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
59919         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59920         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59922         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59923
59924 2008-04-14  Jim Meyering  <meyering@redhat.com>
59925
59926         test-strtod: fix typos: s/abs/fabs/
59927         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
59928
59929 2008-04-13  Bruno Haible  <bruno@clisp.org>
59930
59931         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
59932         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
59933         module is also used and while not building the reloc-wrapper.
59934
59935 2008-04-13  Bruno Haible  <bruno@clisp.org>
59936
59937         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
59938
59939 2008-04-13  Bruno Haible  <bruno@clisp.org>
59940
59941         Fix AIX compilation failure introduced on 2008-04-02.
59942         * tests/test-frexp.c (exp): Undefine before redefining.
59943         * tests/test-frexpl.c (exp): Likewise.
59944
59945 2008-04-13  Bruno Haible  <bruno@clisp.org>
59946
59947         Work around a HP-UX stdio bug.
59948         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
59949         * tests/test-ftello.c (main): Likewise.
59950         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
59951         * doc/posix-functions/ftello.texi: Likewise.
59952
59953 2008-04-13  Bruno Haible  <bruno@clisp.org>
59954
59955         Make test-signbit pass on HP-UX/hppa.
59956         * tests/test-signbit.c (minus_zerol): New variable.
59957         (test_signbitl): Use it.
59958
59959 2008-04-13  Bruno Haible  <bruno@clisp.org>
59960
59961         Make truncl work on OSF/1 4.0.
59962         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
59963         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59964         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
59966         HAVE_DECL_TRUNCL.
59967         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
59968         HAVE_DECL_TRUNCL.
59969         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
59970
59971 2008-04-13  Bruno Haible  <bruno@clisp.org>
59972
59973         * lib/unictype.h: Remove trailing comma from enumeration definitions.
59974
59975 2008-04-13  Bruno Haible  <bruno@clisp.org>
59976
59977         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
59978         expression, so as to avoid HP-UX 11 cc compiler bug.
59979
59980 2008-04-13  Bruno Haible  <bruno@clisp.org>
59981
59982         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
59983
59984 2008-04-13  Bruno Haible  <bruno@clisp.org>
59985
59986         * lib/git-merge-changelog.c: Remove empty declaration outside of
59987         functions.
59988
59989 2008-04-13  Bruno Haible  <bruno@clisp.org>
59990
59991         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
59992
59993 2008-04-13  Bruno Haible  <bruno@clisp.org>
59994
59995         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
59996         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
59997         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
59998         also if it exists but lacks definitions of the SHUT_* macros.
59999         * modules/sys_socket (Description): Update.
60000         Reported by Elbert Pol <e.pol@chello.nl>.
60001
60002 2008-04-13  Bruno Haible  <bruno@clisp.org>
60003
60004         * lib/localcharset.c (OS2): Don't redefine if already defined.
60005         Reported by Elbert Pol <e.pol@chello.nl>.
60006
60007 2008-04-13  Bruno Haible  <bruno@clisp.org>
60008
60009         * lib/binary-io.h [__EMX__]: Include <io.h>.
60010         Reported by Elbert Pol <e.pol@chello.nl>.
60011
60012 2008-04-12  Bruno Haible  <bruno@clisp.org>
60013
60014         * lib/fpucw.h: Enable the definitions also for x86_64.
60015         Needed for NetBSD/x86_64.
60016         Reported by Thomas Klausner <tk@giga.or.at>.
60017
60018 2008-04-12  Bruno Haible  <bruno@clisp.org>
60019
60020         * tests/test-strtod.c: Include isnand.h.
60021         (main): Use isnand instead of isnan.
60022         Reported by Jim Meyering.
60023
60024 2008-04-12  Bruno Haible  <bruno@clisp.org>
60025
60026         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60027         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60028
60029 2008-04-12  Jim Meyering  <meyering@redhat.com>
60030
60031         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60032
60033 2008-04-12  Bruno Haible  <bruno@clisp.org>
60034
60035         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60036         Reported by Elbert Pol <e.pol@chello.nl>.
60037
60038 2008-04-12  Eric Blake  <ebb9@byu.net>
60039
60040         Work around Solaris 10 math.h bug.
60041         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60042         (gl_MATH_H_DEFAULTS): Set up default.
60043         * modules/math (Makefile.am): Replace new indicators.
60044         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60045         * tests/test-math.c (main): Test this.
60046         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60047         * doc/posix-headers/math.texi (math.h): Mention bug.
60048         Reported by Nelson H. F. Beebe and Jim Meyering.
60049
60050 2008-04-11  Bruno Haible  <bruno@clisp.org>
60051
60052         Adapt to future versions of Apple GCC.
60053         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60054         Reported by Peter O'Gorman <peter@pogma.com>.
60055
60056 2008-04-11  Bruno Haible  <bruno@clisp.org>
60057
60058         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60059
60060 2008-04-11  Bruno Haible  <bruno@clisp.org>
60061
60062         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60063
60064         * modules/getaddrinfo-tests (Makefile.am): Define
60065         test_getaddrinfo_LDADD.
60066
60067 2008-04-11  Bruno Haible  <bruno@clisp.org>
60068
60069         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60070         (init): Fix syntax error.
60071         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60072         is declared.
60073
60074 2008-04-11  Bruno Haible  <bruno@clisp.org>
60075
60076         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60077         * modules/glob (Depends-on): Add stdbool.
60078
60079 2008-04-11  Bruno Haible  <bruno@clisp.org>
60080
60081         * lib/trim.c: Include <string.h>.
60082
60083 2008-04-11  Eric Blake  <ebb9@byu.net>
60084
60085         Avoid compile failure on OS/2.
60086         * lib/regex_internal.h (internal_function): Disable optimization
60087         on OS/2 (__EMX__), where it caused compiler error.
60088         Reported by Elbert Pol.
60089
60090 2008-04-11  Bruno Haible  <bruno@clisp.org>
60091
60092         Flush the standard error stream before aborting. Needed on mingw.
60093         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60094         * tests/test-array_list.c (ASSERT): Likewise.
60095         * tests/test-array_oset.c (ASSERT): Likewise.
60096         * tests/test-avltree_list.c (ASSERT): Likewise.
60097         * tests/test-avltree_oset.c (ASSERT): Likewise.
60098         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60099         * tests/test-binary-io.c (ASSERT): Likewise.
60100         * tests/test-byteswap.c (ASSERT): Likewise.
60101         * tests/test-c-ctype.c (ASSERT): Likewise.
60102         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60103         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60104         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60105         * tests/test-c-strstr.c (ASSERT): Likewise.
60106         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60107         * tests/test-canonicalize.c (ASSERT): Likewise.
60108         * tests/test-carray_list.c (ASSERT): Likewise.
60109         * tests/test-ceilf1.c (ASSERT): Likewise.
60110         * tests/test-ceilf2.c (ASSERT): Likewise.
60111         * tests/test-ceill.c (ASSERT): Likewise.
60112         * tests/test-count-one-bits.c (ASSERT): Likewise.
60113         * tests/test-fbufmode.c (ASSERT): Likewise.
60114         * tests/test-fflush2.c (ASSERT): Likewise.
60115         * tests/test-floorf1.c (ASSERT): Likewise.
60116         * tests/test-floorf2.c (ASSERT): Likewise.
60117         * tests/test-floorl.c (ASSERT): Likewise.
60118         * tests/test-fopen.c (ASSERT): Likewise.
60119         * tests/test-fpending.c (ASSERT): Likewise.
60120         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60121         * tests/test-fpurge.c (ASSERT): Likewise.
60122         * tests/test-freadable.c (ASSERT): Likewise.
60123         * tests/test-freadahead.c (ASSERT): Likewise.
60124         * tests/test-freading.c (ASSERT): Likewise.
60125         * tests/test-freadptr.c (ASSERT): Likewise.
60126         * tests/test-freadptr2.c (ASSERT): Likewise.
60127         * tests/test-freadseek.c (ASSERT): Likewise.
60128         * tests/test-freopen.c (ASSERT): Likewise.
60129         * tests/test-frexp.c (ASSERT): Likewise.
60130         * tests/test-frexpl.c (ASSERT): Likewise.
60131         * tests/test-fseek.c (ASSERT): Likewise.
60132         * tests/test-fseeko.c (ASSERT): Likewise.
60133         * tests/test-fstrcmp.c (ASSERT): Likewise.
60134         * tests/test-ftell.c (ASSERT): Likewise.
60135         * tests/test-ftello.c (ASSERT): Likewise.
60136         * tests/test-func.c (ASSERT): Likewise.
60137         * tests/test-fwritable.c (ASSERT): Likewise.
60138         * tests/test-fwriting.c (ASSERT): Likewise.
60139         * tests/test-getdelim.c (ASSERT): Likewise.
60140         * tests/test-getline.c (ASSERT): Likewise.
60141         * tests/test-i-ring.c (ASSERT): Likewise.
60142         * tests/test-iconv-utf.c (ASSERT): Likewise.
60143         * tests/test-iconv.c (ASSERT): Likewise.
60144         * tests/test-isfinite.c (ASSERT): Likewise.
60145         * tests/test-isnand.c (ASSERT): Likewise.
60146         * tests/test-isnanf.c (ASSERT): Likewise.
60147         * tests/test-isnanl.h (ASSERT): Likewise.
60148         * tests/test-ldexpl.c (ASSERT): Likewise.
60149         * tests/test-linked_list.c (ASSERT): Likewise.
60150         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60151         * tests/test-localename.c (ASSERT): Likewise.
60152         * tests/test-lseek.c (ASSERT): Likewise.
60153         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60154         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60155         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60156         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60157         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60158         * tests/test-mbschr.c (ASSERT): Likewise.
60159         * tests/test-mbscspn.c (ASSERT): Likewise.
60160         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60161         * tests/test-mbspbrk.c (ASSERT): Likewise.
60162         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60163         * tests/test-mbsrchr.c (ASSERT): Likewise.
60164         * tests/test-mbsspn.c (ASSERT): Likewise.
60165         * tests/test-mbsstr1.c (ASSERT): Likewise.
60166         * tests/test-mbsstr2.c (ASSERT): Likewise.
60167         * tests/test-mbsstr3.c (ASSERT): Likewise.
60168         * tests/test-memchr2.c (ASSERT): Likewise.
60169         * tests/test-memmem.c (ASSERT): Likewise.
60170         * tests/test-open.c (ASSERT): Likewise.
60171         * tests/test-printf-frexp.c (ASSERT): Likewise.
60172         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60173         * tests/test-printf-posix.c (ASSERT): Likewise.
60174         * tests/test-quotearg.c (ASSERT): Likewise.
60175         * tests/test-rbtree_list.c (ASSERT): Likewise.
60176         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60177         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60178         * tests/test-round1.c (ASSERT): Likewise.
60179         * tests/test-roundf1.c (ASSERT): Likewise.
60180         * tests/test-roundl.c (ASSERT): Likewise.
60181         * tests/test-signbit.c (ASSERT): Likewise.
60182         * tests/test-sleep.c (ASSERT): Likewise.
60183         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60184         * tests/test-snprintf.c (ASSERT): Likewise.
60185         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60186         * tests/test-stat-time.c (ASSERT): Likewise.
60187         * tests/test-strcasestr.c (ASSERT): Likewise.
60188         * tests/test-strerror.c (ASSERT): Likewise.
60189         * tests/test-striconv.c (ASSERT): Likewise.
60190         * tests/test-striconveh.c (ASSERT): Likewise.
60191         * tests/test-striconveha.c (ASSERT): Likewise.
60192         * tests/test-strsignal.c (ASSERT): Likewise.
60193         * tests/test-strstr.c (ASSERT): Likewise.
60194         * tests/test-strtod.c (ASSERT): Likewise.
60195         * tests/test-trunc1.c (ASSERT): Likewise.
60196         * tests/test-trunc2.c (ASSERT): Likewise.
60197         * tests/test-truncf1.c (ASSERT): Likewise.
60198         * tests/test-truncf2.c (ASSERT): Likewise.
60199         * tests/test-truncl.c (ASSERT): Likewise.
60200         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60201         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60202         * tests/test-vasnprintf.c (ASSERT): Likewise.
60203         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60204         * tests/test-vasprintf.c (ASSERT): Likewise.
60205         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60206         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60207         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60208         * tests/test-vsnprintf.c (ASSERT): Likewise.
60209         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60210         * tests/test-wcwidth.c (ASSERT): Likewise.
60211         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60212         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60213         * tests/test-xvasprintf.c (ASSERT): Likewise.
60214         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60215         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60216         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60217         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60218         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60219         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60220         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60221         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60222         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60223         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60224         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60225         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60226         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60227         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60228         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60229         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60230         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60231         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60232         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60233         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60234         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60235         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60236         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60237         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60238         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60239         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60240         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60241         * tests/unictype/test-combining.c (ASSERT): Likewise.
60242         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60243         * tests/unictype/test-digit.c (ASSERT): Likewise.
60244         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60245         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60246         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60247         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60248         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60249         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60250         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60251         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60252         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60253         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60254         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60255         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60256         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60257         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60258         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60259         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60260         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60261         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60262         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60263         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60264         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60265         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60266         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60267         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60268         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60269         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60270         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60271         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60272         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60273         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60274         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60275         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60276         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60277         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60278         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60279         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60280         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60281         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60282         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60283         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60284         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60285         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60286         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60287         Reported by Eric Blake.
60288
60289 2008-04-11  Bruno Haible  <bruno@clisp.org>
60290
60291         * lib/wchar.in.h: Tweak comment.
60292
60293 2008-04-11  Bruno Haible  <bruno@clisp.org>
60294
60295         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60296         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60297         gl_COMMON.
60298         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60299
60300 2008-04-11  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60303
60304 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60305
60306         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60307         of attempting to use non-existing /dev/*random.  Based on patch
60308         from Adam Strzelecki <ono@java.pl> in
60309         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60310
60311 2008-04-08  Bruno Haible  <bruno@clisp.org>
60312
60313         Add tentative support for emx+gcc.
60314         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60315         * lib/fpurge.c (fpurge): Likewise.
60316         * lib/freadable.c (freadable): Likewise.
60317         * lib/freadahead.c (freadahead): Likewise.
60318         * lib/freading.c (freading): Likewise.
60319         * lib/freadptr.c (freadptr): Likewise.
60320         * lib/freadseek.c (freadptrinc): Likewise.
60321         * lib/fseeko.c (rpl_fseeko): Likewise.
60322         * lib/fseterr.c (fseterr): Likewise.
60323         * lib/fwritable.c (fwritable): Likewise.
60324         * lib/fwriting.c (fwriting): Likewise.
60325         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60326
60327 2008-04-09  Eric Blake  <ebb9@byu.net>
60328
60329         Avoid some autoconf warnings.
60330         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60331         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60332         * m4/afs.m4 (gl_AFS): Likewise.
60333         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60334         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60335         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60336         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60337         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60338         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60339         (AC_CHECK_DECLS_ONCE): Likewise.
60340         Rename file...
60341         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60342         gnulib-tool requires autoconf 2.59 or better.
60343         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60344
60345 2008-04-08  Eric Blake  <ebb9@byu.net>
60346
60347         Use 'git describe --match' if present (added in git 1.5.5).
60348         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60349         if possible.
60350
60351 2008-04-08  Bruno Haible  <bruno@clisp.org>
60352
60353         Add tentative support for OpenServer.
60354         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60355         _ptr, _cnt.
60356         * lib/fpurge.c (fpurge): Likewise.
60357         * lib/freadable.c (freadable): Likewise.
60358         * lib/freadahead.c (freadahead): Likewise.
60359         * lib/freading.c (freading): Likewise.
60360         * lib/freadptr.c (freadptr): Likewise.
60361         * lib/freadseek.c (freadptrinc): Likewise.
60362         * lib/fseeko.c (rpl_fseeko): Likewise.
60363         * lib/fseterr.c (fseterr): Likewise.
60364         * lib/fwritable.c (fwritable): Likewise.
60365         * lib/fwriting.c (fwriting): Likewise.
60366         Reported by Roger Cornelius <rac@tenzing.org> and
60367         Brian K. White <brian@aljex.com>.
60368
60369 2008-04-06  Jim Meyering  <meyering@redhat.com>
60370
60371         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60372
60373 2008-04-06  Bruno Haible  <bruno@clisp.org>
60374
60375         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60376         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60377         * tests/test-printf-posix.sh: Likewise.
60378         * tests/test-vfprintf-posix.sh: Likewise.
60379         * tests/test-vprintf-posix.sh: Likewise.
60380         * tests/test-xprintf-posix.sh: Likewise.
60381
60382 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60383
60384         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60385         hide error from 'ls', needed on OS/2.
60386         Report by Elbert Pol <elbert.pol@gmail.com>.
60387
60388 2008-04-04  Eric Blake  <ebb9@byu.net>
60389
60390         Make test-fseeko.c failures meaningful.
60391         * tests/test-fseeko.c: Print line number on failure.
60392         * tests/test-fseek.c: Likewise.
60393         Reported by Nelson H. F. Beebe.
60394
60395         Improve strtod bug detection check.
60396         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60397         required for Solaris 10.
60398         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60399
60400 2008-04-04  Bruno Haible  <bruno@clisp.org>
60401
60402         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60403         by m4/setenv.m4.
60404
60405 2008-04-03  Eric Blake  <ebb9@byu.net>
60406
60407         Ensure sane .version contents.
60408         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60409         version string.
60410         * build-aux/git-version-gen: Improve documentation.
60411
60412         Make GNU make output nicer.
60413         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60414         MAKECMDGOALS to enforce message for all command line targets.  Set
60415         srcdir for use in maint.mk.
60416
60417         Another maintainer tweak.
60418         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60419         a target that regenerates version.
60420
60421 2008-04-03  Jim Meyering  <meyering@redhat.com>
60422
60423         vc-list-files: don't cause coreutils "make po-check" failure
60424         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60425
60426 2008-04-03  Eric Blake  <ebb9@byu.net>
60427
60428         Allow VPATH usage of vc-list-files.
60429         * build-aux/vc-list-files (scriptversion): Add timestamp.
60430         (options): Add --help, --version, -C.
60431         (CVS): Support installed cvsu.
60432
60433 2008-04-02  Bruno Haible  <bruno@clisp.org>
60434
60435         Avoid some "statement with no effect" warnings from gcc.
60436         * tests/test-wctype.c (main): Explicitly ignore unused values.
60437         Reported by Jim Meyering.
60438
60439 2008-04-02  Jim Meyering  <meyering@redhat.com>
60440
60441         Avoid some warnings from "gcc -Wshadow".
60442         * tests/test-frexp.c (exp): Define to a different identifier.
60443         * tests/test-frexpl.c (exp): Likewise.
60444
60445 2008-04-03  Jim Meyering  <meyering@redhat.com>
60446
60447         bootstrap: remove dangling *.[ch] symlinks from lib
60448         * build-aux/bootstrap [dangling symlink removal]: Move find's
60449         -depth option to precede all others, to avoid a warning.
60450         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60451
60452 2008-04-02  Bruno Haible  <bruno@clisp.org>
60453
60454         Avoid some warnings from "gcc -Wshadow".
60455         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60456         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60457         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60458         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60459         Reported by Jim Meyering.
60460
60461 2008-04-01  Bruno Haible  <bruno@clisp.org>
60462
60463         Fix test to work on IRIX 6.5 with cc.
60464         * tests/test-math.c (numeric_equal): New function.
60465         (main): Use it.
60466
60467 2008-04-01  Bruno Haible  <bruno@clisp.org>
60468
60469         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60470
60471 2008-04-01  Bruno Haible  <bruno@clisp.org>
60472
60473         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60474         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60475         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60476         (Depends-on): Remove math.
60477
60478         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60479         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60480         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60481         (Depends-on): Remove math.
60482
60483         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60484         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60485         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60486         (Depends-on): Remove math.
60487         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60488         (Depends-on): Remove math.
60489
60490         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60491         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60492         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60493         (Depends-on): Remove math.
60494         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60495         (Depends-on): Remove math.
60496
60497         * tests/test-round1.c: Include nan.h.
60498         (main): Use NaNd instead of NAN.
60499         * modules/round-tests (Files): Add tests/nan.h.
60500
60501         * tests/test-trunc1.c: Include nan.h.
60502         (main): Use NaNd instead of NAN.
60503         * modules/trunc-tests (Files): Add tests/nan.h.
60504
60505         * tests/test-roundf1.c: Include nan.h.
60506         (main): Use NaNf instead of NAN.
60507         * modules/roundf-tests (Files): Add tests/nan.h.
60508
60509         * tests/test-truncf1.c: Include nan.h.
60510         (main): Use NaNf instead of NAN.
60511         * modules/truncf-tests (Files): Add tests/nan.h.
60512
60513         * tests/test-ceilf1.c: Include nan.h.
60514         (main): Use NaNf instead of NAN.
60515         * modules/ceilf-tests (Files): Add tests/nan.h.
60516
60517         * tests/test-floorf1.c: Include nan.h.
60518         (main): Use NaNf instead of NAN.
60519         * modules/floorf-tests (Files): Add tests/nan.h.
60520
60521         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60522         (main): Use NaNf instead of NAN.
60523         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60524
60525         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60526         (main): Use NaNd instead of NAN.
60527         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60528
60529         * tests/test-frexp.c: Include nan.h.
60530         (main): Use NaNd instead of NAN.
60531         * modules/frexp-tests (Files): Add tests/nan.h.
60532
60533         * lib/isnan.c: Don't include <math.h>.
60534         (FUNC): Don't use NAN macro.
60535         * modules/isnand-nolibm (Depends-on): Remove math.
60536         * modules/isnanf-nolibm (Depends-on): Remove math.
60537         * modules/isnanl (Depends-on): Remove math.
60538         * modules/isnanl-nolibm (Depends-on): Remove math.
60539
60540         * tests/nan.h: New file.
60541
60542 2008-04-01  Eric Blake  <ebb9@byu.net>
60543
60544         Fix typos.
60545         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60546         values to be the right type.
60547
60548         For now, cater to gnulib strtod inaccuracies.
60549         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60550         fractional results.  While not as nice from a QoI perspective, it
60551         is a quicker patch than correctly implementing decimal to binary
60552         rounding.
60553
60554 2008-03-31  Eric Blake  <ebb9@byu.net>
60555
60556         Guarantee a definition of NAN.
60557         * lib/math.in.h (NAN): Define if missing.
60558         * tests/test-math.c (main): Test it.
60559         * doc/posix-headers/math.texi (math.h): Document this.
60560         * lib/isnan.c (rpl_isnand): Use it.
60561         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60562         * tests/test-floorf1.c (NaN): Likewise.
60563         * tests/test-frexp.c (NaN): Likewise.
60564         * tests/test-isnand.c (NaN): Likewise.
60565         * tests/test-isnanf.c (NaN): Likewise.
60566         * tests/test-round1.c (NaN): Likewise.
60567         * tests/test-roundf1.c (NaN): Likewise.
60568         * tests/test-snprintf-posix.h (NaN): Likewise.
60569         * tests/test-sprintf-posix.h (NaN): Likewise.
60570         * tests/test-trunc1.c (NaN): Likewise.
60571         * tests/test-truncf1.c (NaN): Likewise.
60572         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60573         * tests/test-vasprintf-posix.c (NaN): Likewise.
60574         * modules/isnand-nolibm (Depends-on): Add math.
60575         * modules/isnanf-nolibm (Depends-on): Likewise.
60576         * modules/isnanl (Depends-on): Likewise.
60577         * modules/isnanl-nolibm (Depends-on): Likewise.
60578         * modules/snprintf-posix-tests (Depends-on): Likewise.
60579         * modules/sprintf-posix-tests (Depends-on): Likewise.
60580         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60581         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60582         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60583         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60584
60585 2008-03-31  Bruno Haible  <bruno@clisp.org>
60586
60587         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60588         * doc/posix-functions/strtod.texi: Likewise.
60589
60590 2008-03-31  Bruno Haible  <bruno@clisp.org>
60591
60592         * tests/test-strtod.c (main): Don't use C99 syntax.
60593
60594 2008-03-31  Bruno Haible  <bruno@clisp.org>
60595
60596         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60597         Reported by Eric Blake.
60598
60599 2008-03-31  Jim Meyering  <meyering@redhat.com>
60600
60601         Don't compare actual signbit return values.
60602         * tests/test-strtod.c (main): Rather, compare only their
60603         zero/non-zero nature.
60604
60605 2008-03-31  Eric Blake  <ebb9@byu.net>
60606
60607         More strtod documentation.
60608         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60609         failures as distinct bugs.
60610
60611 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60612
60613         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60614         Problem reported by Erik Benada in
60615         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60616
60617 2008-03-30  Bruno Haible  <bruno@clisp.org>
60618
60619         * tests/test-strtod.c: Add comments about which assertion fails on which
60620         platform.
60621         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60622
60623 2008-03-30  Eric Blake  <ebb9@byu.net>
60624
60625         Test signbit behavior on zeros.
60626         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60627         (test_signbitd, test_signbitl): Likewise.
60628
60629         More strtod touchups.
60630         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60631         sign of negative underflow, for now.  Use .5, not .1.
60632         * doc/posix-functions/strtod.texi (strtod): Mention these
60633         limitations.
60634         Reported by Jim Meyering.
60635
60636 2008-03-30  Bruno Haible  <bruno@clisp.org>
60637
60638         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60639         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60640
60641 2008-03-30  Bruno Haible  <bruno@clisp.org>
60642
60643         Avoid failure when attempting to return empty iconv results on some
60644         platforms.
60645         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60646         allocation, don't report ENOMEM when the resulting string is empty.
60647
60648 2008-03-30  Bruno Haible  <bruno@clisp.org>
60649
60650         Fix buffer overrun.
60651         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60652         Don't consider the width for tmp_length. Check count against tmp_length
60653         before doing the padding. Ensure enough allocation during padding.
60654
60655 2008-03-30  Eric Blake  <ebb9@byu.net>
60656
60657         strtod touchups.
60658         * lib/strtod.c (strtod): Avoid compiler warnings.
60659         Reported by Jim Meyering.
60660
60661 2008-03-30  Bruno Haible  <bruno@clisp.org>
60662
60663         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60664         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60665         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60666         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60667         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60668         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60669         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60670         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60671
60672         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60673         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60674         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60675         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60676         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60677         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60678         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60679         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60680
60681         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60682         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60683         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60684         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60685         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60686         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60687         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60688         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60689
60690         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60691         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60692
60693         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60694         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60695
60696         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60697         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60698
60699         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60701         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60702
60703         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60704         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60705         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60706
60707         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60708         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
60709         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
60710
60711         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
60712         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
60713         * modules/vasprintf (Depends-on): Add EOVERFLOW.
60714
60715         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
60716         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
60717         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
60718         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
60719         (Depends-on): Add EOVERFLOW.
60720         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
60721         (Depends-on): Add EOVERFLOW.
60722         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60723         (Depends-on): Add EOVERFLOW.
60724         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60725         (Depends-on): Add EOVERFLOW.
60726         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60727         (Depends-on): Add EOVERFLOW.
60728         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60729         (Depends-on): Add EOVERFLOW.
60730         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60731         (Depends-on): Add EOVERFLOW.
60732         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60733         (Depends-on): Add EOVERFLOW.
60734
60735         * lib/sprintf.c (EOVERFLOW): Remove fallback.
60736         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
60737         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
60738
60739         * lib/snprintf.c (EOVERFLOW): Remove fallback.
60740         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
60741         * modules/snprintf (Depends-on): Add EOVERFLOW.
60742
60743         * lib/poll.c (EOVERFLOW): Remove fallback.
60744         * modules/poll (Depends-on): Add EOVERFLOW.
60745
60746         * lib/getugroups.c (EOVERFLOW): Remove fallback.
60747         * modules/getugroups (Depends-on): Add EOVERFLOW.
60748
60749         * lib/getdelim.c (EOVERFLOW): Remove fallback.
60750         * modules/getdelim (Depends-on): Add EOVERFLOW.
60751
60752         * lib/ftell.c (EOVERFLOW): Remove fallback.
60753         * modules/ftell (Depends-on): Add EOVERFLOW.
60754
60755         * lib/fprintf.c (EOVERFLOW): Remove fallback.
60756         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
60757         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
60758
60759         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
60760
60761         * modules/EOVERFLOW-tests: New file.
60762         * tests/test-EOVERFLOW.c: New file.
60763
60764         * modules/EOVERFLOW: New file.
60765         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
60766
60767 2008-03-30  Bruno Haible  <bruno@clisp.org>
60768
60769         Fix bug introduced on 2007-06-10.
60770         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
60771         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
60772
60773 2008-03-30  Bruno Haible  <bruno@clisp.org>
60774
60775         Improve freadseek's efficiency after ungetc.
60776         * lib/freadseek.c: Include freadahead.h.
60777         (freadptrinc): New function, extracted from freadseek.
60778         (freadseek): Use it in a loop. Use freadahead to determine the number
60779         of loop iterations.
60780         * modules/freadseek (Depends-on): Add freadahead.
60781         (configure.ac): Require AC_C_INLINE.
60782
60783 2008-03-30  Bruno Haible  <bruno@clisp.org>
60784
60785         * lib/freadseek.c (freadseek): Don't ignore the return value of
60786         freadptr.
60787
60788 2008-03-29  Eric Blake  <ebb9@byu.net>
60789
60790         Add hex float support.
60791         * modules/strtod (Depends-on): Add c-ctype.
60792         (Link): Mention POW_LIB.
60793         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
60794         whitespace between 'e' and exponent.
60795         * tests/test-strtod.c (main): Enable hex float tests.
60796         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
60797         now provides.
60798
60799         Document various strtod bugs, with some fixes.
60800         * doc/posix-functions/strtod.texi (strtod): Document bugs with
60801         "-0x", "inf", "nan", and hex constants.
60802         * doc/posix-functions/atof.texi (atof): Likewise.
60803         * modules/stdlib (Makefile.am): Support strtod.
60804         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
60805         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
60806         detect additional strtod bugs.
60807         * lib/stdlib.in.h (rpl_strtod): Add declarations.
60808         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
60809         bool where appropriate.  Parse 'inf' and 'nan'.
60810         * tests/test-strtod.c: New file.
60811         * modules/strtod (Depends-on): Add stdbool, stdlib.
60812         (configure.ac): Turn on module indicator.
60813         * modules/strtod-tests: New module.
60814
60815 2008-03-29  Eric Blake  <ebb9@byu.net>
60816
60817         Fix ftell on mingw.
60818         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
60819         * modules/ftell-tests (Depends-on): Add binary-io.
60820         * modules/ftello-tests (Depends-on): Likewise.
60821         * tests/test-ftell.c (main): Enhance test to cover behavior after
60822         ungetc.  Enforce binary mode.
60823         * tests/test-ftello.c (main): Likewise.
60824
60825         Pass test-freadseek on cygwin.
60826         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
60827         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
60828         ungetc buffer.
60829
60830         * tests/test-fflush2.c (main): Fix typo.
60831
60832 2008-03-29  Bruno Haible  <bruno@clisp.org>
60833
60834         * tests/test-fflush2.c (main): Temporarily disable the contents of
60835         this test.
60836         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
60837         Reported by Eric Blake.
60838
60839 2008-03-28  Simon Josefsson  <simon@josefsson.org>
60840
60841         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
60842         (GC_SHA224_DIGEST_SIZE): Add.
60843
60844         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
60845         (gc_hash_digest_length): Likewise.
60846         (gc_hash_buffer): Likewise.
60847
60848 2008-03-25  Bruno Haible  <bruno@clisp.org>
60849
60850         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
60851         detail which gettext release to use.
60852         Reported by Simon Josefsson.
60853
60854 2008-03-26  Jim Meyering  <meyering@redhat.com>
60855
60856         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
60857         * modules/gnumakefile (clean-GNUmakefile): Also, use
60858         test ... && ... || : syntax rather than if-then ... fi.
60859
60860         gnumakefile: Don't double-quote-expand $(VPATH) value.
60861         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
60862
60863 2008-03-24  Eric Blake  <ebb9@byu.net>
60864
60865         Alter GNUmakefile to install into top directory.
60866         * modules/maintainer-makefile: Split, and add dependency...
60867         * modules/gnumakefile: to this new module.
60868         * build-aux/GNUmakefile: Move...
60869         * top/GNUmakefile: ...here.
60870         * build-aux/maint.mk: Move...
60871         * top/maint.mk: ...here.
60872         * MODULES.html.sh (Support for maintaining...): Document new
60873         module.
60874
60875 2008-03-23  Bruno Haible  <bruno@clisp.org>
60876
60877         * gnulib-tool: New options --vc-files, --no-vc-files.
60878         (func_usage): Document them.
60879         (vc_files): New variable.
60880         (func_import): Consider vc_files.
60881         (func_create_testdir): Set vc_files to empty.
60882         Suggested by Jim Meyering and Karl Berry.
60883
60884 2008-03-23  Bruno Haible  <bruno@clisp.org>
60885
60886         Fix regex compilation error on HP-UX 11.
60887         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
60888         * modules/regex (Files): Add m4/mbstate_t.m4.
60889         Reported by Ton Voon <ton.voon@altinity.com>.
60890
60891 2008-03-23  Bruno Haible  <bruno@clisp.org>
60892
60893         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
60894
60895 2008-03-23  Eric Blake  <ebb9@byu.net>
60896             Bruno Haible  <bruno@clisp.org>
60897
60898         Install files from top/ in the destination directory.
60899         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60900         augmentation also for the files from top/.
60901         (func_import, func_create_testdir): Rewrite file names:
60902         top/filename -> filename.
60903
60904 2008-03-23  Bruno Haible  <bruno@clisp.org>
60905
60906         Tweak "gnulib --version" output.
60907         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
60908
60909 2008-03-23  Bruno Haible  <bruno@clisp.org>
60910
60911         Tweak "gnulib --version" output.
60912         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
60913         rather than contents of ChangeLog, when possible.
60914
60915 2008-03-21  Eric Blake  <ebb9@byu.net>
60916
60917         More --version tweaks.
60918         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
60919         date of last ChangeLog entry.
60920
60921 2008-03-21  Jim Meyering  <meyering@redhat.com>
60922
60923         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
60924
60925 2008-03-20  Eric Blake  <ebb9@byu.net>
60926
60927         VPATH fix.
60928         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
60929
60930 2008-03-20  Simon Josefsson  <simon@josefsson.org>
60931
60932         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
60933         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
60934
60935 2008-03-20  Eric Blake  <ebb9@byu.net>
60936
60937         Sync GNUmakefile with coreutils.
60938         * build-aux/GNUmakefile (have-Makefile): Rename...
60939         (_have-Makefile): ...to this, for namespace consideration.
60940         (GNUmakefile.cfg): Include, if present.
60941         (_autoreconf): Define a default.
60942         (_is-dist-target): New rule for rebuilds to pick up intra-release
60943         version.
60944         (maint-cfg.mk): Rename...
60945         (cfg.mk): ...to this.
60946
60947 2008-03-18  Jim Meyering  <meyering@redhat.com>
60948
60949         New script and module: mktempd
60950         * MODULES.html.sh (maint+release support): Add mktempd.
60951         * build-aux/mktempd: New file.
60952         * modules/mktempd: New file.
60953
60954 2008-03-15  Jim Meyering  <meyering@redhat.com>
60955
60956         Undo last change.
60957         * lib/sha1.c, lib/md5.c: 63 != ~63.
60958         Reported by Andreas Schwab.
60959
60960         sha1.c, md5.c: Hoist a redundant expression.
60961         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
60962         "ctx->buflen" only once, before calling *_process_block.
60963         * lib/md5.c (md5_process_bytes): Likewise.
60964
60965 2008-03-14  Eric Blake  <ebb9@byu.net>
60966
60967         Bump copyright year in files generated by gnulib-tool.
60968         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
60969         gnulib-tool, rather than hard-coding it.
60970
60971         Fix 'gnulib-tool --version' output to work with git.
60972         * gnulib-tool (func_gnulib_dir): New function, extracted from...
60973         (startup): ...here.
60974         (func_version): Use it to invoke git-version-gen, rather than
60975         relying on CVS keyword expansion.  Modernize wording.
60976         (cvsdatestamp, last_checkin_date, version): Kill unused
60977         variables.
60978
60979 2008-03-12  Jim Meyering  <meyering@redhat.com>
60980
60981         Recognize optional cast of the argument to free.
60982         * build-aux/useless-if-before-free: Update regexps.
60983
60984         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
60985
60986 2008-03-11  Bruno Haible  <bruno@clisp.org>
60987
60988         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
60989         by a single package.
60990         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
60991         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
60992         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
60993         Reported by Sam Steingold <sds@gnu.org>.
60994
60995 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60996
60997         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
60998         repositories.
60999
61000 2008-03-11  Bruno Haible  <bruno@clisp.org>
61001
61002         Avoid conflicts between local macro definitions.
61003         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61004         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61005
61006 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61007             Bruno Haible  <bruno@clisp.org>
61008
61009         Make va_copy work with some version of xlc on AIX 5.1.
61010         * lib/stdarg.in.h: New file.
61011         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61012         On AIX, use a <stdarg.h> file substitute.
61013         * modules/stdarg (Files): Add lib/stdarg.in.h.
61014         (Depends-on): Add include_next.
61015         (Makefile.am): Build a stdarg.h substitute if requested.
61016         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61017
61018 2008-03-10  Bruno Haible  <bruno@clisp.org>
61019
61020         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61021         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61022         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61023
61024 2008-03-10  Bruno Haible  <bruno@clisp.org>
61025
61026         * modules/stdlib (Depends-on): Add include_next, remove
61027         absolute-header.
61028
61029 2008-03-09  Bruno Haible  <bruno@clisp.org>
61030
61031         * lib/freadahead.h (freadahead): Document more precisely.
61032         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61033         the sum of both buffer sizes.
61034         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61035         * NEWS: Document the change.
61036
61037 2008-03-09  Bruno Haible  <bruno@clisp.org>
61038
61039         Extend freadptr to return also the buffer size.
61040         * lib/freadptr.h (freadptr): Add sizep argument.
61041         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61042         (freadptr): Add sizep argument. Determine buffer size like freadahead
61043         does.
61044         * tests/test-freadptr.c: Don't include freadahead.h.
61045         (main): Adapt for new calling convention of freadptr.
61046         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61047         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61048         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61049         tests/test-freadptr2.sh.
61050         (Depends): Remove freadahead.
61051         (TESTS): Add test-freadptr2.sh.
61052         (check_PROGRAMS): Add test-freadptr2.
61053
61054 2008-03-09  Bruno Haible  <bruno@clisp.org>
61055
61056         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61057         Report and solution by Simon Josefsson.
61058
61059 2008-03-06  Bruno Haible  <bruno@clisp.org>
61060
61061         Make fflush after ungetc work on BSD platforms.
61062         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61063         * tests/test-fflush2.c: New file.
61064         * tests/test-fflush2.sh: New file.
61065         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61066         tests/test-fflush2.c.
61067         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61068         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61069
61070 2008-03-06  Eric Blake  <ebb9@byu.net>
61071
61072         Likewise for ftello.
61073         * modules/ftello (Dependencies): Add extensions.
61074         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61075
61076 2008-03-06  Bruno Haible  <bruno@clisp.org>
61077
61078         * modules/fseeko (Dependencies): Add extensions.
61079         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61080         Needed on glibc systems.
61081
61082 2008-03-06  Bruno Haible  <bruno@clisp.org>
61083
61084         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61085         email address.
61086         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61087
61088 2008-03-06  Bruno Haible  <bruno@clisp.org>
61089
61090         * users.txt: Add libgnupdf.
61091
61092 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61093
61094         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61095         (Header File Substitutes, Function Substitutes,
61096         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61097         (Build robot for gnulib): Fix typo.
61098
61099 2008-03-06  Bruno Haible  <bruno@clisp.org>
61100
61101         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61102         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61103
61104 2008-03-06  Bruno Haible  <bruno@clisp.org>
61105
61106         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61107         * doc/gnulib.texi: Include it.
61108
61109 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61110
61111         * modules/func (License): Change license to unlimited; there was
61112         no LGPL parts in the module anyway.
61113
61114 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61115
61116         * modules/__func__: Renamed to modules/func.
61117         * modules/__func__-tests: Renamed to modules/func-tests.
61118         * tests/test-__func__.c: Renamed to tests/test-func.c.
61119         * m4/__func__.m4: Renamed to m4/func.m4.
61120         * doc/gnulib.texi (__func__): Section renamed to func.
61121         Suggested by Eric Blake <ebb9@byu.net>.
61122
61123 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61124
61125         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61126         about __func__.  Make example self-contained.  Suggested by Eric
61127         Blake <ebb9@byu.net>.
61128
61129         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61130         Suggested by Eric Blake <ebb9@byu.net>.
61131
61132 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61133
61134         * modules/__func__: New file.
61135         * modules/__func__-tests: New file.
61136         * tests/test-__func__.c: New file.
61137         * m4/__func__.m4: New file.
61138         * doc/gnulib.texi (__func__): Document __func__ module.
61139
61140 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61141
61142         * modules/byteswap (License): Re-license as LGPLv2+.
61143
61144 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61145
61146         * doc/Makefile: Add pdf target.
61147
61148 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61149
61150         * modules/inline (License): Use 'unlimited', since there are only
61151         *.m4 files in this module.
61152
61153 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61154             Bruno Haible  <bruno@clisp.org>
61155
61156         Add support for HP C 7.1 on OpenVMS 8.3.
61157         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61158
61159 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61160
61161         Update VMS specifics.
61162         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61163
61164 2008-03-02  Jim Meyering  <meyering@redhat.com>
61165
61166         Remove the last dependency on the "free" module.
61167         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61168         Reported by Bob Proulx.
61169
61170         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61171
61172         Remove useless "if" tests before free.  Deprecate "free" module.
61173         * doc/posix-functions/free.texi: Mention that this
61174         module is no longer useful.
61175         * modules/free (Notice): Say this module is obsolete.
61176         * modules/readutmp (Depends-on): Remove free.
61177         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61178         * lib/putenv.c (putenv): Likewise.
61179         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61180         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61181         * tests/test-c-strcasestr.c (main): Likewise.
61182         * tests/test-c-strstr.c (main): Likewise.
61183         * tests/test-mbscasestr1.c (main): Likewise.
61184         * tests/test-mbscasestr2.c (main): Likewise.
61185         * tests/test-mbsstr1.c (main): Likewise.
61186         * tests/test-mbsstr2.c (main): Likewise.
61187         * tests/test-memmem.c (main): Likewise.
61188         * tests/test-strcasestr.c (main): Likewise.
61189         * tests/test-striconv.c (main): Likewise.
61190         * tests/test-striconveh.c (main): Likewise.
61191         * tests/test-striconveha.c (main): Likewise.
61192         * tests/test-strstr.c (main): Likewise.
61193
61194         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61195
61196         bootstrap: sync from coreutils again
61197         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61198
61199 2008-03-01  Jim Meyering  <meyering@redhat.com>
61200
61201         bootstrap: sync from coreutils
61202         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61203         also when the target doesn't exist.
61204
61205 2008-03-01  Eric Blake  <ebb9@byu.net>
61206
61207         Fix bugs in last patch.
61208         * lib/memchr2.c (memchr2): Fix typo.
61209         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61210         extension.
61211         Reported by Bruce Korb.
61212
61213         New module 'memchr2'.
61214         * modules/memchr2: New file.
61215         * modules/memchr2-tests: Likewise.
61216         * lib/memchr2.h: Likewise.
61217         * lib/memchr2.c: Likewise, based on memchr.c.
61218         * tests/test-memchr2.c: New test.
61219         * MODULES.html.sh (String handling): Add memchr2.
61220
61221 2008-02-29  Bruno Haible  <bruno@clisp.org>
61222
61223         * modules/freadseek-tests: New file.
61224         * tests/test-freadseek.sh: New file.
61225         * tests/test-freadseek.c: New file.
61226
61227         New module 'freadseek'.
61228         * modules/freadseek: New file.
61229         * lib/freadseek.h: New file.
61230         * lib/freadseek.c: New file.
61231         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61232
61233 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61234
61235         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61236         wydawca.
61237
61238         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61239         program_invocation_name and program_invocation_short_name are
61240         present.
61241
61242 2008-02-28  Bruno Haible  <bruno@clisp.org>
61243
61244         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61245         * tests/test-freadptr.sh: Also test non-seekable stdin.
61246
61247 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61248
61249         * build-aux/bootstrap (source_base, m4_base)
61250         (doc_base, tests_base): New variables.
61251         (gnulib_tool_options): Do not hardcode base directories, use
61252         the above variables instead.
61253
61254 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61255
61256         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61257
61258 2008-02-28  Bruno Haible  <bruno@clisp.org>
61259
61260         * modules/freadptr-tests: New file.
61261         * tests/test-freadptr.sh: New file.
61262         * tests/test-freadptr.c: New file.
61263
61264         New module 'freadptr'.
61265         * modules/freadptr: New file.
61266         * lib/freadptr.h: New file.
61267         * lib/freadptr.c: New file.
61268         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61269
61270 2008-02-26  Karl Berry  <karl@freefriends.org>
61271
61272         Sync from Libtool:
61273         * libltdl/argz.c (argz_add, argz_count): New functions.
61274         * libltdl/argz.in.h: Declare them.
61275         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61276
61277 2008-02-22  Bruno Haible  <bruno@clisp.org>
61278
61279         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61280         is a pointer type.  Needed for HP-UX 10.
61281         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61282         * doc/posix-functions/gmtime_r.texi: Likewise.
61283         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61284
61285 2008-02-24  Bruno Haible  <bruno@clisp.org>
61286
61287         * modules/environ-tests: New file.
61288         * tests/test-environ.c: New file.
61289
61290         New module 'environ'.
61291         * modules/environ: New file.
61292         * lib/unistd.in.h (environ): New declaration.
61293         * m4/environ.m4: New file.
61294         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61295         after use.
61296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61297         HAVE_DECL_ENVIRON.
61298         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61299         HAVE_DECL_ENVIRON.
61300         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61301         wrong claim that 'environ' is missing on some systems.
61302         * modules/execute (Depends-on): Add environ.
61303         * lib/execute.c (environ): Remove fallback declaration.
61304         * modules/pipe (Depends-on): Add environ.
61305         * lib/pipe.c (environ): Remove fallback declaration.
61306         * modules/setenv (Depends-on): Add environ.
61307         * lib/setenv.c (environ): Remove fallback declaration.
61308         * modules/unsetenv (Depends-on): Add environ.
61309         * lib/unsetenv.c (environ): Remove fallback declaration.
61310         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61311         m4/environ.m4.
61312         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61313         (gl_PREREQ_UNSETENV): Likewise.
61314
61315 2008-02-24  Bruno Haible  <bruno@clisp.org>
61316
61317         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61318
61319 2008-02-20  Bob Proulx  <bob@proulx.com>
61320
61321         Enable use of older two part flavor 'git describe'.
61322         * build-aux/git-version-gen: If using the older two part flavor of
61323         git version then recreate the third part now present in the
61324         newer three part flavor of git describe.
61325
61326 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61327
61328         * lib/fts.c (fts_build): Typo correction to comment.
61329
61330 2008-02-17  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61333         generating no-op conflicts.
61334
61335 2008-02-17  Bruno Haible  <bruno@clisp.org>
61336
61337         Speed up by 10%.
61338         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61339         result_entries, rather than an index-based loop.
61340
61341 2008-02-17  Bruno Haible  <bruno@clisp.org>
61342
61343         Speed up by 25%.
61344         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61345         'hashcode_cached'.
61346         (entry_create): New function.
61347         (entry_hashcode): Use the cached hashcode if possible.
61348         (read_changelog_file, try_split_merged_entry): Use entry_create.
61349
61350 2008-02-17  Bruno Haible  <bruno@clisp.org>
61351
61352         Speed up from O(n^2) to O(n) for long ChangeLog files.
61353         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61354         (read_changelog_file): Change implementation of entries_reversed list
61355         to rbtreehash.
61356         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61357
61358 2008-02-17  Bruno Haible  <bruno@clisp.org>
61359
61360         New option --split-merged-entry.
61361         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61362         (find_paragraph_end, try_split_merged_entry): New functions.
61363         (long_options): Add option --split-merged-entry.
61364         (usage): Document option --split-merged-entry.
61365         (main): Implement option --split-merged-entry.
61366         Reported by Eric Blake.
61367
61368 2008-02-17  Bruno Haible  <bruno@clisp.org>
61369
61370         * lib/git-merge-changelog.c: Include c-strstr.h.
61371         (main): Support the "git pull --rebase" situation.
61372         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61373         Reported by Eric Blake.
61374
61375 2008-02-16  Eric Blake  <ebb9@byu.net>
61376
61377         Avoid doubling \ in common case of "c-maybe" quoting style.
61378         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61379         eliding outer quotes.
61380         * lib/quotearg.h: Document this.
61381         * tests/test-quotearg.c (result_strings, inputs, results_g)
61382         (flag_results, locale_results): Test it by adding a new string to
61383         each test group.
61384         (compare_strings): Test new string.
61385
61386 2008-02-13  Eric Blake  <ebb9@byu.net>
61387
61388         Avoid trigraph quoting in default output.
61389         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61390         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61391         unless explicitly requested.
61392         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61393
61394 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61395
61396         Don't rely on signed integer overflowing to negative value.
61397         * lib/getugroups.c (getugroups): Include <limits.h>.
61398         Instead, compare against INT_MAX, and increment only if the test passes.
61399
61400 2008-02-13  Jim Meyering  <meyering@redhat.com>
61401         and Eric Blake  <ebb9@byu.net>
61402
61403         Avoid shadowing warning and compile errors on Linux.
61404         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61405         forwarding macros on Linux.
61406         (dcgettext): Define a stub, for Linux.
61407         (results_g, main): Avoid warnings.
61408
61409 2008-02-12  Eric Blake  <ebb9@byu.net>
61410
61411         Silence warning in last patch.
61412         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61413
61414         Quotearg part 4: add tests, fix c-maybe colon quoting.
61415         * lib/quotearg.h: Improve documentation.
61416         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61417         escapes when adding outer quotes.  When quoting trigraphs, use
61418         valid C notation.  When quoting NUL, omit extra characters if next
61419         character is not digit.  Alter prototype.
61420         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61421         callers.
61422         * modules/quotearg-tests: New module.
61423         * tests/test-quotearg.c: New test.
61424
61425 2008-02-07  Eric Blake  <ebb9@byu.net>
61426
61427         Quotearg part 3: add flag to control outer quote elision.
61428         * lib/quotearg.h (c_maybe_quoting_style): New style.
61429         (enum quoting_flags): Better documentation of flags.
61430         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61431         c-maybe style.
61432         (quotearg_buffer_restyled): Handle new flag to elide outer
61433         quotes.
61434
61435         Quotearg part 2: add flag that can control NUL elision.
61436         * lib/quotearg.h (set_quoting_flags): New prototype.
61437         * lib/quotearg.c (struct quoting_options): Add flag field.
61438         (set_quoting_flags): New function.
61439         (quotearg_buffer_restyled): Add flags parameter.
61440         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61441         (quotearg_n_options): Set the flag, since length cannot be
61442         returned.
61443         (quoting_options_from_style): Default flags correctly.
61444
61445         Quotearg part 1: more wrappers, restore quotearg_char state.
61446         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61447         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61448         (quotearg_colon_mem): New wrappers.
61449         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61450         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61451         functions.
61452         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61453         (quotearg_colon_mem): New functions.
61454
61455 2008-02-11  Bruno Haible  <bruno@clisp.org>
61456
61457         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61458         library in the current directory: it does not work with parallel make.
61459         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61460
61461 2008-02-11  Bruno Haible  <bruno@clisp.org>
61462
61463         * .gitattributes: New file.
61464
61465 2008-02-11  Jim Meyering  <meyering@redhat.com>
61466
61467         useless-if-before-free: Fix reversed exit values.
61468         * build-aux/useless-if-before-free: Use correct values
61469         for EXIT_MATCH and EXIT_NO_MATCH.
61470
61471         * build-aux/useless-if-before-free: Close stdout carefully.
61472
61473 2008-02-10  Bruno Haible  <bruno@clisp.org>
61474
61475         New module 'git-merge-changelog'.
61476         * modules/git-merge-changelog: New file.
61477         * lib/git-merge-changelog.c: New file.
61478
61479 2008-02-10  Jim Meyering  <meyering@redhat.com>
61480
61481         useless-if-before-free: New option: --list (-l).
61482
61483         useless-if-before-free: Don't exit immediately upon open failure.
61484         * build-aux/useless-if-before-free: Exit 2 for errors.
61485         Upon failure to open a file, don't exit immediately.
61486         Rather, just warn and continue with any remaining files.
61487
61488 2008-02-10  Bruno Haible  <bruno@clisp.org>
61489
61490         New abstract list operation 'node_set_value'.
61491         * lib/gl_list.h (gl_list_node_set_value): New function.
61492         (struct gl_list_implementation): New field node_set_value.
61493         * lib/gl_list.c (gl_list_node_set_value): New function.
61494         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61495         (gl_array_list_implementation): Update.
61496         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61497         (gl_carray_list_implementation): Update.
61498         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61499         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61500         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61501         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61502         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61503         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61504         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61505         Update.
61506         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61507         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61508         (gl_sublist_list_implementation): Update.
61509
61510 2008-02-10  Bruno Haible  <bruno@clisp.org>
61511
61512         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61513         Needed when ELEMENT is #defined to 'some_type *'.
61514
61515 2008-02-10  Jim Meyering  <meyering@redhat.com>
61516
61517         New script and module: useless-if-before-free
61518         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61519         * build-aux/useless-if-before-free: New file.
61520         * modules/useless-if-before-free: New file.
61521
61522         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61523
61524         xstrtol_error: Fix typo.
61525         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61526         s/exit_failure/exit_status/.
61527
61528 2008-02-09  Jim Meyering  <meyering@redhat.com>
61529
61530         New script and module: gitlog-to-changelog
61531         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61532         * modules/gitlog-to-changelog: New file.
61533         * build-aux/gitlog-to-changelog: New file.
61534
61535 2008-02-08  Jim Meyering  <meyering@redhat.com>
61536
61537         Avoid two "parameter unused" warnings.
61538         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61539         Mark "st" as used.
61540
61541         Use "git COMMAND", not "git-COMMAND".
61542         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61543         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61544         * build-aux/git-version-gen: Use "git status", not "git-status".
61545
61546 2008-02-07  Bruno Haible  <bruno@clisp.org>
61547
61548         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61549         Avoids a crash on Windows Vista.
61550         Reported by Adam Strzelecki <ono@java.pl> via
61551         Simon Josefsson <simon@josefsson.org>.
61552
61553 2008-02-06  Bruno Haible  <bruno@clisp.org>
61554
61555         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61556         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61557         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61558         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61559         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61560         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61561         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61562         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61563         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61564         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61565         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61566         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61567         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61568         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61569         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61570         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61571         left-adjust flag.
61572         * tests/test-snprintf-posix.h (test_function): Likewise.
61573         * tests/test-sprintf-posix.h (test_function): Likewise.
61574         * tests/test-vasprintf-posix.c (test_function): Likewise.
61575         * doc/posix-functions/fprintf.texi: Update.
61576         * doc/posix-functions/printf.texi: Update.
61577         * doc/posix-functions/snprintf.texi: Update.
61578         * doc/posix-functions/sprintf.texi: Update.
61579         * doc/posix-functions/vfprintf.texi: Update.
61580         * doc/posix-functions/vprintf.texi: Update.
61581         * doc/posix-functions/vsnprintf.texi: Update.
61582         * doc/posix-functions/vsprintf.texi: Update.
61583         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61584
61585 2008-02-06  Bruno Haible  <bruno@clisp.org>
61586
61587         Fix bug introduced on 2008-01-26.
61588         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61589
61590 2008-02-06  Bruno Haible  <bruno@clisp.org>
61591
61592         Fix bug introduced on 2007-06-10.
61593         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61594         !NEED_PRINTF_FLAG_ZERO.
61595
61596 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61597
61598         getloadavg: use libperfstat on AIX5
61599         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61600
61601 2008-02-03  Bruno Haible  <bruno@clisp.org>
61602
61603         * lib/diffseq.h: Add comments about required #includes.
61604         Reported by Michael Biggs <gnulib@doubleplum.net>.
61605
61606 2008-02-01  Bruno Haible  <bruno@clisp.org>
61607
61608         * users.txt: Add gnuit.
61609
61610 2008-01-31  Bruno Haible  <bruno@clisp.org>
61611
61612         * lib/md4.c (set_uint32): Mark as inline.
61613         * lib/md5.c (set_uint32): Likewise.
61614         * lib/sha1.c (set_uint32): Likewise.
61615         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61616         * m4/md5.m4 (gl_MD5): Likewise.
61617         * m4/sha1.m4 (gl_SHA1): Likewise.
61618
61619 2008-01-31  Jim Meyering  <meyering@redhat.com>
61620
61621         Use "sizeof VAR", rather than a literal "4".
61622         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61623         * lib/md4.c (md4_read_ctx): Likewise.
61624         * lib/sha1.c (sha1_read_ctx): Likewise.
61625
61626 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61627
61628         * tests/test-sha1.c: New file, based on test-md5.c.
61629
61630         * modules/crypto/sha1-tests: New file.
61631
61632 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61633
61634         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61635
61636 2008-01-31  Jim Meyering  <meyering@redhat.com>
61637
61638         Prefer "sizeof v" over the equivalent "4".
61639         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61640         * lib/md5.c (set_uint32): Likewise.
61641         * lib/sha1.c (set_uint32): Likewise.
61642
61643 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61644
61645         * lib/sha1.c (set_uint32): Mark function as static.
61646
61647 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61648
61649         md2: clarify comments to say that alignment is not required.
61650         * lib/md2.h: Remove warning about alignment in comment.
61651         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61652         never been required.
61653
61654 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61655
61656         md4: adapt alignment constraint fix from sha1.
61657         * lib/md4.c (set_uint32): New function, from sha1.c
61658         (md4_read_ctx): Use it.
61659         (md4_finish_ctx): Doc fix.
61660         * lib/md4.h: Doc fix.
61661
61662 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61663
61664         md5: adapt alignment constraint fix from sha1.
61665         * lib/md5.c (set_uint32): New function, from sha1.c
61666         (md5_read_ctx): Use it.
61667         (md5_finish_ctx): Doc fix.
61668         * lib/md5.h: Doc fix.
61669
61670 2008-01-30  Peter Palfrader  <weasel@debian.org>
61671
61672         sha1: remove the result buffer alignment constraint
61673         * lib/sha1.c (set_uint32): New function.
61674         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61675         constraint.
61676         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61677         * lib/sha1.h: Likewise.
61678
61679 2008-01-30  Andreas Schwab  <schwab@suse.de>
61680             Bruno Haible  <bruno@clisp.org>
61681
61682         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61683         correct definition of LDBL_MIN_EXP.
61684
61685 2008-01-30  Karl Berry  <karl@gnu.org>
61686
61687         * config/srclist-update: try to preserve x bit on updates.
61688         * config/srclistvars.sh: update for karl.
61689
61690 2008-01-29  Jim Meyering  <meyering@redhat.com>
61691
61692         vasnprintf.c: Avoid warning about unused label
61693         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61694         "overflow" label definition and associated code with the
61695         same cpp condition that guards the sole use of that label.
61696
61697 2008-01-26  Bruno Haible  <bruno@clisp.org>
61698
61699         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61700         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61701         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61702         * lib/isnanl-nolibm.h (isnanl): Likewise.
61703         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61704
61705 2008-01-26  Bruno Haible  <bruno@clisp.org>
61706
61707         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61708         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
61709
61710 2008-01-26  Bruno Haible  <bruno@clisp.org>
61711
61712         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
61713         GCC >= 4.0 built-in.
61714         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
61715
61716 2008-01-26  Bruno Haible  <bruno@clisp.org>
61717
61718         Rename isnan, applicable to 'double' only, to isnand.
61719         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
61720         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
61721         (configure.ac): Update.
61722         (Include): Replace "isnan.h" with "isnand.h".
61723         * m4/isnand.m4: Renamed from m4/isnan.m4.
61724         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
61725         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
61726         instead of isnan.c.
61727         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
61728         instead of HAVE_ISNAN_IN_LIBC.
61729         (isnand): Renamed from isnan.
61730         * lib/isnand.c: New file.
61731         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
61732         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
61733         (Makefile.am): Update.
61734         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
61735         Include isnand.h instead of isnan.h.
61736         (main): Test isnand instead of isnan.
61737         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
61738         isnan-nolibm.
61739         * modules/frexp (Depends-on): Likewise.
61740         * modules/frexp-tests (Depends-on): Likewise.
61741         * modules/frexp-nolibm (Depends-on): Likewise.
61742         * modules/frexp-nolibm-tests (Depends-on): Likewise.
61743         * modules/isfinite (Depends-on): Likewise.
61744         * modules/round-tests (Depends-on): Likewise.
61745         * modules/signbit (Depends-on): Likewise.
61746         * modules/signbit-tests (Depends-on): Likewise.
61747         * modules/snprintf-posix (Depends-on): Likewise.
61748         * modules/sprintf-posix (Depends-on): Likewise.
61749         * modules/trunc-tests (Depends-on): Likewise.
61750         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61751         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61752         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61753         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61754         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61755         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61756         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61757         * modules/vasnprintf-posix (Depends-on): Likewise.
61758         * modules/vasprintf-posix (Depends-on): Likewise.
61759         * modules/vfprintf-posix (Depends-on): Likewise.
61760         * modules/vsnprintf-posix (Depends-on): Likewise.
61761         * modules/vsprintf-posix (Depends-on): Likewise.
61762         * lib/frexp.c: Include isnand.h instead of isnan.h.
61763         (ISNAN): Set to isnand instead of isnan.
61764         * lib/isfinite.c: Include isnand.h instead of isnan.h.
61765         (gl_isfinited): Use isnand instead of isnan.
61766         * lib/signbitd.c: Include isnand.h instead of isnan.h.
61767         (gl_signbitd): Use isnand instead of isnan.
61768         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
61769         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
61770         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
61771         (main): Use isnand instead of isnan.
61772         * tests/test-round1.c: Include isnand.h.
61773         (main): Use isnand instead of isnan.
61774         * tests/test-round2.c: Include isnand.h instead of isnan.h.
61775         (ISNAN): Set to isnand instead of isnan.
61776         * tests/test-trunc1.c: Include isnand.h.
61777         (main): Use isnand instead of isnan.
61778         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
61779         (equal): Use isnand instead of isnan.
61780         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
61781         isnand-nolibm.
61782         * NEWS: Mention the change.
61783
61784 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61785             Bruno Haible  <bruno@clisp.org>
61786
61787         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
61788         the GCC builtins for signbits are present and set
61789         REPLACE_SIGNBIT_USING_GCC if so.
61790         * lib/math.in.h (signbit): Define using GCC builtins if
61791         REPLACE_SIGNBIT_USING_GCC is set.
61792         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
61793         REPLACE_SIGNBIT_USING_GCC.
61794         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
61795
61796 2008-01-25  Jim Meyering  <meyering@redhat.com>
61797
61798         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
61799         * lib/poll.c: Include <config.h>, not "config.h".
61800         * tests/test-getaddrinfo.c: Likewise.
61801
61802 2008-01-25  Simon Josefsson  <simon@josefsson.org>
61803
61804         * modules/sockets-tests: New file.
61805
61806 2008-01-24  Simon Josefsson  <simon@josefsson.org>
61807
61808         * modules/sockets: New module, can be used to call WSA_Startup and
61809         WSA_Cleanup when needed.
61810
61811         * lib/sockets.h, lib/sockets.c: New files.
61812
61813         * m4/sockets.m4: New file.
61814
61815         * tests/test-sockets.c: New file.
61816
61817 2008-01-19  Bruno Haible  <bruno@clisp.org>
61818
61819         * doc/posix-headers: Renamed from doc/headers.
61820         * doc/posix-functions: Renamed from doc/functions.
61821         * doc/gnulib.texi: Update.
61822
61823 2008-01-19  Bruno Haible  <bruno@clisp.org>
61824
61825         * doc/glibc-functions/strcasestr.texi: Include contents of
61826         doc/functions/strcasestr.texi, fixing the list of platforms.
61827         * doc/functions/strcasestr.texi: Remove file.
61828
61829 2008-01-19  Bruno Haible  <bruno@clisp.org>
61830
61831         * doc/glibc-functions/memmem.texi: Include contents of
61832         doc/functions/memmem.texi.
61833         * doc/functions/memmem.texi: Remove file.
61834
61835 2008-01-18  Bruno Haible  <bruno@clisp.org>
61836
61837         * doc/glibc-functions/*.texi: New files.
61838         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
61839         to use the new files.
61840
61841 2008-01-17  Bruno Haible  <bruno@clisp.org>
61842
61843         * tests/test-gethostname.c (main): Fix printf statement.
61844
61845 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61846
61847         * modules/gethostname-tests: New file.
61848
61849         * tests/test-gethostname.c: New file.
61850
61851 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61852
61853         * lib/gethostname.c: Include string.h unconditionally, strncpy is
61854         used by the UNAME case.  Reported by Bruno Haible
61855         <bruno@clisp.org>.
61856
61857 2008-01-17  Eric Blake  <ebb9@byu.net>
61858
61859         Convert c-strcasestr to be more efficient.
61860         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
61861         (Depends-on): Add c-strcase, remove malloca, strnlen.
61862         * tests/test-c-strcasestr.c (main): Enhance test.
61863         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
61864
61865 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61866
61867         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
61868         Use it in creating po/Makevars.
61869
61870 2008-01-15  Simon Josefsson  <simon@josefsson.org>
61871
61872         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
61873         Applications that requires it should initialize libgcrypt
61874         manually.
61875
61876 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61877
61878         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61879
61880 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61881
61882         Fix problem with getdate on mingw32 reported by Simon Josefsson
61883         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
61884         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
61885         tzname", when deciding whether to declare tzname.
61886         * lib/strftime.c (tzname): Likewise.
61887
61888 2008-01-15  Bruno Haible  <bruno@clisp.org>
61889
61890         Work around a MacOS X 10.5 bug in frexpl().
61891         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
61892         * doc/functions/frexpl.texi: Document the bug.
61893         Reported by Elias Pipping <pipping@gentoo.org>.
61894
61895 2008-01-14  Eric Blake  <ebb9@byu.net>
61896
61897         Touch up previous patch.
61898         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
61899         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
61900
61901         Convert strcasestr module to use Two-Way algorithm.
61902         * modules/strcasestr-simple: New module, based on the old
61903         strcasestr, but with Two-Way rather than KMP.
61904         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
61905         * lib/string.in.h (rpl_strcasestr): Declare.
61906         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
61907         performance.
61908         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
61909         * modules/string (Makefile.am): Support strcasestr.
61910         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61911         * modules/strcasestr-tests (Depends-on): Check for alarm.
61912         * tests/test-strcasestr.c: Augment test.
61913         * lib/str-two-way.h: Clean up stray macro.
61914         * NEWS: Document new module.
61915         * MODULES.html.sh (string handling): Likewise.
61916         * doc/functions/strcasestr.texi: New file.
61917         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
61918         here, since it is not a POSIX function.
61919
61920 2008-01-14  Colin Watson  <cjwatson@debian.org>
61921             Bruno Haible  <bruno@clisp.org>
61922
61923         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
61924         works fine; if not, set REPLACE_STRSIGNAL.
61925         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
61926         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61927         REPLACE_STRSIGNAL.
61928         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
61929         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
61930         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
61931
61932 2008-01-14  Bruno Haible  <bruno@clisp.org>
61933
61934         * modules/strsignal (Include): Change to <string.h>.
61935
61936 2008-01-14  Colin Watson  <cjwatson@debian.org>
61937
61938         * modules/argp (Notice): Add a notice recommending to change
61939         XGETTEXT_OPTIONS.
61940         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
61941
61942 2008-01-13  Colin Watson  <cjwatson@debian.org>
61943
61944         * modules/strsignal-tests: New file.
61945         * tests/test-strsignal.c: New file.
61946
61947         * lib/strsignal.c: New file, from glibc with modifications.
61948         * lib/siglist.h: New file, from glibc with modifications.
61949         * lib/string.in.h (strsignal): New declaration.
61950         * m4/strsignal.m4: New file.
61951         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61952         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
61953         * modules/strsignal: New file.
61954         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
61955         HAVE_DECL_STRSIGNAL.
61956
61957 2008-01-13  Bruno Haible  <bruno@clisp.org>
61958
61959         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
61960         locale encoding is not ASCII. Needed for OpenBSD 4.0.
61961         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61962         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61963
61964 2008-01-13  Bruno Haible  <bruno@clisp.org>
61965
61966         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
61967         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
61968         * lib/argp.h (__attribute__): Likewise.
61969         * lib/c-stack.c (__attribute__): Likewise.
61970         * lib/error.h (__attribute__): Likewise.
61971         * lib/fts.c (__attribute__): Likewise.
61972         * lib/openat.h (__attribute__): Likewise.
61973         * lib/stdio.in.h (__attribute__): Likewise.
61974         * lib/string.in.h (__attribute__): Likewise.
61975         * lib/utimens.c (__attribute__): Likewise.
61976         * lib/vasnprintf.h (__attribute__): Likewise.
61977         * lib/xalloc.h (__attribute__): Likewise.
61978         * lib/xprintf.h (__attribute__): Likewise.
61979         * lib/xstrtol.h (__attribute__): Likewise.
61980         * lib/xvasprintf.h (__attribute__): Likewise.
61981
61982 2008-01-12  Bruno Haible  <bruno@clisp.org>
61983
61984         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
61985         * doc/glibc-headers/a.out.texi: New file.
61986         * doc/glibc-headers/aliases.texi: New file.
61987         * doc/glibc-headers/alloca.texi: New file.
61988         * doc/glibc-headers/ar.texi: New file.
61989         * doc/glibc-headers/argp.texi: New file.
61990         * doc/glibc-headers/argz.texi: New file.
61991         * doc/glibc-headers/byteswap.texi: New file.
61992         * doc/glibc-headers/crypt.texi: New file.
61993         * doc/glibc-headers/endian.texi: New file.
61994         * doc/glibc-headers/envz.texi: New file.
61995         * doc/glibc-headers/err.texi: New file.
61996         * doc/glibc-headers/error.texi: New file.
61997         * doc/glibc-headers/execinfo.texi: New file.
61998         * doc/glibc-headers/fpu_control.texi: New file.
61999         * doc/glibc-headers/fstab.texi: New file.
62000         * doc/glibc-headers/fts.texi: New file.
62001         * doc/glibc-headers/getopt.texi: New file.
62002         * doc/glibc-headers/ieee754.texi: New file.
62003         * doc/glibc-headers/ifaddrs.texi: New file.
62004         * doc/glibc-headers/libintl.texi: New file.
62005         * doc/glibc-headers/mcheck.texi: New file.
62006         * doc/glibc-headers/mntent.texi: New file.
62007         * doc/glibc-headers/obstack.texi: New file.
62008         * doc/glibc-headers/paths.texi: New file.
62009         * doc/glibc-headers/printf.texi: New file.
62010         * doc/glibc-headers/pty.texi: New file.
62011         * doc/glibc-headers/resolv.texi: New file.
62012         * doc/glibc-headers/shadow.texi: New file.
62013         * doc/glibc-headers/sysexits.texi: New file.
62014         * doc/glibc-headers/ttyent.texi: New file.
62015
62016 2008-01-12  Jim Meyering  <meyering@redhat.com>
62017
62018         announce-gen: emit Gnulib's git-based version string.
62019         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62020         New option --gnulib-version=V, where V is expected to be
62021         the output of running git describe in the gnulib directory.
62022         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62023         not useful, and plan to stop publishing an xdelta file with each
62024         coreutils release.
62025
62026         * build-aux/announce-gen: Also check for lzma-compressed files.
62027
62028 2008-01-11  Bruno Haible  <bruno@clisp.org>
62029
62030         * tests/test-memmem.c (main): Increase maximum allowed time.
62031         * tests/test-strstr.c (main): Likewise.
62032
62033 2008-01-11  Bruno Haible  <bruno@clisp.org>
62034
62035         * doc/functions/memmem.texi: Add more precisions about platforms.
62036         * doc/functions/strstr.texi: Likewise.
62037
62038 2008-01-10  Eric Blake  <ebb9@byu.net>
62039
62040         * m4/strstr.m4: Delete cruft from copy-n-paste.
62041         Reported by Bruno Haible.
62042
62043 2008-01-10  Bruno Haible  <bruno@clisp.org>
62044
62045         Make c-strstr rely on strstr.
62046         * lib/c-strstr.c: Don't include str-kmp.h.
62047         (c_strstr): Define in terms of strstr.
62048         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62049         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62050
62051 2008-01-10  Bruno Haible  <bruno@clisp.org>
62052
62053         * doc/gnulib.texi (String Functions in C Locale): New section.
62054         * doc/c-ctype.texi: New file.
62055         * doc/c-strcase.texi: New file.
62056         * doc/c-strcaseeq.texi: New file.
62057         * doc/c-strcasestr.texi: New file.
62058         * doc/c-strstr.texi: New file.
62059         * doc/c-strtod.texi: New file.
62060         * doc/c-strtold.texi: New file.
62061
62062 2008-01-10  Eric Blake  <ebb9@byu.net>
62063
62064         * lib/relocatable.h: Fix a comment.
62065
62066 2008-01-10  Eric Blake  <ebb9@byu.net>
62067
62068         Share two-way algorithm.
62069         * lib/str-two-way.h: New file, merged from...
62070         * lib/memmem.c: ...here...
62071         * lib/strstr.c: ...and here.
62072         * modules/memmem (Files): Use it.
62073         * modules/strstr (Files): Likewise.
62074
62075         Avoid quadratic strstr implementations.
62076         * lib/strstr.c: New file.
62077         * m4/strstr.m4: Likewise.
62078         * modules/strstr: Likewise.
62079         * modules/strstr-tests: Likewise.
62080         * tests/test-strstr.c: Likewise.
62081         * lib/string.in.h (rpl_strstr): Declare.
62082         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62084         * modules/string (Makefile.am): Likewise.
62085         * MODULES.html.sh (string handling): Mention new module.
62086         * doc/functions/strstr.texi (strstr): Document the bug.
62087
62088 2008-01-10  Bruno Haible  <bruno@clisp.org>
62089
62090         * lib/relocatable.h (relocate): State whether result is freshly
62091         allocated or not.
62092         * lib/relocatable.c (relocate): Return a freshly allocated string
62093         instead of a pointer to a privately held string.
62094         Reported by Sylvain Beucler <beuc@gnu.org>.
62095
62096 2008-01-10  Colin Watson  <cjwatson@debian.org>
62097
62098         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62099         s/S_ISNLK/S_ISLNK/.
62100
62101 2008-01-09  Bruno Haible  <bruno@clisp.org>
62102
62103         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62104         and other files.
62105         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62106         if it's only a guess.
62107         * modules/memmem: Simplify by depending on memmem-simple.
62108
62109 2008-01-09  Bruno Haible  <bruno@clisp.org>
62110
62111         Work around OpenBSD 4.0 tdelete() bug.
62112         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62113         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62114         macros and don't redefine the enum values.
62115         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62116         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62117         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62118
62119 2008-01-09  Bruno Haible  <bruno@clisp.org>
62120
62121         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62122         (main): Don't perform the tests if setlocale did not install a UTF-8
62123         locale. Needed on OpenBSD 4.0.
62124         * modules/wcwidth-tests (Depends-on): Add localcharset.
62125
62126 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62127
62128         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62129         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62130         * NEWS: announce this.
62131         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62132
62133 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62134         and Eric Blake  <ebb9@byu.net>
62135
62136         Add memmem-simple module.
62137         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62138         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62139         * modules/memmem-simple: New file.
62140         * modules/memmem (Description): Tweak.
62141         * MODULES.html.sh (string handling): Mention new module.
62142         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62143         addressed by memmem-simple.
62144         * NEWS: Document the difference.
62145
62146 2008-01-09  Eric Blake  <ebb9@byu.net>
62147
62148         Give gcc some memmem optimization hints.
62149         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62150         (strcasestr): Declare as pure.
62151         * modules/memmem (Maintainer): Claim my implementation.
62152
62153 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62154
62155         Support AIX 6.1 and higher.
62156         * build-aux/config.libpath: Likewise.
62157         * build-aux/config.rpath: Likewise.
62158
62159 2008-01-08  Jim Meyering  <meyering@redhat.com>
62160             Bruno Haible  <bruno@clisp.org>
62161
62162         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62163         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62164         Reported by Peter Fales in
62165         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62166
62167 2008-01-08  Bruno Haible  <bruno@clisp.org>
62168
62169         * modules/unictype/category-of (Depends-on): Add
62170         unictype/category-none.
62171         * modules/unictype/category-and-tests (Depends-on): Add
62172         unictype/category-{L,N,Lu,Nd}.
62173         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62174         * modules/unictype/category-or-tests (Depends-on): Add
62175         unictype/category-{L,N}.
62176         * modules/unictype/category-name-tests (Depends-on): Add
62177         unictype/category-{Z,Nl}.
62178         Reported by Simon Josefsson.
62179
62180 2008-01-08  Bruno Haible  <bruno@clisp.org>
62181
62182         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62183         convention better.
62184         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62185         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62186         Reported by Peter Miller <millerp@canb.auug.org.au>.
62187
62188 2008-01-08  Eric Blake  <ebb9@byu.net>
62189
62190         Rewrite memmem to guarantee linear complexity without malloc.
62191         * lib/memmem.c (memmem): Use Two-Way rather than
62192         Knuth-Morris-Pratt, to allow O(1) space usage.
62193         (critical_factorization, two_way_short_needle)
62194         (two_way_long_needle): New functions.
62195         (knuth_morris_pratt): Delete.
62196         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62197         Add stdint.
62198         * tests/test-memmem.c (main): Add tests for periodic needle and
62199         sublinear performance.
62200         * doc/functions/memmem.texi (memmem): Document other deficiencies
62201         in cygwin and older glibc.
62202
62203 2008-01-08  Bruno Haible  <bruno@clisp.org>
62204
62205         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62206         augmentation.
62207
62208 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62209
62210         Add a configure time option: --disable-acl.
62211         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62212         AC_ARG_ENABLE(acl).
62213
62214 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62215
62216         * tests/test-localename.c: Don't include obsolete "setenv.h".
62217
62218         * modules/localename-tests (Depends-on): Need unsetenv.
62219
62220 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62221
62222         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62223
62224 2008-01-06  Colin Watson  <cjwatson@debian.org>
62225
62226         * users.txt: Add man-db.
62227
62228 2008-01-07  Bruno Haible  <bruno@clisp.org>
62229
62230         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62231         previous section name.
62232
62233 2008-01-07  Bruno Haible  <bruno@clisp.org>
62234
62235         * lib/progname.c (set_program_name): Don't strip off a leading
62236         "lt-" prefix outside a .libs directory.
62237         Suggested by Paul Eggert.
62238
62239 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62240             Bruno Haible  <bruno@clisp.org>
62241
62242         Improve memory cleanup in 'relocatable' module.
62243         * lib/relocatable.h (compute_curr_prefix): Change return type to
62244         'char *'.
62245         * lib/relocatable.c (compute_curr_prefix): Change return type to
62246         'char *'. Free curr_installdir after use.
62247         (relocate): Free curr_prefix_better after use.
62248         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62249
62250 2008-01-01  Bruno Haible  <bruno@clisp.org>
62251
62252         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62253         failure on older glibc systems.
62254         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62255
62256 2008-01-05  Eric Blake  <ebb9@byu.net>
62257
62258         Avoid quadratic system memmem.
62259         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62260         Reported by Ralf Wildenhues.
62261
62262         Fix memmem test for mingw.
62263         * modules/memmem-tests (configure.ac): Check for alarm.
62264         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62265         it.
62266         * doc/functions/memmem.texi: New file.
62267         * doc/gnulib.texi (Function Substitutes): Add memmem.
62268         Reported by Bruno Haible.
62269
62270 2008-01-04  Bruno Haible  <bruno@clisp.org>
62271
62272         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62273         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62274         gl_HEADER_STRING_H_DEFAULTS.
62275
62276 2008-01-04  Eric Blake  <ebb9@byu.net>
62277
62278         Shorten duration of memmem test.
62279         * tests/test-memmem.c (main): Use alarm to declare failure if test
62280         is taking too long.
62281         Reported by Ralf Wildenhues.
62282
62283 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62284
62285         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62286         string, needed by strerror.
62287
62288 2008-01-03  Colin Watson  <cjwatson@debian.org>
62289             Bruno Haible  <bruno@clisp.org>
62290
62291         * doc/gnulib-tool.texi (Localization): New section.
62292
62293 2008-01-02  Bruno Haible  <bruno@clisp.org>
62294
62295         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62296         variables to 'unsigned char *' type.
62297         Reported by Paul Eggert.
62298
62299 2008-01-02  Jim Meyering  <jim@meyering.net>
62300
62301         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62302
62303 2007-12-31  Jim Meyering  <jim@meyering.net>
62304
62305         Avoid use of private FTS type name.
62306         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62307
62308 2007-12-30  Karl Berry  <karl@gnu.org>
62309
62310         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62311         work around defect in Texinfo and/or the standalone Info browser.
62312
62313 2007-12-30  Bruno Haible  <bruno@clisp.org>
62314
62315         Unify 5 copies of the KMP code.
62316         * lib/str-kmp.h: New file.
62317         * lib/c-strcasestr.c: Include str-kmp.h.
62318         (knuth_morris_pratt): Remove function.
62319         (c_strcasestr): Update.
62320         * lib/c-strstr.c: Include str-kmp.h.
62321         (knuth_morris_pratt): Remove function.
62322         (c_strcasestr): Update.
62323         * lib/mbscasestr.c: Include str-kmp.h.
62324         (knuth_morris_pratt_unibyte): Remove function.
62325         * lib/mbsstr.c: Include str-kmp.h.
62326         (knuth_morris_pratt_unibyte): Remove function.
62327         * lib/strcasestr.c: Include str-kmp.h.
62328         (knuth_morris_pratt): Remove function.
62329         (strcasestr): Update.
62330         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62331         * modules/c-strstr (Files): Likewise.
62332         * modules/mbscasestr (Files): Likewise.
62333         * modules/mbsstr (Files): Likewise.
62334         * modules/strcasestr (Files): Likewise.
62335         Suggested by Paul Eggert.
62336
62337 2007-12-30  Bruno Haible  <bruno@clisp.org>
62338
62339         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62340         defined.
62341
62342 2007-12-30  Bruno Haible  <bruno@clisp.org>
62343
62344         * lib/xmalloca.h: Include xalloc.h.
62345         (xnmalloca): New macro.
62346
62347 2007-12-30  Bruno Haible  <bruno@clisp.org>
62348
62349         * lib/malloca.h (nmalloca): New macro.
62350         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62351         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62352         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62353         knuth_morris_pratt_multibyte): Likewise.
62354         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62355         knuth_morris_pratt_multibyte): Likewise.
62356         * lib/memmem.c (knuth_morris_pratt): Likewise.
62357         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62358
62359 2007-12-25  Bruno Haible  <bruno@clisp.org>
62360
62361         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62362         * lib/glob.c: Don't include openat.h.
62363         (link_exists2_p): Add back the code that deals with the
62364         !GLOB_ALTDIRFUNC case.
62365         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62366         let it do the filename concatenation.
62367         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62368         * modules/glob (Depends-on): Remove openat.
62369
62370 2007-12-31  Bruno Haible  <bruno@clisp.org>
62371
62372         * modules/dirfd (License): Change to LGPLv2+.
62373         Approved by Jim Meyering.
62374
62375 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62376
62377         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62378         when multiplying M by sizeof (size_t).
62379
62380 2007-12-10  Martin Lambers  <marlam@marlam.de>
62381
62382         Override getpagesize on mingw.
62383         * lib/getpagesize.c: New file.
62384         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62385         * modules/getpagesize (Files): Add lib/getpagesize.c.
62386         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62387         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62388         REPLACE_GETPAGESIZE.
62389         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62390
62391 2007-12-25  Bruno Haible  <bruno@clisp.org>
62392
62393         * modules/localcharset (Notice): New field.
62394         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62395         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62396
62397 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62398             Bruno Haible  <bruno@clisp.org>
62399
62400         Avoid using the syntax symbol() in formatted documentation.
62401         * MODULES.html.sh (func_module): When replacing symbol() with a
62402         hyperlink, remove the parentheses. Show an error if some remain.
62403         Recognize and render the '...' syntax.
62404         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62405         Rework. Add paragraph about GCC's inlining.
62406         * doc/alloca.texi: Likewise.
62407         * doc/error.texi: Remove parentheses from symbol reference.
62408         * doc/gnulib-intro.texi: Likewise.
62409         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62410         * modules/fnmatch (Description): Reword to say "the ... function".
62411         * modules/full-read (Description): Likewise.
62412         * modules/full-write (Description): Likewise.
62413         * modules/safe-read (Description): Likewise.
62414         * modules/safe-write (Description): Likewise.
62415         * modules/strchrnul (Description): Likewise.
62416         * modules/trim (Description): Likewise.
62417         * modules/error (Description): Remove parentheses from symbol
62418         references.
62419         * modules/verror (Description): Likewise.
62420         Reported by Karl Berry.
62421
62422 2007-12-25  Bruno Haible  <bruno@clisp.org>
62423
62424         Fixup after 2007-10-16 commit.
62425         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62426
62427 2007-12-24  Bruno Haible  <bruno@clisp.org>
62428
62429         Make --enable-relocatable work with DESTDIR.
62430         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62431         to compute installdir from destprog.
62432         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62433         also set the RELOC_DESTDIR variable.
62434         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62435
62436 2007-12-24  Bruno Haible  <bruno@clisp.org>
62437
62438         Fix link error due to xalloc_die().
62439         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62440         of xreadlink.
62441         * lib/relocwrapper.c: Update comments.
62442         * build-aux/install-reloc: Remove xreadlink.c from file list.
62443         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62444         xreadlink.c.
62445         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62446
62447 2007-12-24  Bruno Haible  <bruno@clisp.org>
62448
62449         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62450         * lib/setenv.h: Remove file.
62451         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62452         lib/setenv.h.
62453         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62454         (Depends-on): Add stdlib.
62455         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62456         gl_FUNC_UNSETENV.
62457         (Include): Replace setenv.h with <stdlib.h>.
62458         * modules/unsetenv: New file.
62459         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62460         * lib/unsetenv.c: Include <stdlib.h> first.
62461         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62462         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62463         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62464         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62465         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62466         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62468         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62469         * doc/functions/unsetenv.texi: Update.
62470         * modules/xsetenv (Depends-on): Add unsetenv.
62471         * modules/getdate (Depends-on): Likewise.
62472         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62473         * lib/xsetenv.c: Don't include setenv.h.
62474         * lib/getdate.y: Likewise.
62475         * lib/relocwrapper.c: Likewise.
62476         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62477         (Depends-on): Add stdlib.
62478         * NEWS: Mention the changes.
62479         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62480
62481 2007-12-23  Bruno Haible  <bruno@clisp.org>
62482
62483         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62484         indentation.
62485
62486 2007-12-23  Bruno Haible  <bruno@clisp.org>
62487
62488         * lib/c-strcasestr.c: Add more comments.
62489         * lib/c-strstr.c: Likewise.
62490         * lib/mbscasestr.c: Likewise.
62491         * lib/mbsstr.c: Likewise.
62492         * lib/strcasestr.c: Likewise.
62493         * lib/memmem.c: Likewise.
62494
62495 2007-12-23  Bruno Haible  <bruno@clisp.org>
62496
62497         * tests/test-memmem.c: Include <string.h> first.
62498
62499 2007-12-22  Bruno Haible  <bruno@clisp.org>
62500
62501         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62502         the contents of $testsbase.
62503         Reported by Ralf Wildenhues.
62504
62505 2007-12-22  Bruno Haible  <bruno@clisp.org>
62506
62507         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62508         two variables local_ldadd_before, local_ldadd_last.
62509
62510 2007-12-20  Eric Blake  <ebb9@byu.net>
62511
62512         Work around circular library issue when cross-compiling.
62513         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62514         that progname.o does not need to pull in rpl_memcmp.
62515
62516 2007-12-19  Eric Blake  <ebb9@byu.net>
62517
62518         Fix memmem to avoid O(n^2) worst-case complexity.
62519         * lib/memmem.c (knuth_morris_pratt): New function.
62520         (memmem): Use it if first few naive iterations fail.
62521         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62522         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62523         * modules/memchr (License): Likewise.
62524         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62525         malloca.
62526         * tests/test-memmem.c: Rewrite, borrowing ideas from
62527         test-mbsstr1.c; the old version wouldn't even compile!
62528         * modules/memmem-tests: New file.
62529         * lib/string.in.h (rpl_memmem): Add declaration.
62530         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62531         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62532         REPLACE_MEMMEM.
62533
62534 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62535
62536         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62537         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62538         before any system include files, and undef after them all.  This
62539         should fix a problem on VMS reported by John E. Malmberg in
62540         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62541
62542 2007-12-17  Eric Blake  <ebb9@byu.net>
62543
62544         Revert addition of verify, for BSD/OS.
62545         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62546         can't handle large files, for the sake of obsolete platforms.
62547         * modules/fseeko (Depends-on): Remove verify.
62548         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62549         * doc/functions/ftello.texi (ftello): Likewise.
62550         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62551         Reported by Larry Jones.
62552
62553 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62554
62555         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62556         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62557
62558 2007-12-17  Jim Meyering  <meyering@redhat.com>
62559
62560         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62561         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62562         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62563         * modules/getcwd (Depends-on): Add openat.
62564         Reported by Petr Salinger.
62565
62566 2007-12-17  Bruno Haible  <bruno@clisp.org>
62567
62568         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62569         avoid a segmentation fault of the configure test on x86_64 systems.
62570
62571 2007-12-15  Jim Meyering  <meyering@redhat.com>
62572
62573         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62574
62575 2007-12-13  Eric Blake  <ebb9@byu.net>
62576
62577         Another fseek test.
62578         * tests/test-fseek.c (main): Also test ungetc handling.
62579         * tests/test-fseeko.c (main): Likewise.
62580         * modules/fseeko (Depends-on): Add verify.
62581         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62582         large.
62583         Reported by Larry Jones.
62584
62585         Fix fseeko on mingw.
62586         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62587         seek.
62588
62589         Beef up fseek tests.
62590         * tests/test-fseek.c (main): Also test eof handling.
62591         * tests/test-fseeko.c (main): Likewise.
62592         Reported by Larry Jones.
62593
62594 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62595
62596         Fix fseeko on BSD-based platforms.
62597         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62598         successful seek.
62599
62600 2007-12-12  Eric Blake  <ebb9@byu.net>
62601
62602         Allow circular dependency of separate libtests.a
62603         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62604         when use_libtests.
62605
62606 2007-12-11  Eric Blake  <ebb9@byu.net>
62607
62608         Fix bug with -0.0L in previous patch.
62609         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62610         * tests/test-isnan.c (main): Also test on zeroes.
62611         * tests/test-isnanf.c (main): Likewise.
62612         * tests/test-isnanl.h (main): Likewise.
62613
62614         Detect pseudo-denormals on x86 even when cross-compiling.
62615         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62616         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62617         invalid bit patterns that happen to satisfy ==.
62618
62619         Avoid link failures with separate libtests.a.
62620         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62621         last, to satisfy circular dependencies.
62622
62623 2007-12-11  Eric Blake  <ebb9@byu.net>
62624         and Bruno Haible  <bruno@clisp.org>
62625
62626         Fix OpenBSD 4.0 <float.h> handling of long double.
62627         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62628         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62629         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62630
62631 2007-12-11  Jim Meyering  <meyering@redhat.com>
62632
62633         * users.txt: Add libvirt.
62634
62635         Support versions of autoconf prior to 2.59c.
62636         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62637         if it is not already defined.
62638
62639 2007-12-09  Bruno Haible  <bruno@clisp.org>
62640
62641         Let 'gnulib-tool --import' collect sources needed for the tests in
62642         tests/ rather than in lib/.
62643         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62644         argument. If true, add rules to generate libtests.a, and put libtests.a
62645         into $(LDADD). Consider source files in subdirectories and set
62646         uses_subdirs.
62647         (func_emit_initmacro_start, func_emit_initmacro_end,
62648         func_emit_initmacro_done): Pass all arguments explicitly.
62649         (func_import): Determine two module lists main_modules,
62650         testsrelated_modules. Determine use_libtests. Determine two variables
62651         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62652         instead of just sed_transform_lib_file. Determine two variables
62653         main_files and testsrelated_files. Compute 'files' as the union of
62654         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62655         func_add_or_update. In the generated gnulib-comp.m4, collect the
62656         object files for tests/ in different variables than those for lib/.
62657         Substitute LIBTESTS_LIBDEPS.
62658         (func_create_testdir): Combine the uses_subdirs results from
62659         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62660
62661 2007-12-09  Bruno Haible  <bruno@clisp.org>
62662
62663         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62664         the build-aux directory.
62665
62666 2007-12-09  Bruno Haible  <bruno@clisp.org>
62667
62668         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62669         introduced on 2006-09-09.
62670
62671 2007-12-07  Jim Meyering  <meyering@redhat.com>
62672
62673         Let these macros work also with autoconf-2.59.
62674         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62675         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62676         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62677
62678 2007-12-06  Jim Meyering  <meyering@redhat.com>
62679
62680         Avoid a configure-time syntax error in gl_FUNC_ACL.
62681         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62682         function in each branch, before testing the cache variable.
62683
62684 2007-12-04  Eric Blake  <ebb9@byu.net>
62685
62686         Make scripts executable.
62687         * build-aux/config.guess: Add execute permissions.
62688         * build-aux/config.sub: Likewise.
62689         * build-aux/gendocs.sh: Likewise.
62690
62691         Fix frexp on mingw.
62692         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62693         cross-compiling.
62694         * doc/functions/frexp.texi (frexp): Document the bug.
62695
62696         Make cygwin fseeko check more reliable.
62697         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62698         version numbers, rather than unrelated feature check.
62699         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62700         * doc/functions/ftello.texi (ftello): Likewise.
62701         Reported by Bruno Haible.
62702
62703         * m4/strerror.m4: Bump version number.
62704
62705 2007-12-03  Bruno Haible  <bruno@clisp.org>
62706
62707         * doc/functions/mprotect.texi: Mention the mingw problem.
62708
62709 2007-12-03  Eric Blake  <ebb9@byu.net>
62710
62711         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
62712         REPLACE_STRERROR is initialized before this macro.
62713
62714 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62715
62716         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
62717         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
62718         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
62719         put -lsec in even for programs other than 'ls'.  This fixes a problem
62720         for gettext reported by Bruno Haible in
62721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
62722         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
62723         Add support for Solaris 10.  This isn't efficient, but should get the
62724         job done for now.
62725
62726 2007-12-03  James Youngman  <jay@gnu.org>
62727
62728         * doc/regexprops-generic.texi: change "an close-group" to "a
62729         close-group" and "illegal" to "not allowed".
62730
62731 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62732
62733         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
62734         pr_byname.h. Needed for the rare case when the maintainer has done
62735         "make maintainer-clean" in the source directory and then attempts a
62736         build outside the source directory.
62737         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
62738         scripts_byname.h.
62739
62740 2007-12-02  Martin Lambers <marlam@marlam.de>
62741             Bruno Haible  <bruno@clisp.org>
62742
62743         * lib/getpagesize.h: Remove file.
62744         * lib/unistd.in.h: Include declaration of getpagesize here.
62745         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
62746         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
62747         HAVE_SYS_PARAM_H.
62748         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
62749         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62750         * modules/getpagesize (Files): Remove lib/getpagesize.h.
62751         (Depends-on): Add unistd.
62752         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62753         (Include): Use <unistd.h> instead of getpagesize.h.
62754         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
62755         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62756         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
62757         gl_GETPAGESIZE invocation, already handled by module dependency.
62758         * lib/pagealign_alloc.c: Don't include getpagesize.h.
62759
62760 2007-12-02  Bruno Haible  <bruno@clisp.org>
62761
62762         * modules/strings-tests: New file.
62763         * tests/test-strings.c: New file.
62764
62765         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
62766         * lib/strings.in.h: New file.
62767         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
62768         * m4/strings_h.m4: New file.
62769         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
62770         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
62771         * modules/strings: New file.
62772         * modules/string (Makefile.am): Update.
62773         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
62774         Reported by Karl Berry.
62775
62776 2007-12-01  Eric Blake  <ebb9@byu.net>
62777
62778         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
62779         accommodate fix in cygwin 1.5.25.
62780
62781 2007-12-01  Jim Meyering  <meyering@redhat.com>
62782
62783         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
62784         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
62785         that would inhibit utf8-optimization of a regexp containing line-
62786         or buffer-anchors, e.g., `^', `$'.
62787
62788 2007-11-30  Bruno Haible  <bruno@clisp.org>
62789
62790         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
62791         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
62792         glthread_recursive_lock_init.
62793         * lib/lock.c (glthread_recursive_lock_init)
62794         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
62795         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62796
62797 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
62798
62799         New function qset_acl, like set_acl but with syscall semantics.
62800         * lib/acl.h (qset_acl): New decl.
62801         * lib/acl.c (qset_acl): New function.
62802         (set_acl): Use new function.  Use more-consistent diagnostics.
62803
62804 2007-11-28  Jim Meyering  <meyering@redhat.com>
62805
62806         * modules/physmem (License): Change from GPL to LGPLv2+.
62807
62808 2007-11-26  Bruno Haible  <bruno@clisp.org>
62809
62810         * lib/vasnprintf.c (decode_long_double): Don't abort if the
62811         'long double' type has excess precision.
62812         Reported by Jim Meyering in
62813         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
62814
62815 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62816
62817         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
62818         Sync from <http://gnu.org/licenses>.
62819         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
62820         with license text from same location.
62821         * doc/maintain.texi, doc/standards.texi:  Sync from
62822         <http://savannah.gnu.org/projects/gnustandards>.
62823
62824 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
62825         and Jim Meyering  <meyering@redhat.com>
62826
62827         Adjust getdate' grammar to accept a slightly more regular language.
62828         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
62829         Before, the former was rejected.
62830         * lib/getdate.y (digits_to_date_time): New function, factored
62831         out of ...
62832         (number): ...here.  Just call digits_to_date_time.
62833         (hybrid): New non-terminal to handle an <unsigned number,
62834         signed relative offset> sequence consistently.
62835
62836 2007-11-18  Jim Meyering  <meyering@redhat.com>
62837
62838         Pull my changes from coreutils:
62839         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
62840         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
62841         use of $gnulib_tool_option_extras, so that it's separated from the
62842         preceding argument.
62843
62844         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
62845         * build-aux/bootstrap (cp_mark_as_generated): Create any required
62846         parent destination directories before copying a file into place.
62847
62848 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62849
62850         bootstrap: work also with 4-argument variant of AC_INIT
62851         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
62852
62853 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62854
62855         Port test-getaddrinfo to Solaris.
62856         Problem reported by Bruno Haible in
62857         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
62858         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
62859         explanation of setting 'hints'.
62860         Don't reject an implementation merely because it returns EAI_SERVICE.
62861         (EAI_SERVICE): Define to 0 if not defined.
62862
62863 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62864
62865         The license of gnu-make and posix-shell is now "GPLed build tool".
62866         * modules/gnu-make (License): Likewise.
62867         * modules/posix-shell (License): Likewise.
62868
62869         New module posix-shell, for determining a POSIX shell
62870         or perhaps something that is close enough to a POSIX shell.
62871         * m4/posix-shell.m4: New file.
62872         * modules/posix-shell: New file.
62873
62874         * MODULES.html.sh: Mention new module.
62875
62876         New module gnu-make, for determining whether we're using GNU Make.
62877         * m4/gnu-make.m4: New file.
62878         * modules/gnu-make: New file.
62879         * MODULES.html.sh: Mention new module.
62880
62881 2007-11-14  Jim Meyering  <meyering@redhat.com>
62882
62883         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
62884         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
62885         use this macro to create a function _definition_.
62886         Remove useless "#undef ARGMATCH_DIE".
62887
62888 2007-11-14  Bruno Haible  <bruno@clisp.org>
62889
62890         * lib/config.charset: Update for OpenBSD 4.1.
62891         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
62892
62893 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
62894
62895         Document 64-bit #if problems in stdint.texi.
62896         * doc/headers/stdint.texi (stdint.h): Mention problems with
62897         64-bit-#if, and how to work around them.
62898
62899         Don't insist on 'long long int' support in the preprocessor.  It
62900         breaks too many things.  For example, PRIdMAX still uses a 'long
62901         long int' format with the latest Sun compiler, even though
62902         HAVE_LONG_LONG_INT isn't defined due to that compiler's
62903         preprocessor problem.  This causes the latest coreutils to dump
62904         core on Solaris 10 sparc with the Sun C compiler.
62905         Instead, fix the 2007-10-16 problem in a different way, by evaluating
62906         the troublesome expressions at configure-time, not at #if-time.
62907         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
62908         preprocessor.
62909         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
62910         compile-time C checks, done at 'configure'-time.
62911         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
62912         * modules/inttypes (Makefile): Substitute the new symbols that
62913         gl_INTTYPES_H now generates.
62914         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
62915
62916 2007-11-12  Bruno Haible  <bruno@clisp.org>
62917
62918         Tests for Unicode character classification functions.
62919
62920         * modules/unictype/bidicategory-byname-tests: New file.
62921         * modules/unictype/bidicategory-name-tests: New file.
62922         * modules/unictype/bidicategory-of-tests: New file.
62923         * modules/unictype/bidicategory-test-tests: New file.
62924         * modules/unictype/block-list-tests: New file.
62925         * modules/unictype/block-of-tests: New file.
62926         * modules/unictype/block-test-tests: New file.
62927         * modules/unictype/category-C-tests: New file.
62928         * modules/unictype/category-Cc-tests: New file.
62929         * modules/unictype/category-Cf-tests: New file.
62930         * modules/unictype/category-Cn-tests: New file.
62931         * modules/unictype/category-Co-tests: New file.
62932         * modules/unictype/category-Cs-tests: New file.
62933         * modules/unictype/category-L-tests: New file.
62934         * modules/unictype/category-Ll-tests: New file.
62935         * modules/unictype/category-Lm-tests: New file.
62936         * modules/unictype/category-Lo-tests: New file.
62937         * modules/unictype/category-Lt-tests: New file.
62938         * modules/unictype/category-Lu-tests: New file.
62939         * modules/unictype/category-M-tests: New file.
62940         * modules/unictype/category-Mc-tests: New file.
62941         * modules/unictype/category-Me-tests: New file.
62942         * modules/unictype/category-Mn-tests: New file.
62943         * modules/unictype/category-N-tests: New file.
62944         * modules/unictype/category-Nd-tests: New file.
62945         * modules/unictype/category-Nl-tests: New file.
62946         * modules/unictype/category-No-tests: New file.
62947         * modules/unictype/category-P-tests: New file.
62948         * modules/unictype/category-Pc-tests: New file.
62949         * modules/unictype/category-Pd-tests: New file.
62950         * modules/unictype/category-Pe-tests: New file.
62951         * modules/unictype/category-Pf-tests: New file.
62952         * modules/unictype/category-Pi-tests: New file.
62953         * modules/unictype/category-Po-tests: New file.
62954         * modules/unictype/category-Ps-tests: New file.
62955         * modules/unictype/category-S-tests: New file.
62956         * modules/unictype/category-Sc-tests: New file.
62957         * modules/unictype/category-Sk-tests: New file.
62958         * modules/unictype/category-Sm-tests: New file.
62959         * modules/unictype/category-So-tests: New file.
62960         * modules/unictype/category-Z-tests: New file.
62961         * modules/unictype/category-Zl-tests: New file.
62962         * modules/unictype/category-Zp-tests: New file.
62963         * modules/unictype/category-Zs-tests: New file.
62964         * modules/unictype/category-and-not-tests: New file.
62965         * modules/unictype/category-and-tests: New file.
62966         * modules/unictype/category-byname-tests: New file.
62967         * modules/unictype/category-name-tests: New file.
62968         * modules/unictype/category-none-tests: New file.
62969         * modules/unictype/category-of-tests: New file.
62970         * modules/unictype/category-or-tests: New file.
62971         * modules/unictype/category-test-withtable-tests: New file.
62972         * modules/unictype/combining-class-tests: New file.
62973         * modules/unictype/ctype-alnum-tests: New file.
62974         * modules/unictype/ctype-alpha-tests: New file.
62975         * modules/unictype/ctype-blank-tests: New file.
62976         * modules/unictype/ctype-cntrl-tests: New file.
62977         * modules/unictype/ctype-digit-tests: New file.
62978         * modules/unictype/ctype-graph-tests: New file.
62979         * modules/unictype/ctype-lower-tests: New file.
62980         * modules/unictype/ctype-print-tests: New file.
62981         * modules/unictype/ctype-punct-tests: New file.
62982         * modules/unictype/ctype-space-tests: New file.
62983         * modules/unictype/ctype-upper-tests: New file.
62984         * modules/unictype/ctype-xdigit-tests: New file.
62985         * modules/unictype/decimal-digit-tests: New file.
62986         * modules/unictype/digit-tests: New file.
62987         * modules/unictype/mirror-tests: New file.
62988         * modules/unictype/numeric-tests: New file.
62989         * modules/unictype/property-alphabetic-tests: New file.
62990         * modules/unictype/property-ascii-hex-digit-tests: New file.
62991         * modules/unictype/property-bidi-arabic-digit-tests: New file.
62992         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
62993         * modules/unictype/property-bidi-block-separator-tests: New file.
62994         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
62995         * modules/unictype/property-bidi-common-separator-tests: New file.
62996         * modules/unictype/property-bidi-control-tests: New file.
62997         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
62998         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
62999         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63000         * modules/unictype/property-bidi-european-digit-tests: New file.
63001         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63002         * modules/unictype/property-bidi-left-to-right-tests: New file.
63003         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63004         * modules/unictype/property-bidi-other-neutral-tests: New file.
63005         * modules/unictype/property-bidi-pdf-tests: New file.
63006         * modules/unictype/property-bidi-segment-separator-tests: New file.
63007         * modules/unictype/property-bidi-whitespace-tests: New file.
63008         * modules/unictype/property-byname-tests: New file.
63009         * modules/unictype/property-combining-tests: New file.
63010         * modules/unictype/property-composite-tests: New file.
63011         * modules/unictype/property-currency-symbol-tests: New file.
63012         * modules/unictype/property-dash-tests: New file.
63013         * modules/unictype/property-decimal-digit-tests: New file.
63014         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63015         * modules/unictype/property-deprecated-tests: New file.
63016         * modules/unictype/property-diacritic-tests: New file.
63017         * modules/unictype/property-extender-tests: New file.
63018         * modules/unictype/property-format-control-tests: New file.
63019         * modules/unictype/property-grapheme-base-tests: New file.
63020         * modules/unictype/property-grapheme-extend-tests: New file.
63021         * modules/unictype/property-grapheme-link-tests: New file.
63022         * modules/unictype/property-hex-digit-tests: New file.
63023         * modules/unictype/property-hyphen-tests: New file.
63024         * modules/unictype/property-id-continue-tests: New file.
63025         * modules/unictype/property-id-start-tests: New file.
63026         * modules/unictype/property-ideographic-tests: New file.
63027         * modules/unictype/property-ids-binary-operator-tests: New file.
63028         * modules/unictype/property-ids-trinary-operator-tests: New file.
63029         * modules/unictype/property-ignorable-control-tests: New file.
63030         * modules/unictype/property-iso-control-tests: New file.
63031         * modules/unictype/property-join-control-tests: New file.
63032         * modules/unictype/property-left-of-pair-tests: New file.
63033         * modules/unictype/property-line-separator-tests: New file.
63034         * modules/unictype/property-logical-order-exception-tests: New file.
63035         * modules/unictype/property-lowercase-tests: New file.
63036         * modules/unictype/property-math-tests: New file.
63037         * modules/unictype/property-non-break-tests: New file.
63038         * modules/unictype/property-not-a-character-tests: New file.
63039         * modules/unictype/property-numeric-tests: New file.
63040         * modules/unictype/property-other-alphabetic-tests: New file.
63041         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63042         * modules/unictype/property-other-grapheme-extend-tests: New file.
63043         * modules/unictype/property-other-id-continue-tests: New file.
63044         * modules/unictype/property-other-id-start-tests: New file.
63045         * modules/unictype/property-other-lowercase-tests: New file.
63046         * modules/unictype/property-other-math-tests: New file.
63047         * modules/unictype/property-other-uppercase-tests: New file.
63048         * modules/unictype/property-paired-punctuation-tests: New file.
63049         * modules/unictype/property-paragraph-separator-tests: New file.
63050         * modules/unictype/property-pattern-syntax-tests: New file.
63051         * modules/unictype/property-pattern-white-space-tests: New file.
63052         * modules/unictype/property-private-use-tests: New file.
63053         * modules/unictype/property-punctuation-tests: New file.
63054         * modules/unictype/property-quotation-mark-tests: New file.
63055         * modules/unictype/property-radical-tests: New file.
63056         * modules/unictype/property-sentence-terminal-tests: New file.
63057         * modules/unictype/property-soft-dotted-tests: New file.
63058         * modules/unictype/property-space-tests: New file.
63059         * modules/unictype/property-terminal-punctuation-tests: New file.
63060         * modules/unictype/property-test-tests: New file.
63061         * modules/unictype/property-titlecase-tests: New file.
63062         * modules/unictype/property-unassigned-code-value-tests: New file.
63063         * modules/unictype/property-unified-ideograph-tests: New file.
63064         * modules/unictype/property-uppercase-tests: New file.
63065         * modules/unictype/property-variation-selector-tests: New file.
63066         * modules/unictype/property-white-space-tests: New file.
63067         * modules/unictype/property-xid-continue-tests: New file.
63068         * modules/unictype/property-xid-start-tests: New file.
63069         * modules/unictype/property-zero-width-tests: New file.
63070         * modules/unictype/scripts-tests: New file.
63071         * modules/unictype/syntax-c-ident-tests: New file.
63072         * modules/unictype/syntax-c-whitespace-tests: New file.
63073         * modules/unictype/syntax-java-ident-tests: New file.
63074         * modules/unictype/syntax-java-whitespace-tests: New file.
63075         * tests/unictype/test-bidi_byname.c: New file.
63076         * tests/unictype/test-bidi_name.c: New file.
63077         * tests/unictype/test-bidi_of.c: New file.
63078         * tests/unictype/test-bidi_test.c: New file.
63079         * tests/unictype/test-block_list.c: New file.
63080         * tests/unictype/test-block_of.c: New file.
63081         * tests/unictype/test-block_test.c: New file.
63082         * tests/unictype/test-categ_and.c: New file.
63083         * tests/unictype/test-categ_and_not.c: New file.
63084         * tests/unictype/test-categ_byname.c: New file.
63085         * tests/unictype/test-categ_name.c: New file.
63086         * tests/unictype/test-categ_none.c: New file.
63087         * tests/unictype/test-categ_of.c: New file.
63088         * tests/unictype/test-categ_or.c: New file.
63089         * tests/unictype/test-categ_test_withtable.c: New file.
63090         * tests/unictype/test-combining.c: New file.
63091         * tests/unictype/test-decdigit.c: New file.
63092         * tests/unictype/test-digit.c: New file.
63093         * tests/unictype/test-mirror.c: New file.
63094         * tests/unictype/test-numeric.c: New file.
63095         * tests/unictype/test-pr_byname.c: New file.
63096         * tests/unictype/test-pr_test.c: New file.
63097         * tests/unictype/test-predicate-part1.h: New file.
63098         * tests/unictype/test-predicate-part2.h: New file.
63099         * tests/unictype/test-scripts.c: New file.
63100         * tests/unictype/test-sy_c_ident.c: New file.
63101         * tests/unictype/test-sy_java_ident.c: New file.
63102
63103         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63104         for Unicode 5.0.0.
63105         * tests/unictype/test-categ_Cc.c: Likewise.
63106         * tests/unictype/test-categ_Cf.c: Likewise.
63107         * tests/unictype/test-categ_Cn.c: Likewise.
63108         * tests/unictype/test-categ_Co.c: Likewise.
63109         * tests/unictype/test-categ_Cs.c: Likewise.
63110         * tests/unictype/test-categ_L.c: Likewise.
63111         * tests/unictype/test-categ_Ll.c: Likewise.
63112         * tests/unictype/test-categ_Lm.c: Likewise.
63113         * tests/unictype/test-categ_Lo.c: Likewise.
63114         * tests/unictype/test-categ_Lt.c: Likewise.
63115         * tests/unictype/test-categ_Lu.c: Likewise.
63116         * tests/unictype/test-categ_M.c: Likewise.
63117         * tests/unictype/test-categ_Mc.c: Likewise.
63118         * tests/unictype/test-categ_Me.c: Likewise.
63119         * tests/unictype/test-categ_Mn.c: Likewise.
63120         * tests/unictype/test-categ_N.c: Likewise.
63121         * tests/unictype/test-categ_Nd.c: Likewise.
63122         * tests/unictype/test-categ_Nl.c: Likewise.
63123         * tests/unictype/test-categ_No.c: Likewise.
63124         * tests/unictype/test-categ_P.c: Likewise.
63125         * tests/unictype/test-categ_Pc.c: Likewise.
63126         * tests/unictype/test-categ_Pd.c: Likewise.
63127         * tests/unictype/test-categ_Pe.c: Likewise.
63128         * tests/unictype/test-categ_Pf.c: Likewise.
63129         * tests/unictype/test-categ_Pi.c: Likewise.
63130         * tests/unictype/test-categ_Po.c: Likewise.
63131         * tests/unictype/test-categ_Ps.c: Likewise.
63132         * tests/unictype/test-categ_S.c: Likewise.
63133         * tests/unictype/test-categ_Sc.c: Likewise.
63134         * tests/unictype/test-categ_Sk.c: Likewise.
63135         * tests/unictype/test-categ_Sm.c: Likewise.
63136         * tests/unictype/test-categ_So.c: Likewise.
63137         * tests/unictype/test-categ_Z.c: Likewise.
63138         * tests/unictype/test-categ_Zl.c: Likewise.
63139         * tests/unictype/test-categ_Zp.c: Likewise.
63140         * tests/unictype/test-categ_Zs.c: Likewise.
63141         * tests/unictype/test-ctype_alnum.c: Likewise.
63142         * tests/unictype/test-ctype_alpha.c: Likewise.
63143         * tests/unictype/test-ctype_blank.c: Likewise.
63144         * tests/unictype/test-ctype_cntrl.c: Likewise.
63145         * tests/unictype/test-ctype_digit.c: Likewise.
63146         * tests/unictype/test-ctype_graph.c: Likewise.
63147         * tests/unictype/test-ctype_lower.c: Likewise.
63148         * tests/unictype/test-ctype_print.c: Likewise.
63149         * tests/unictype/test-ctype_punct.c: Likewise.
63150         * tests/unictype/test-ctype_space.c: Likewise.
63151         * tests/unictype/test-ctype_upper.c: Likewise.
63152         * tests/unictype/test-ctype_xdigit.c: Likewise.
63153         * tests/unictype/test-decdigit.h: Likewise.
63154         * tests/unictype/test-digit.h: Likewise.
63155         * tests/unictype/test-numeric.h: Likewise.
63156         * tests/unictype/test-pr_alphabetic.c: Likewise.
63157         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63158         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63159         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63160         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63161         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63162         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63163         * tests/unictype/test-pr_bidi_control.c: Likewise.
63164         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63165         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63166         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63167         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63168         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63169         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63170         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63171         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63172         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63173         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63174         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63175         * tests/unictype/test-pr_combining.c: Likewise.
63176         * tests/unictype/test-pr_composite.c: Likewise.
63177         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63178         * tests/unictype/test-pr_dash.c: Likewise.
63179         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63180         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63181         * tests/unictype/test-pr_deprecated.c: Likewise.
63182         * tests/unictype/test-pr_diacritic.c: Likewise.
63183         * tests/unictype/test-pr_extender.c: Likewise.
63184         * tests/unictype/test-pr_format_control.c: Likewise.
63185         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63186         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63187         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63188         * tests/unictype/test-pr_hex_digit.c: Likewise.
63189         * tests/unictype/test-pr_hyphen.c: Likewise.
63190         * tests/unictype/test-pr_id_continue.c: Likewise.
63191         * tests/unictype/test-pr_id_start.c: Likewise.
63192         * tests/unictype/test-pr_ideographic.c: Likewise.
63193         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63194         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63195         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63196         * tests/unictype/test-pr_iso_control.c: Likewise.
63197         * tests/unictype/test-pr_join_control.c: Likewise.
63198         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63199         * tests/unictype/test-pr_line_separator.c: Likewise.
63200         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63201         * tests/unictype/test-pr_lowercase.c: Likewise.
63202         * tests/unictype/test-pr_math.c: Likewise.
63203         * tests/unictype/test-pr_non_break.c: Likewise.
63204         * tests/unictype/test-pr_not_a_character.c: Likewise.
63205         * tests/unictype/test-pr_numeric.c: Likewise.
63206         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63207         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63208         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63209         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63210         * tests/unictype/test-pr_other_id_start.c: Likewise.
63211         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63212         * tests/unictype/test-pr_other_math.c: Likewise.
63213         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63214         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63215         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63216         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63217         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63218         * tests/unictype/test-pr_private_use.c: Likewise.
63219         * tests/unictype/test-pr_punctuation.c: Likewise.
63220         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63221         * tests/unictype/test-pr_radical.c: Likewise.
63222         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63223         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63224         * tests/unictype/test-pr_space.c: Likewise.
63225         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63226         * tests/unictype/test-pr_titlecase.c: Likewise.
63227         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63228         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63229         * tests/unictype/test-pr_uppercase.c: Likewise.
63230         * tests/unictype/test-pr_variation_selector.c: Likewise.
63231         * tests/unictype/test-pr_white_space.c: Likewise.
63232         * tests/unictype/test-pr_xid_continue.c: Likewise.
63233         * tests/unictype/test-pr_xid_start.c: Likewise.
63234         * tests/unictype/test-pr_zero_width.c: Likewise.
63235         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63236         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63237
63238 2007-11-12  Bruno Haible  <bruno@clisp.org>
63239
63240         Unicode character classification functions.
63241         * lib/unictype.h: New file.
63242         * modules/unictype/base: New file.
63243         * modules/unictype/category-L: New file.
63244         * modules/unictype/category-Lu: New file.
63245         * modules/unictype/category-Ll: New file.
63246         * modules/unictype/category-Lt: New file.
63247         * modules/unictype/category-Lm: New file.
63248         * modules/unictype/category-Lo: New file.
63249         * modules/unictype/category-M: New file.
63250         * modules/unictype/category-Mn: New file.
63251         * modules/unictype/category-Mc: New file.
63252         * modules/unictype/category-Me: New file.
63253         * modules/unictype/category-N: New file.
63254         * modules/unictype/category-Nd: New file.
63255         * modules/unictype/category-Nl: New file.
63256         * modules/unictype/category-No: New file.
63257         * modules/unictype/category-P: New file.
63258         * modules/unictype/category-Pc: New file.
63259         * modules/unictype/category-Pd: New file.
63260         * modules/unictype/category-Ps: New file.
63261         * modules/unictype/category-Pe: New file.
63262         * modules/unictype/category-Pi: New file.
63263         * modules/unictype/category-Pf: New file.
63264         * modules/unictype/category-Po: New file.
63265         * modules/unictype/category-S: New file.
63266         * modules/unictype/category-Sm: New file.
63267         * modules/unictype/category-Sc: New file.
63268         * modules/unictype/category-Sk: New file.
63269         * modules/unictype/category-So: New file.
63270         * modules/unictype/category-Z: New file.
63271         * modules/unictype/category-Zs: New file.
63272         * modules/unictype/category-Zl: New file.
63273         * modules/unictype/category-Zp: New file.
63274         * modules/unictype/category-C: New file.
63275         * modules/unictype/category-Cc: New file.
63276         * modules/unictype/category-Cf: New file.
63277         * modules/unictype/category-Cs: New file.
63278         * modules/unictype/category-Co: New file.
63279         * modules/unictype/category-Cn: New file.
63280         * modules/unictype/category-or: New file.
63281         * modules/unictype/category-of: New file.
63282         * modules/unictype/category-test: New file.
63283         * modules/unictype/category-test-withtable: New file.
63284         * modules/unictype/category-byname: New file.
63285         * modules/unictype/category-none: New file.
63286         * modules/unictype/category-and: New file.
63287         * modules/unictype/category-and-not: New file.
63288         * modules/unictype/category-name: New file.
63289         * modules/unictype/combining-class: New file.
63290         * modules/unictype/category-all: New file.
63291         * modules/unictype/bidicategory-all: New file.
63292         * modules/unictype/bidicategory-byname: New file.
63293         * modules/unictype/bidicategory-name: New file.
63294         * modules/unictype/bidicategory-of: New file.
63295         * modules/unictype/bidicategory-test: New file.
63296         * modules/unictype/decimal-digit: New file.
63297         * modules/unictype/digit: New file.
63298         * modules/unictype/numeric: New file.
63299         * modules/unictype/mirror: New file.
63300         * modules/unictype/property-white-space: New file.
63301         * modules/unictype/property-alphabetic: New file.
63302         * modules/unictype/property-other-alphabetic: New file.
63303         * modules/unictype/property-not-a-character: New file.
63304         * modules/unictype/property-default-ignorable-code-point: New file.
63305         * modules/unictype/property-other-default-ignorable-code-point: New
63306         file.
63307         * modules/unictype/property-deprecated: New file.
63308         * modules/unictype/property-logical-order-exception: New file.
63309         * modules/unictype/property-variation-selector: New file.
63310         * modules/unictype/property-private-use: New file.
63311         * modules/unictype/property-unassigned-code-value: New file.
63312         * modules/unictype/property-uppercase: New file.
63313         * modules/unictype/property-other-uppercase: New file.
63314         * modules/unictype/property-lowercase: New file.
63315         * modules/unictype/property-other-lowercase: New file.
63316         * modules/unictype/property-titlecase: New file.
63317         * modules/unictype/property-soft-dotted: New file.
63318         * modules/unictype/property-id-start: New file.
63319         * modules/unictype/property-other-id-start: New file.
63320         * modules/unictype/property-id-continue: New file.
63321         * modules/unictype/property-other-id-continue: New file.
63322         * modules/unictype/property-xid-start: New file.
63323         * modules/unictype/property-xid-continue: New file.
63324         * modules/unictype/property-pattern-white-space: New file.
63325         * modules/unictype/property-pattern-syntax: New file.
63326         * modules/unictype/property-join-control: New file.
63327         * modules/unictype/property-grapheme-base: New file.
63328         * modules/unictype/property-grapheme-extend: New file.
63329         * modules/unictype/property-other-grapheme-extend: New file.
63330         * modules/unictype/property-grapheme-link: New file.
63331         * modules/unictype/property-bidi-control: New file.
63332         * modules/unictype/property-bidi-left-to-right: New file.
63333         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63334         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63335         * modules/unictype/property-bidi-european-digit: New file.
63336         * modules/unictype/property-bidi-eur-num-separator: New file.
63337         * modules/unictype/property-bidi-eur-num-terminator: New file.
63338         * modules/unictype/property-bidi-arabic-digit: New file.
63339         * modules/unictype/property-bidi-common-separator: New file.
63340         * modules/unictype/property-bidi-block-separator: New file.
63341         * modules/unictype/property-bidi-segment-separator: New file.
63342         * modules/unictype/property-bidi-whitespace: New file.
63343         * modules/unictype/property-bidi-non-spacing-mark: New file.
63344         * modules/unictype/property-bidi-boundary-neutral: New file.
63345         * modules/unictype/property-bidi-pdf: New file.
63346         * modules/unictype/property-bidi-embedding-or-override: New file.
63347         * modules/unictype/property-bidi-other-neutral: New file.
63348         * modules/unictype/property-hex-digit: New file.
63349         * modules/unictype/property-ascii-hex-digit: New file.
63350         * modules/unictype/property-ideographic: New file.
63351         * modules/unictype/property-unified-ideograph: New file.
63352         * modules/unictype/property-radical: New file.
63353         * modules/unictype/property-ids-binary-operator: New file.
63354         * modules/unictype/property-ids-trinary-operator: New file.
63355         * modules/unictype/property-zero-width: New file.
63356         * modules/unictype/property-space: New file.
63357         * modules/unictype/property-non-break: New file.
63358         * modules/unictype/property-iso-control: New file.
63359         * modules/unictype/property-format-control: New file.
63360         * modules/unictype/property-dash: New file.
63361         * modules/unictype/property-hyphen: New file.
63362         * modules/unictype/property-punctuation: New file.
63363         * modules/unictype/property-line-separator: New file.
63364         * modules/unictype/property-paragraph-separator: New file.
63365         * modules/unictype/property-quotation-mark: New file.
63366         * modules/unictype/property-sentence-terminal: New file.
63367         * modules/unictype/property-terminal-punctuation: New file.
63368         * modules/unictype/property-currency-symbol: New file.
63369         * modules/unictype/property-math: New file.
63370         * modules/unictype/property-other-math: New file.
63371         * modules/unictype/property-paired-punctuation: New file.
63372         * modules/unictype/property-left-of-pair: New file.
63373         * modules/unictype/property-combining: New file.
63374         * modules/unictype/property-composite: New file.
63375         * modules/unictype/property-decimal-digit: New file.
63376         * modules/unictype/property-numeric: New file.
63377         * modules/unictype/property-diacritic: New file.
63378         * modules/unictype/property-extender: New file.
63379         * modules/unictype/property-ignorable-control: New file.
63380         * modules/unictype/property-test: New file.
63381         * modules/unictype/property-byname: New file.
63382         * modules/unictype/property-all: New file.
63383         * modules/unictype/scripts: New file.
63384         * modules/unictype/scripts-all: New file.
63385         * modules/unictype/block-of: New file.
63386         * modules/unictype/block-test: New file.
63387         * modules/unictype/block-list: New file.
63388         * modules/unictype/block-all: New file.
63389         * modules/unictype/syntax-c-whitespace: New file.
63390         * modules/unictype/syntax-java-whitespace: New file.
63391         * modules/unictype/syntax-c-ident: New file.
63392         * modules/unictype/syntax-java-ident: New file.
63393         * modules/unictype/ctype-alnum: New file.
63394         * modules/unictype/ctype-alpha: New file.
63395         * modules/unictype/ctype-cntrl: New file.
63396         * modules/unictype/ctype-digit: New file.
63397         * modules/unictype/ctype-graph: New file.
63398         * modules/unictype/ctype-lower: New file.
63399         * modules/unictype/ctype-print: New file.
63400         * modules/unictype/ctype-punct: New file.
63401         * modules/unictype/ctype-space: New file.
63402         * modules/unictype/ctype-upper: New file.
63403         * modules/unictype/ctype-xdigit: New file.
63404         * modules/unictype/ctype-blank: New file.
63405         * lib/unictype/bidi_byname.c: New file.
63406         * lib/unictype/bidi_name.c: New file.
63407         * lib/unictype/bidi_of.c: New file.
63408         * lib/unictype/bidi_test.c: New file.
63409         * lib/unictype/bitmap.h: New file.
63410         * lib/unictype/block_test.c: New file.
63411         * lib/unictype/blocks.c: New file.
63412         * lib/unictype/categ_C.c: New file.
63413         * lib/unictype/categ_Cc.c: New file.
63414         * lib/unictype/categ_Cf.c: New file.
63415         * lib/unictype/categ_Cn.c: New file.
63416         * lib/unictype/categ_Co.c: New file.
63417         * lib/unictype/categ_Cs.c: New file.
63418         * lib/unictype/categ_L.c: New file.
63419         * lib/unictype/categ_Ll.c: New file.
63420         * lib/unictype/categ_Lm.c: New file.
63421         * lib/unictype/categ_Lo.c: New file.
63422         * lib/unictype/categ_Lt.c: New file.
63423         * lib/unictype/categ_Lu.c: New file.
63424         * lib/unictype/categ_M.c: New file.
63425         * lib/unictype/categ_Mc.c: New file.
63426         * lib/unictype/categ_Me.c: New file.
63427         * lib/unictype/categ_Mn.c: New file.
63428         * lib/unictype/categ_N.c: New file.
63429         * lib/unictype/categ_Nd.c: New file.
63430         * lib/unictype/categ_Nl.c: New file.
63431         * lib/unictype/categ_No.c: New file.
63432         * lib/unictype/categ_P.c: New file.
63433         * lib/unictype/categ_Pc.c: New file.
63434         * lib/unictype/categ_Pd.c: New file.
63435         * lib/unictype/categ_Pe.c: New file.
63436         * lib/unictype/categ_Pf.c: New file.
63437         * lib/unictype/categ_Pi.c: New file.
63438         * lib/unictype/categ_Po.c: New file.
63439         * lib/unictype/categ_Ps.c: New file.
63440         * lib/unictype/categ_S.c: New file.
63441         * lib/unictype/categ_Sc.c: New file.
63442         * lib/unictype/categ_Sk.c: New file.
63443         * lib/unictype/categ_Sm.c: New file.
63444         * lib/unictype/categ_So.c: New file.
63445         * lib/unictype/categ_Z.c: New file.
63446         * lib/unictype/categ_Zl.c: New file.
63447         * lib/unictype/categ_Zp.c: New file.
63448         * lib/unictype/categ_Zs.c: New file.
63449         * lib/unictype/categ_and.c: New file.
63450         * lib/unictype/categ_and_not.c: New file.
63451         * lib/unictype/categ_byname.c: New file.
63452         * lib/unictype/categ_name.c: New file.
63453         * lib/unictype/categ_none.c: New file.
63454         * lib/unictype/categ_of.c: New file.
63455         * lib/unictype/categ_or.c: New file.
63456         * lib/unictype/categ_test.c: New file.
63457         * lib/unictype/combining.c: New file.
63458         * lib/unictype/ctype_alnum.c: New file.
63459         * lib/unictype/ctype_alpha.c: New file.
63460         * lib/unictype/ctype_blank.c: New file.
63461         * lib/unictype/ctype_cntrl.c: New file.
63462         * lib/unictype/ctype_digit.c: New file.
63463         * lib/unictype/ctype_graph.c: New file.
63464         * lib/unictype/ctype_lower.c: New file.
63465         * lib/unictype/ctype_print.c: New file.
63466         * lib/unictype/ctype_punct.c: New file.
63467         * lib/unictype/ctype_space.c: New file.
63468         * lib/unictype/ctype_upper.c: New file.
63469         * lib/unictype/ctype_xdigit.c: New file.
63470         * lib/unictype/decdigit.c: New file.
63471         * lib/unictype/digit.c: New file.
63472         * lib/unictype/identsyntaxmap.h: New file.
63473         * lib/unictype/mirror.c: New file.
63474         * lib/unictype/numeric.c: New file.
63475         * lib/unictype/pr_alphabetic.c: New file.
63476         * lib/unictype/pr_ascii_hex_digit.c: New file.
63477         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63478         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63479         * lib/unictype/pr_bidi_block_separator.c: New file.
63480         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63481         * lib/unictype/pr_bidi_common_separator.c: New file.
63482         * lib/unictype/pr_bidi_control.c: New file.
63483         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63484         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63485         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63486         * lib/unictype/pr_bidi_european_digit.c: New file.
63487         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63488         * lib/unictype/pr_bidi_left_to_right.c: New file.
63489         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63490         * lib/unictype/pr_bidi_other_neutral.c: New file.
63491         * lib/unictype/pr_bidi_pdf.c: New file.
63492         * lib/unictype/pr_bidi_segment_separator.c: New file.
63493         * lib/unictype/pr_bidi_whitespace.c: New file.
63494         * lib/unictype/pr_byname.c: New file.
63495         * lib/unictype/pr_byname.gperf: New file.
63496         * lib/unictype/pr_combining.c: New file.
63497         * lib/unictype/pr_composite.c: New file.
63498         * lib/unictype/pr_currency_symbol.c: New file.
63499         * lib/unictype/pr_dash.c: New file.
63500         * lib/unictype/pr_decimal_digit.c: New file.
63501         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63502         * lib/unictype/pr_deprecated.c: New file.
63503         * lib/unictype/pr_diacritic.c: New file.
63504         * lib/unictype/pr_extender.c: New file.
63505         * lib/unictype/pr_format_control.c: New file.
63506         * lib/unictype/pr_grapheme_base.c: New file.
63507         * lib/unictype/pr_grapheme_extend.c: New file.
63508         * lib/unictype/pr_grapheme_link.c: New file.
63509         * lib/unictype/pr_hex_digit.c: New file.
63510         * lib/unictype/pr_hyphen.c: New file.
63511         * lib/unictype/pr_id_continue.c: New file.
63512         * lib/unictype/pr_id_start.c: New file.
63513         * lib/unictype/pr_ideographic.c: New file.
63514         * lib/unictype/pr_ids_binary_operator.c: New file.
63515         * lib/unictype/pr_ids_trinary_operator.c: New file.
63516         * lib/unictype/pr_ignorable_control.c: New file.
63517         * lib/unictype/pr_iso_control.c: New file.
63518         * lib/unictype/pr_join_control.c: New file.
63519         * lib/unictype/pr_left_of_pair.c: New file.
63520         * lib/unictype/pr_line_separator.c: New file.
63521         * lib/unictype/pr_logical_order_exception.c: New file.
63522         * lib/unictype/pr_lowercase.c: New file.
63523         * lib/unictype/pr_math.c: New file.
63524         * lib/unictype/pr_non_break.c: New file.
63525         * lib/unictype/pr_not_a_character.c: New file.
63526         * lib/unictype/pr_numeric.c: New file.
63527         * lib/unictype/pr_other_alphabetic.c: New file.
63528         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63529         * lib/unictype/pr_other_grapheme_extend.c: New file.
63530         * lib/unictype/pr_other_id_continue.c: New file.
63531         * lib/unictype/pr_other_id_start.c: New file.
63532         * lib/unictype/pr_other_lowercase.c: New file.
63533         * lib/unictype/pr_other_math.c: New file.
63534         * lib/unictype/pr_other_uppercase.c: New file.
63535         * lib/unictype/pr_paired_punctuation.c: New file.
63536         * lib/unictype/pr_paragraph_separator.c: New file.
63537         * lib/unictype/pr_pattern_syntax.c: New file.
63538         * lib/unictype/pr_pattern_white_space.c: New file.
63539         * lib/unictype/pr_private_use.c: New file.
63540         * lib/unictype/pr_punctuation.c: New file.
63541         * lib/unictype/pr_quotation_mark.c: New file.
63542         * lib/unictype/pr_radical.c: New file.
63543         * lib/unictype/pr_sentence_terminal.c: New file.
63544         * lib/unictype/pr_soft_dotted.c: New file.
63545         * lib/unictype/pr_space.c: New file.
63546         * lib/unictype/pr_terminal_punctuation.c: New file.
63547         * lib/unictype/pr_test.c: New file.
63548         * lib/unictype/pr_titlecase.c: New file.
63549         * lib/unictype/pr_unassigned_code_value.c: New file.
63550         * lib/unictype/pr_unified_ideograph.c: New file.
63551         * lib/unictype/pr_uppercase.c: New file.
63552         * lib/unictype/pr_variation_selector.c: New file.
63553         * lib/unictype/pr_white_space.c: New file.
63554         * lib/unictype/pr_xid_continue.c: New file.
63555         * lib/unictype/pr_xid_start.c: New file.
63556         * lib/unictype/pr_zero_width.c: New file.
63557         * lib/unictype/scripts.c: New file.
63558         * lib/unictype/sy_c_ident.c: New file.
63559         * lib/unictype/sy_c_whitespace.c: New file.
63560         * lib/unictype/sy_java_ident.c: New file.
63561         * lib/unictype/sy_java_whitespace.c: New file.
63562
63563         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63564         Unicode 5.0.0.
63565         * lib/unictype/blocks.h: Likewise.
63566         * lib/unictype/categ_C.h: Likewise.
63567         * lib/unictype/categ_Cc.h: Likewise.
63568         * lib/unictype/categ_Cf.h: Likewise.
63569         * lib/unictype/categ_Cn.h: Likewise.
63570         * lib/unictype/categ_Co.h: Likewise.
63571         * lib/unictype/categ_Cs.h: Likewise.
63572         * lib/unictype/categ_L.h: Likewise.
63573         * lib/unictype/categ_Ll.h: Likewise.
63574         * lib/unictype/categ_Lm.h: Likewise.
63575         * lib/unictype/categ_Lo.h: Likewise.
63576         * lib/unictype/categ_Lt.h: Likewise.
63577         * lib/unictype/categ_Lu.h: Likewise.
63578         * lib/unictype/categ_M.h: Likewise.
63579         * lib/unictype/categ_Mc.h: Likewise.
63580         * lib/unictype/categ_Me.h: Likewise.
63581         * lib/unictype/categ_Mn.h: Likewise.
63582         * lib/unictype/categ_N.h: Likewise.
63583         * lib/unictype/categ_Nd.h: Likewise.
63584         * lib/unictype/categ_Nl.h: Likewise.
63585         * lib/unictype/categ_No.h: Likewise.
63586         * lib/unictype/categ_P.h: Likewise.
63587         * lib/unictype/categ_Pc.h: Likewise.
63588         * lib/unictype/categ_Pd.h: Likewise.
63589         * lib/unictype/categ_Pe.h: Likewise.
63590         * lib/unictype/categ_Pf.h: Likewise.
63591         * lib/unictype/categ_Pi.h: Likewise.
63592         * lib/unictype/categ_Po.h: Likewise.
63593         * lib/unictype/categ_Ps.h: Likewise.
63594         * lib/unictype/categ_S.h: Likewise.
63595         * lib/unictype/categ_Sc.h: Likewise.
63596         * lib/unictype/categ_Sk.h: Likewise.
63597         * lib/unictype/categ_Sm.h: Likewise.
63598         * lib/unictype/categ_So.h: Likewise.
63599         * lib/unictype/categ_Z.h: Likewise.
63600         * lib/unictype/categ_Zl.h: Likewise.
63601         * lib/unictype/categ_Zp.h: Likewise.
63602         * lib/unictype/categ_Zs.h: Likewise.
63603         * lib/unictype/categ_of.h: Likewise.
63604         * lib/unictype/combining.h: Likewise.
63605         * lib/unictype/ctype_alnum.h: Likewise.
63606         * lib/unictype/ctype_alpha.h: Likewise.
63607         * lib/unictype/ctype_blank.h: Likewise.
63608         * lib/unictype/ctype_cntrl.h: Likewise.
63609         * lib/unictype/ctype_digit.h: Likewise.
63610         * lib/unictype/ctype_graph.h: Likewise.
63611         * lib/unictype/ctype_lower.h: Likewise.
63612         * lib/unictype/ctype_print.h: Likewise.
63613         * lib/unictype/ctype_punct.h: Likewise.
63614         * lib/unictype/ctype_space.h: Likewise.
63615         * lib/unictype/ctype_upper.h: Likewise.
63616         * lib/unictype/ctype_xdigit.h: Likewise.
63617         * lib/unictype/decdigit.h: Likewise.
63618         * lib/unictype/digit.h: Likewise.
63619         * lib/unictype/mirror.h: Likewise.
63620         * lib/unictype/numeric.h: Likewise.
63621         * lib/unictype/pr_alphabetic.h: Likewise.
63622         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63623         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63624         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63625         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63626         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63627         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63628         * lib/unictype/pr_bidi_control.h: Likewise.
63629         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63630         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63631         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63632         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63633         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63634         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63635         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63636         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63637         * lib/unictype/pr_bidi_pdf.h: Likewise.
63638         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63639         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63640         * lib/unictype/pr_combining.h: Likewise.
63641         * lib/unictype/pr_composite.h: Likewise.
63642         * lib/unictype/pr_currency_symbol.h: Likewise.
63643         * lib/unictype/pr_dash.h: Likewise.
63644         * lib/unictype/pr_decimal_digit.h: Likewise.
63645         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63646         * lib/unictype/pr_deprecated.h: Likewise.
63647         * lib/unictype/pr_diacritic.h: Likewise.
63648         * lib/unictype/pr_extender.h: Likewise.
63649         * lib/unictype/pr_format_control.h: Likewise.
63650         * lib/unictype/pr_grapheme_base.h: Likewise.
63651         * lib/unictype/pr_grapheme_extend.h: Likewise.
63652         * lib/unictype/pr_grapheme_link.h: Likewise.
63653         * lib/unictype/pr_hex_digit.h: Likewise.
63654         * lib/unictype/pr_hyphen.h: Likewise.
63655         * lib/unictype/pr_id_continue.h: Likewise.
63656         * lib/unictype/pr_id_start.h: Likewise.
63657         * lib/unictype/pr_ideographic.h: Likewise.
63658         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63659         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63660         * lib/unictype/pr_ignorable_control.h: Likewise.
63661         * lib/unictype/pr_iso_control.h: Likewise.
63662         * lib/unictype/pr_join_control.h: Likewise.
63663         * lib/unictype/pr_left_of_pair.h: Likewise.
63664         * lib/unictype/pr_line_separator.h: Likewise.
63665         * lib/unictype/pr_logical_order_exception.h: Likewise.
63666         * lib/unictype/pr_lowercase.h: Likewise.
63667         * lib/unictype/pr_math.h: Likewise.
63668         * lib/unictype/pr_non_break.h: Likewise.
63669         * lib/unictype/pr_not_a_character.h: Likewise.
63670         * lib/unictype/pr_numeric.h: Likewise.
63671         * lib/unictype/pr_other_alphabetic.h: Likewise.
63672         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63673         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63674         * lib/unictype/pr_other_id_continue.h: Likewise.
63675         * lib/unictype/pr_other_id_start.h: Likewise.
63676         * lib/unictype/pr_other_lowercase.h: Likewise.
63677         * lib/unictype/pr_other_math.h: Likewise.
63678         * lib/unictype/pr_other_uppercase.h: Likewise.
63679         * lib/unictype/pr_paired_punctuation.h: Likewise.
63680         * lib/unictype/pr_paragraph_separator.h: Likewise.
63681         * lib/unictype/pr_pattern_syntax.h: Likewise.
63682         * lib/unictype/pr_pattern_white_space.h: Likewise.
63683         * lib/unictype/pr_private_use.h: Likewise.
63684         * lib/unictype/pr_punctuation.h: Likewise.
63685         * lib/unictype/pr_quotation_mark.h: Likewise.
63686         * lib/unictype/pr_radical.h: Likewise.
63687         * lib/unictype/pr_sentence_terminal.h: Likewise.
63688         * lib/unictype/pr_soft_dotted.h: Likewise.
63689         * lib/unictype/pr_space.h: Likewise.
63690         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63691         * lib/unictype/pr_titlecase.h: Likewise.
63692         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63693         * lib/unictype/pr_unified_ideograph.h: Likewise.
63694         * lib/unictype/pr_uppercase.h: Likewise.
63695         * lib/unictype/pr_variation_selector.h: Likewise.
63696         * lib/unictype/pr_white_space.h: Likewise.
63697         * lib/unictype/pr_xid_continue.h: Likewise.
63698         * lib/unictype/pr_xid_start.h: Likewise.
63699         * lib/unictype/pr_zero_width.h: Likewise.
63700         * lib/unictype/scripts.h: Likewise.
63701         * lib/unictype/scripts_byname.gperf: Likewise.
63702         * lib/unictype/sy_c_ident.h: Likewise.
63703         * lib/unictype/sy_c_whitespace.h: Likewise.
63704         * lib/unictype/sy_java_ident.h: Likewise.
63705         * lib/unictype/sy_java_whitespace.h: Likewise.
63706
63707         * lib/unictype/Makefile: New file.
63708         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
63709         glibc.
63710         * lib/unictype/3level.h: New file, copied from glibc.
63711         * lib/unictype/3levelbit.h: New file.
63712
63713 2007-11-11  Bruno Haible  <bruno@clisp.org>
63714
63715         * modules/gperf: New file.
63716         * modules/iconv_open (Depends-on): Add it.
63717         (Makefile.am): Remove the GPERF definition.
63718
63719 2007-11-11  Bruno Haible  <bruno@clisp.org>
63720
63721         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
63722         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
63723
63724 2007-11-11  Bruno Haible  <bruno@clisp.org>
63725
63726         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
63727         (usage): Remove function.
63728
63729 2007-11-11  Bruno Haible  <bruno@clisp.org>
63730
63731         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
63732         gl_FUNC_CEILF_LIBS.
63733         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
63734         gl_FUNC_CEIL_LIBS.
63735         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
63736         gl_FUNC_CEILL_LIBS.
63737         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
63738         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
63739         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
63740
63741 2007-11-11  Bruno Haible  <bruno@clisp.org>
63742
63743         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
63744         roundf were declared but do not exist on functions.
63745         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
63746         roundl were declared but do not exist on functions.
63747         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
63748         HAVE_FLOORL_AND_CEILL, respectively.
63749         Needed for Sun C on Solaris 10.
63750
63751 2007-11-11  Bruno Haible  <bruno@clisp.org>
63752
63753         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
63754         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
63755         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
63756         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
63757         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
63758         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
63759         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
63760         HAVE_DECL_ROUNDF.
63761         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
63762         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
63763         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
63764         of HAVE_DECL_ROUND*.
63765         * modules/math (Makefile.am): Update.
63766
63767 2007-11-10  Bruno Haible  <bruno@clisp.org>
63768
63769         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
63770         ptrdiff_t as m4/intl.m4.
63771
63772 2007-11-10  Jim Meyering  <meyering@redhat.com>
63773
63774         Avoid link failure for the argmatch test.
63775         * tests/test-argmatch.c (usage): Define function to avoid a link
63776         failure: argmatch_die requires a usage function.
63777
63778 2007-11-09  Bruno Haible  <bruno@clisp.org>
63779
63780         * doc/functions/snprintf.texi: Mention BeOS deficiency.
63781         * doc/functions/vsnprintf.texi: Likewise.
63782         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
63783         with a size argument < 2.
63784
63785 2007-11-09  Bruno Haible  <bruno@clisp.org>
63786
63787         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
63788         buffer. Fixes an inefficiency introduced on 2007-11-03.
63789
63790 2007-11-09  Bruno Haible  <bruno@clisp.org>
63791
63792         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
63793         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
63794
63795 2007-11-08  Jim Meyering  <meyering@redhat.com>
63796
63797         Change cache variable name prefix "jm_" to "gl_" everywhere.
63798         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
63799         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
63800         * m4/uptime.m4: s/gl_/jm_/
63801
63802 2007-11-07  Bruno Haible  <bruno@clisp.org>
63803
63804         Update to GNU gettext 0.17.
63805         * m4/intl.m4: Update to GNU gettext 0.17.
63806         * m4/po.m4: Likewise.
63807         * modules/gettext (Files): Remove m4/ulonglong.m4.
63808         (configure.ac): Require gettext infrastructure from version 0.17.
63809
63810 2007-11-06  Bruno Haible  <bruno@clisp.org>
63811
63812         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
63813         symbolic values are not defined in a public header.
63814         * lib/freadable.c (freadable) [QNX]: Likewise.
63815         * lib/freadahead.c (freadahead) [QNX]: Likewise.
63816         * lib/freading.c (freading) [QNX]: Likewise.
63817         * lib/fseterr.c (fseterr) [QNX]: Likewise.
63818         * lib/fwritable.c (fwritable) [QNX]: Likewise.
63819         * lib/fwriting.c (fwriting) [QNX]: Likewise.
63820         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
63821         Reported by Alain Magloire.
63822
63823         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
63824
63825 2007-11-05  Bruno Haible  <bruno@clisp.org>
63826
63827         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
63828         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
63829         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
63830         Reported by Eric Blake.
63831
63832 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63833             Bruno Haible  <bruno@clisp.org>
63834
63835         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
63836         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
63837         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
63838         (malloc): Undefine also before including <stdlib.h>.
63839         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
63840         Needed on OSF/1 4.0.
63841
63842 2007-11-05  Jim Meyering  <meyering@redhat.com>
63843
63844         git-version-gen: sync from coreutils.
63845         * build-aux/git-version-gen: Add comments.
63846         Change the first '-' to '.' in the snapshot version string,
63847         e.g., 6.9-377-08144 -> 6.9.377-08144
63848         Remove first parameter.
63849         Don't declare a version "-dirty" merely because a time
63850         stamp has changed.
63851
63852 2007-11-04  Bruno Haible  <bruno@clisp.org>
63853
63854         * lib/lock.h: Protect all macro definitions containing an 'if'
63855         statement through a "do { ... } while (0)".
63856         * lib/tls.h: Likewise.
63857
63858 2007-11-04  Bruno Haible  <bruno@clisp.org>
63859
63860         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
63861
63862 2007-11-04  Bruno Haible  <bruno@clisp.org>
63863
63864         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
63865         * modules/fprintf-posix (Depends-on): Add nocrash.
63866         * modules/snprintf-posix (Depends-on): Likewise.
63867         * modules/sprintf-posix (Depends-on): Likewise.
63868         * modules/vasnprintf-posix (Depends-on): Likewise.
63869         * modules/vasprintf-posix (Depends-on): Likewise.
63870         * modules/vfprintf-posix (Depends-on): Likewise.
63871         * modules/vsnprintf-posix (Depends-on): Likewise.
63872         * modules/vsprintf-posix (Depends-on): Likewise.
63873         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63874         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63875         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63876         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63877         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63878         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63879         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63880
63881 2007-11-04  Bruno Haible  <bruno@clisp.org>
63882
63883         * modules/nocrash: New file.
63884         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
63885         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
63886
63887 2007-11-04  Bruno Haible  <bruno@clisp.org>
63888
63889         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
63890         precision handling.
63891         * tests/test-vasprintf-posix.c (test_function): Likewise.
63892         * tests/test-snprintf-posix.h (test_function): Likewise.
63893         * tests/test-sprintf-posix.h (test_function): Likewise.
63894
63895         Fix *printf behaviour for large precisions on mingw and BeOS.
63896         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
63897         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
63898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
63899         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63900         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63901         gl_PRINTF_PRECISION and test its result. Invoke
63902         gl_PREREQ_VASNPRINTF_PRECISION.
63903         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63904         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63905         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63906         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63907         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63909         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63910         * doc/functions/fprintf.texi: Update.
63911         * doc/functions/printf.texi: Update.
63912         * doc/functions/snprintf.texi: Update.
63913         * doc/functions/sprintf.texi: Update.
63914         * doc/functions/vfprintf.texi: Update.
63915         * doc/functions/vprintf.texi: Update.
63916         * doc/functions/vsnprintf.texi: Update.
63917         * doc/functions/vsprintf.texi: Update.
63918
63919 2007-11-04  Bruno Haible  <bruno@clisp.org>
63920
63921         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
63922
63923 2007-11-04  Bruno Haible  <bruno@clisp.org>
63924
63925         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
63926         Reported by Sylvain Beucler <beuc@gnu.org>.
63927
63928 2007-11-03  Bruno Haible  <bruno@clisp.org>
63929
63930         * tests/test-fprintf-posix2.sh: New file.
63931         * tests/test-fprintf-posix2.c: New file.
63932         * modules/fprintf-posix-tests (Files): Add them.
63933         (TESTS): Add test-fprintf-posix2.sh.
63934         (configure.ac): Check for getrlimit and setrlimit.
63935         (check_PROGRAMS): Add test-fprintf-posix2.
63936
63937         * tests/test-printf-posix2.sh: New file.
63938         * tests/test-printf-posix2.c: New file.
63939         * modules/printf-posix-tests (Files): Add them.
63940         (TESTS): Add test-printf-posix2.sh.
63941         (configure.ac): Check for getrlimit and setrlimit.
63942         (check_PROGRAMS): Add test-printf-posix2.
63943
63944         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
63945         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
63946         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
63947         (decode_double): New function, copied from decode_long_double.
63948         (scale10_round_decimal_decoded): New function, extracted from
63949         scale10_round_decimal_long_double.
63950         (scale10_round_decimal_long_double): Use it.
63951         (scale10_round_decimal_double): New function.
63952         (floorlog10): New function.
63953         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
63954         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
63955         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63956         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63957         gl_PRINTF_ENOMEM and test its result. Invoke
63958         gl_PREREQ_VASNPRINTF_ENOMEM.
63959         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63960         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63961         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63962         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63963         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63964         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63965         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63966         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
63967         * modules/snprintf-posix (Depends-on): Likewise.
63968         * modules/sprintf-posix (Depends-on): Likewise.
63969         * modules/vasnprintf-posix (Depends-on): Likewise.
63970         * modules/vasprintf-posix (Depends-on): Likewise.
63971         * modules/vfprintf-posix (Depends-on): Likewise.
63972         * modules/vsnprintf-posix (Depends-on): Likewise.
63973         * modules/vsprintf-posix (Depends-on): Likewise.
63974         * doc/functions/fprintf.texi: Update.
63975         * doc/functions/printf.texi: Update.
63976         * doc/functions/snprintf.texi: Update.
63977         * doc/functions/sprintf.texi: Update.
63978         * doc/functions/vfprintf.texi: Update.
63979         * doc/functions/vprintf.texi: Update.
63980         * doc/functions/vsnprintf.texi: Update.
63981         * doc/functions/vsprintf.texi: Update.
63982
63983 2007-11-03  Bruno Haible  <bruno@clisp.org>
63984
63985         * modules/frexp-nolibm-tests: New file.
63986
63987         * modules/frexp-nolibm: New file.
63988         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
63989
63990 2007-11-03  Bruno Haible  <bruno@clisp.org>
63991
63992         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
63993         value is C99 compliant.
63994         Needed for OSF/1 5.1.
63995
63996 2007-11-03  Bruno Haible  <bruno@clisp.org>
63997
63998         Fix out-of-memory handling of vasnprintf.
63999         * lib/printf-parse.c: Include <errno.h>.
64000         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64001         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64002         is already set.
64003
64004 2007-11-02  Eric Blake  <ebb9@byu.net>
64005
64006         Fix tests on cygwin.
64007         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64008
64009 2007-11-01  Bruno Haible  <bruno@clisp.org>
64010
64011         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64012         warning.
64013         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64014         needed for POSIX compatibility.
64015
64016 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64017
64018         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64019         for compatibility with GNU.
64020
64021 2007-11-01  Bruno Haible  <bruno@clisp.org>
64022
64023         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64024         (putenv): Renamed from rpl_putenv. Change argument type from
64025         'const char *' to 'char *'.
64026         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64027         of defining putenv in config.h, just set REPLACE_PUTENV.
64028         * modules/putenv (Depends-on): Add stdlib.
64029         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64030         (Include): Use <stdlib.h>.
64031         * lib/stdlib.in.h (putenv): New declaration.
64032         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64033         REPLACE_PUTENV.
64034         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64035         REPLACE_PUTENV.
64036         Needed for MacOS X 10.5.0.
64037         Reported by Peter O'Gorman <peter@pogma.com>.
64038
64039 2007-11-01  Jim Meyering  <meyering@redhat.com>
64040
64041         Treat an empty date string exactly like "0".
64042         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64043         if the remaining date string (to be parsed) is empty, use "0".
64044         Reported by Mischa Molhoek and discussed in this thread:
64045         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64046
64047 2007-10-31  Bruno Haible  <bruno@clisp.org>
64048
64049         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64050         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64051         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64052         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64053         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64054         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64055
64056 2007-10-31  Bruno Haible  <bruno@clisp.org>
64057
64058         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64059         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64060         (AC_TYPE_LONG_LONG_INT): Use it.
64061         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64062         it as well.
64063         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64064         to m4/longlong.m4.
64065         * modules/stdint (Files): Remove m4/ulonglong.m4.
64066         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64067         m4/ulonglong.m4.
64068         * modules/strtoumax (Files): Likewise.
64069
64070 2007-10-30  Bruno Haible  <bruno@clisp.org>
64071
64072         * modules/xvasprintf-posix: New file.
64073         Suggested by Eric Blake.
64074
64075 2007-10-30  Bruno Haible  <bruno@clisp.org>
64076
64077         * modules/xprintf-posix-tests: New file.
64078         * tests/test-xprintf-posix.sh: New file.
64079         * tests/test-xprintf-posix.c: New file.
64080         * tests/test-xfprintf-posix.c: New file.
64081
64082         * modules/xprintf-posix: New file.
64083
64084 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64085
64086         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64087         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64088         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64089
64090 2007-10-29  Bruno Haible  <bruno@clisp.org>
64091
64092         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64093         contain the special marker '_cv_'.
64094         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64095         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64096         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64097         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64098         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64099         Reported by Ralf Wildenhues.
64100
64101 2007-10-29  Bruno Haible  <bruno@clisp.org>
64102
64103         * gnulib-tool (func_import): When --lgpl is not specified, set
64104         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64105         GPLv3.
64106         Reported by Simon Josefsson.
64107
64108 2007-10-28  Bruno Haible  <bruno@clisp.org>
64109
64110         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64111         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64112         HAVE_DECL_ISFINITE.
64113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64114         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64115         HAVE_DECL_ISFINITE.
64116
64117 2007-10-28  Bruno Haible  <bruno@clisp.org>
64118
64119         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64120         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64121
64122 2007-10-28  Bruno Haible  <bruno@clisp.org>
64123
64124         Fix link errors with Sun C 5.0 on Solaris 10.
64125         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64126         function is declared but not present in the compiler's libm.
64127         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64128         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64129         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64130         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64131         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64132         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64133         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64135         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64136         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64137         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64138         HAVE_DECL_FLOORL.
64139
64140 2007-10-28  Bruno Haible  <bruno@clisp.org>
64141
64142         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64143         gl_FUNC_FLOORL. Cache the result.
64144         (gl_FUNC_FLOORL): Use it.
64145         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64146         gl_FUNC_CEILL. Cache the result.
64147         (gl_FUNC_CEILL): Use it.
64148
64149         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64150         gl_FUNC_FLOOR. Cache the result.
64151         (gl_FUNC_FLOOR): Use it.
64152         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64153         gl_FUNC_CEIL. Cache the result.
64154         (gl_FUNC_CEIL): Use it.
64155
64156         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64157         gl_FUNC_FLOORF. Cache the result.
64158         (gl_FUNC_FLOORF): Use it.
64159         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64160         gl_FUNC_CEILF. Cache the result.
64161         (gl_FUNC_CEILF): Use it.
64162
64163 2007-10-28  Bruno Haible  <bruno@clisp.org>
64164
64165         * gnulib-tool: Allow specifying the LGPL version number through
64166         --lgpl=2 or --lgpl=3.
64167         (func_usage): Document --lgpl with argument.
64168         Handle --lgpl=... arguments.
64169         (func_import): Recognize also gl_LGPL calls with an argument. When
64170         --lgpl=2 is used and the module's license is just LGPL, report an
64171         error. Set sed_transform_lib_file according to the lgpl variable. In
64172         the generated files, use --lgpl or gl_LGPL invocations with argument,
64173         if necessary.
64174         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64175         an LGPv2+ license.
64176         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64177         gl_LGPL macro.
64178
64179 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64180             Bruno Haible  <bruno@clisp.org>
64181
64182         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64183         (u16_uctomb_aux): Likewise.
64184         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64185         !HAVE_INLINE.
64186         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64187
64188 2007-10-28  Bruno Haible  <bruno@clisp.org>
64189
64190         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64191         Invoke AM_GETTEXT_OPTION if it exists.
64192         * modules/vasprintf: Likewise.
64193         * modules/verror: Likewise.
64194         * modules/xprintf: Likewise.
64195         * modules/xvasprintf: Likewise.
64196
64197 2007-10-27  Ben Pfaff  <blp@gnu.org>
64198
64199         * lib/math.in.h: Define isfinite macro and prototypes for
64200         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64201         implementations.
64202         * m4/math_h.m4: New substitutions for isfinite module.
64203         * lib/isfinite.c: New file.
64204         * m4/isfinite.m4: New file.
64205         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64206         * modules/isfinite: New file.
64207         * modules/isfinite-tests: New file.
64208         * tests/tests-isfinite.c: New file.
64209         * doc/functions/isfinite.texi: Mention isfinite module.
64210         * MODULES.html.sh: Mention new module.
64211
64212 2007-10-27  Ben Pfaff  <blp@gnu.org>
64213
64214         Ralf Wildenhues reported that Tru64 4.0D declares the round
64215         functions but does not have definitions.
64216         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64217         cannot be found in any library, set the output variable to
64218         "missing" instead of "".
64219         * m4/round.m4: Also use our substitute if we cannot find round in
64220         any library, even if it is declared.
64221         * m4/roundf.m4: Likewise for roundf.
64222         * m4/roundl.m4: Likewise for roundl.
64223         * lib/math.in.h: Undefine roundf, round, roundl before defining
64224         their replacements, to allow for hypothetical systems where these
64225         may be defined as macros but not available in libraries.
64226
64227 2007-10-27  Bruno Haible  <bruno@clisp.org>
64228
64229         * doc/gnulib.texi: Invoke @firstparagraphindent.
64230         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64231         changes in gnulib.
64232         (Source changes): New section.
64233
64234 2007-10-26  Bruno Haible  <bruno@clisp.org>
64235
64236         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64237         borrowed from autoconf.
64238
64239 2007-10-26  Bruno Haible  <bruno@clisp.org>
64240
64241         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64242         strerror returned the empty string. Needed on HP-UX 11.00.
64243
64244 2007-10-24  Micah Cowan  <micah@cowan.name>
64245
64246         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64247         * build-aux/bootstrap: Remove support for now-unnecessary option,
64248         --cvs-user, and envvars CVS_USER, CVS_RSH.
64249
64250 2007-10-24  Jim Meyering  <meyering@redhat.com>
64251
64252         Avoid diagnostics from sha1sum when there is no cached checksum.
64253         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64254         if the po.s1 file hasn't been created yet.
64255
64256         * build-aux/bootstrap: Sync from coreutils:
64257         2007-10-24  Jim Meyering  <meyering@redhat.com>
64258         Get gnulib from the git repository, not from an obsolete cvs one.
64259         * build-aux/bootstrap: Suggestion from Micah Cowan.
64260         2007-10-04  Jim Meyering  <jim@meyering.net>
64261         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64262         (update_po_files): Work also when there are no .po files in po/.
64263
64264 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64265
64266         * README: Append ".git" to git and cg examples.
64267         Problem reported by Benoit Sigoure.
64268
64269 2007-10-23  Micah Cowan  <micah@cowan.name>
64270
64271         * users.txt: Add wget.
64272
64273 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64274
64275         Fix linking of some unistdio tests on FreeBSD.
64276         * modules/unistdio/u16-vsnprintf-tests
64277         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64278         * modules/unistdio/u16-vsprintf-tests
64279         (test_u16_vsnprintf1_LDADD): Likewise.
64280         * modules/unistdio/u32-vsnprintf-tests
64281         (test_u32_vsnprintf1_LDADD): Likewise.
64282         * modules/unistdio/u32-vsprintf-tests
64283         (test_u32_vsprintf1_LDADD): Likewise.
64284         * modules/unistdio/u8-vsnprintf-tests
64285         (test_u8_vsnprintf1_LDADD): Likewise.
64286         * modules/unistdio/u8-vsprintf-tests
64287         (test_u8_vsprintf1_LDADD): Likewise.
64288         * modules/unistdio/ulc-vsnprintf-tests
64289         (test_ulc_vsnprintf1_LDADD): Likewise.
64290         * modules/unistdio/ulc-vsprintf-tests
64291         (test_ulc_vsprintf1_LDADD): Likewise.
64292
64293         Fix linking of some uniconv tests on FreeBSD.
64294         * modules/uniconv/u16-conv-from-enc-tests
64295         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64296         * modules/uniconv/u16-conv-to-enc-tests
64297         (test_u16_conv_to_enc_LDADD): Likewise.
64298         * modules/uniconv/u16-strconv-from-enc-tests
64299         (test_u16_strconv_from_enc_LDADD): Likewise.
64300         * modules/uniconv/u16-strconv-to-enc-tests
64301         (test_u16_strconv_to_enc_LDADD): Likewise.
64302         * modules/uniconv/u32-conv-from-enc-tests
64303         (test_u32_conv_from_enc_LDADD): Likewise.
64304         * modules/uniconv/u32-conv-to-enc-tests
64305         (test_u32_conv_to_enc_LDADD): Likewise.
64306         * modules/uniconv/u32-strconv-from-enc-tests
64307         (test_u32_strconv_from_enc_LDADD): Likewise.
64308         * modules/uniconv/u32-strconv-to-enc-tests
64309         (test_u32_strconv_to_enc_LDADD): Likewise.
64310         * modules/uniconv/u8-conv-from-enc-tests
64311         (test_u8_conv_from_enc_LDADD): Likewise.
64312         * modules/uniconv/u8-conv-to-enc-tests
64313         (test_u8_conv_to_enc_LDADD): Likewise.
64314         * modules/uniconv/u8-strconv-from-enc-tests
64315         (test_u8_strconv_from_enc_LDADD): Likewise.
64316         * modules/uniconv/u8-strconv-to-enc-tests
64317         (test_u8_strconv_to_enc_LDADD): Likewise.
64318
64319 2007-10-22  Bruno Haible  <bruno@clisp.org>
64320
64321         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64322         size.
64323
64324 2007-10-22  Eric Blake  <ebb9@byu.net>
64325
64326         Tweak x*printf documentation.
64327         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64328         variable name and comments.
64329         Suggested by Bruno Haible.
64330
64331 2007-10-22  Bruno Haible  <bruno@clisp.org>
64332
64333         * lib/acl.c (copy_acl): Fix file name in comment.
64334
64335 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64336
64337         Fix Tru64 problem with stdbool.h.
64338         * lib/stdbool.in.h (false, true):
64339         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64340         Don't declare as an enum in this situation; it runs afoul of Tru64.
64341         Problem reported by Steven M. Schweda in
64342         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64343
64344 2007-10-22  Eric Blake  <ebb9@byu.net>
64345
64346         Also wrap vf?printf.
64347         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64348         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64349         (xvprintf, xvfprintf): New functions.
64350
64351 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64352
64353         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64354         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64355
64356         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64357         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64358
64359 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64360
64361         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64362         by Bruno Haible.
64363
64364 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64365
64366         * lib/getloadavg.c
64367         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64368         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64369
64370         * tests/test-i-ring.c: Work for C89.
64371
64372 2007-10-22  Bruno Haible  <bruno@clisp.org>
64373
64374         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64375         -1u, in preprocessor expression, so that we don't test for the bug
64376         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64377         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64378
64379 2007-10-22  Eric Blake  <ebb9@byu.net>
64380
64381         * tests/test-yesno.sh: Silence stderr during test.
64382
64383 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64384
64385         * modules/crypto/gc-camellia: New file.
64386
64387         * m4/gc-camellia.m4: New file.
64388
64389         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64390
64391         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64392
64393 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64394
64395         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64396         --help to stdout.  Reported by sms@antinode.org (Steven
64397         M. Schweda).
64398
64399 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64400
64401         * users.txt: Fix link to libksba.
64402
64403 2007-10-21  Ben Pfaff  <blp@gnu.org>
64404
64405         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64406         round.c roundf implementation that depends on floorf and ceilf to
64407         be tested unconditionally.
64408
64409 2007-10-21  Ben Pfaff  <blp@gnu.org>
64410
64411         * m4/check-libm-func.m4: Removed.
64412         * m4/check-math-lib.m4: New file.
64413         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64414         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64415         definition and lack of AC_LIBOBJ([roundf]).
64416         * m4/roundl.m4: Ditto, and similarly for roundl.
64417         * modules/round: Reference new m4 file.
64418         * modules/roundf: Ditto.
64419         * modules/roundl: Ditto.
64420         * tests/test-round2.c (main): Use ROUND instead of round.
64421         Bug report from Bruno Haible.
64422
64423 2007-10-21  Bruno Haible  <bruno@clisp.org>
64424
64425         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64426         context.
64427
64428 2007-10-21  Bruno Haible  <bruno@clisp.org>
64429
64430         * tests/test-wcwidth.c (main): Allow negative result for some control
64431         characters.
64432
64433         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64434         Needed on OSF/1 5.1.
64435
64436 2007-10-21  Bruno Haible  <bruno@clisp.org>
64437
64438         * tests/test-floorf1.c: Include isnanf.h.
64439         (main): Use isnanf() instead of isnan().
64440         * tests/test-ceilf1.c: Include isnanf.h.
64441         (main): Use isnanf() instead of isnan().
64442         * tests/test-truncf1.c: Include isnanf.h.
64443         (main): Use isnanf() instead of isnan().
64444         * tests/test-roundf1.c: Include isnanf.h.
64445         (main): Use isnanf() instead of isnan().
64446
64447 2007-10-21  Eric Blake  <ebb9@byu.net>
64448
64449         * users.txt: Update URL for m4.
64450
64451 2007-10-21  Bruno Haible  <bruno@clisp.org>
64452
64453         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64454
64455 2007-10-21  Bruno Haible  <bruno@clisp.org>
64456
64457         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64458         Git's management files if the CVS files are not present.
64459
64460 2007-10-20  Bruno Haible  <bruno@clisp.org>
64461
64462         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64463         gcc-3.4.x.
64464
64465 2007-10-20  Ben Pfaff  <blp@gnu.org>
64466
64467         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64468         implementations.
64469         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64470         * lib/round.c: New file.
64471         * lib/roundf.c: New file.
64472         * lib/roundl.c: New file.
64473         * m4/round.m4: New file.
64474         * m4/roundf.m4: New file.
64475         * m4/roundl.m4: New file.
64476         * m4/check-libm-func-m4: New file.
64477         * modules/math: Replace round, roundf, roundl related @VARS@ in
64478         math.in.h.
64479         * modules/round: New file.
64480         * modules/round-tests: New file.
64481         * modules/roundf: New file.
64482         * modules/roundf-tests: New file.
64483         * modules/roundl: New file.
64484         * modules/roundl-tests: New file.
64485         * tests/test-round1.c: New file.
64486         * tests/test-round2.c: New file.
64487         * tests/test-roundf1.c: New file.
64488         * tests/test-roundf2.c: New file.
64489         * tests/test-roundl.c: New file.
64490         * doc/functions/round.texi: Mention round module.
64491         * doc/functions/roundf.texi: Mention roundf module.
64492         * doc/functions/roundl.texi: Mention roundl module.
64493         * MODULES.html.sh: Mention new modules.
64494         Thanks to Bruno Haible for suggestions.
64495
64496 2007-10-20  Jim Meyering  <meyering@redhat.com>
64497
64498         * lib/xprintf.c: Include <config.h> unconditionally.
64499
64500         Change xprintf's license to GPL.
64501         * modules/xprintf (License): s/LGPL/GPL/, since this module
64502         depends on modules (exit and exitfail) which are GPL.
64503         Suggestion from Bruno Haible.
64504
64505         xprintf fixes.
64506         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64507         Use a clearer diagnostic.
64508         Patch from Bruno Haible.
64509
64510 2007-10-20  Bruno Haible  <bruno@clisp.org>
64511
64512         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64513         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64514         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64515
64516 2007-10-20  Bruno Haible  <bruno@clisp.org>
64517
64518         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64519         precision in the comparison result > x - 1 or similar.
64520         * tests/test-ceilf2.c (correct_result_p): Likewise.
64521         * tests/test-truncf2.c (correct_result_p): Likewise.
64522         * tests/test-trunc2.c (correct_result_p): Likewise.
64523         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64524
64525 2007-10-20  Bruno Haible  <bruno@clisp.org>
64526
64527         * modules/ceil: New file.
64528         * m4/ceil.m4: New file.
64529         * doc/functions/ceil.texi: Mention the 'ceil' module.
64530
64531 2007-10-20  Bruno Haible  <bruno@clisp.org>
64532
64533         * modules/floor: New file.
64534         * m4/floor.m4: New file.
64535         * doc/functions/floor.texi: Mention the 'floor' module.
64536
64537 2007-10-20  Bruno Haible  <bruno@clisp.org>
64538
64539         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64540         of %a.
64541         * modules/floorf-tests (Depends-on): Likewise.
64542         * modules/truncf-tests (Depends-on): Likewise.
64543         * modules/trunc-tests (Depends-on): Likewise.
64544         Reported by Ben Pfaff.
64545
64546 2007-10-19  Jim Meyering  <meyering@redhat.com>
64547
64548         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64549         Don't bother testing specific errno values.  Just test ferror.
64550
64551         New module: xprintf
64552         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64553
64554 2007-10-19  Bruno Haible  <bruno@clisp.org>
64555
64556         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64557         syntax.
64558         * modules/javaexec (Makefile.am): Likewise.
64559         * modules/relocatable-prog (Makefile.am): Likewise.
64560         Suggested by Jim Meyering.
64561
64562 2007-10-18  Bruno Haible  <bruno@clisp.org>
64563
64564         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64565         Reported by Jim Meyering.
64566
64567 2007-10-18  Eric Blake  <ebb9@byu.net>
64568
64569         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64570
64571 2007-10-18  Bruno Haible  <bruno@clisp.org>
64572
64573         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64574         the format string into writable memory. Needed in Fortify conditions.
64575
64576 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64577             Bruno Haible  <bruno@clisp.org>
64578
64579         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64580         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64581         * modules/trim (Depends-on): Add mbchar.
64582         (configure.ac): Add gl_FUNC_MBRTOWC.
64583         (Makefile.am): Augment lib_SOURCES.
64584
64585 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64586
64587         Modify glob.c to use fstatat and dirfd, to simplify it.
64588         Suggested by Eric Blake.
64589         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64590         Don't include <stdbool.h>; not used.
64591         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64592         (link_exists_p): Simplify implementation, since we can now assume
64593         dirfd and fstatat.
64594         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64595
64596 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64597
64598         * gnulib-tool (func_get_dependencies): Fix sed script to
64599         match only tests.
64600
64601 2007-10-17  Bruno Haible  <bruno@clisp.org>
64602
64603         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64604         allow locale names without encoding suffix.
64605         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64606         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64607
64608 2007-10-16  Bruno Haible  <bruno@clisp.org>
64609
64610         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64611         * lib/getgroups.c (getgroups): Likewise.
64612         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64613
64614 2007-10-16  Bruno Haible  <bruno@clisp.org>
64615
64616         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64617         * modules/malloc-posix (License): Likewise.
64618         * modules/realloc-posix (License): Likewise.
64619         * modules/calloc-posix (License): Likewise.
64620         * modules/intprops (License): Change from GPL to LGPL, with
64621         Paul Eggert's approval.
64622
64623 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64624
64625         Merge glibc changes into lib/glob.c.
64626
64627         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64628         2007-10-15 04:59:03 UTC.  Here are the changes:
64629
64630         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64631
64632         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64633
64634         * lib/glob.c: Add some branch prediction throughout.
64635
64636         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64637
64638         [BZ #5103]
64639         * lib/glob.c (glob): Recognize patterns starting \/.
64640
64641         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64642
64643         [BZ #3996]
64644         * lib/glob.c (attribute_hidden): Define if not defined.
64645         (glob): Unescape dirname, filename or username when needed and not
64646         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64647         is NULL.  Handle unescaped [ in pattern without closing ].
64648         Don't pass GLOB_CHECK down to recursive glob for directories.
64649         (__glob_pattern_type): New function.
64650         (__glob_pattern_p): Implement using __glob_pattern_type.
64651         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64652         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64653         Remove unreachable code.
64654
64655         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64656
64657         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64658         explain why there are no leaks.
64659
64660         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64661
64662         [BZ #3253]
64663         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64664         time, rather allocate increasingly bigger arrays of pointers, if
64665         possible with alloca, if too large with malloc.
64666
64667 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64668
64669         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64670         Problem reported by H.Merijn Brand in
64671         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64672         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64673         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64674
64675 2007-10-15  Bruno Haible  <bruno@clisp.org>
64676
64677         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64678         with explicit rpl_ prefix.
64679         * lib/fopen.c (fopen): Likewise.
64680         * lib/freopen.c (freopen): Likewise.
64681         * lib/iconv.c (iconv): Likewise.
64682         * lib/iconv_close.c (iconv_close): Likewise.
64683
64684 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64685
64686         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64687
64688 2007-10-15  Bruno Haible  <bruno@clisp.org>
64689
64690         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64691         <stddef.h> instead of <stdlib.h> since we only need NULL.
64692         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64693
64694 2007-10-15  Bruno Haible  <bruno@clisp.org>
64695
64696         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64697         Replace paragraph talking about LIBOBJS.
64698         Reported by Colin Watson <cjwatson@debian.org>.
64699
64700 2007-10-15  Bruno Haible  <bruno@clisp.org>
64701
64702         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64703         <stdlib.h> before using NULL.
64704
64705 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64706
64707         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64708         Reported by Albert Chin <china@thewrittenword.com>.
64709
64710 2007-10-14  Bruno Haible  <bruno@clisp.org>
64711
64712         * modules/iconv_open-utf-tests: New file.
64713         * tests/test-iconv-utf.c: New file.
64714
64715         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
64716         * modules/iconv_open-utf: New file.
64717         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
64718         (iconv, iconv_close): New declarations.
64719         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
64720         be defined.
64721         (iconv_open): Add special handling of conversion between UTF-8 and
64722         UTF-{16,32}{BE,LE}.
64723         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
64724         * lib/iconv_close.c: New file.
64725         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
64726         gl_FUNC_ICONV_OPEN.
64727         (gl_FUNC_ICONV_OPEN): Use it.
64728         (gl_FUNC_ICONV_OPEN_UTF): New macro.
64729         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
64730         and REPLACE_ICONV_UTF.
64731         * modules/iconv_open (Depends-on): Add c-strcase.
64732         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
64733         ICONV_CONST.
64734         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
64735
64736 2007-10-13  Albert Chin  <china@thewrittenword.com>
64737             Bruno Haible  <bruno@clisp.org>
64738
64739         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
64740         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
64741
64742 2007-10-13  Bruno Haible  <bruno@clisp.org>
64743
64744         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
64745         defined, use the ISO C99 inline semantics.
64746         * lib/argp.h (ARGP_EI): Likewise.
64747
64748 2007-10-13  Bruno Haible  <bruno@clisp.org>
64749
64750         Handle 'inline' change in gcc 4.3.0.
64751         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
64752         argp_fmtstream_write, argp_fmtstream_set_lmargin,
64753         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
64754         argp_fmtstream_point): Disable 'extern' declaration if the function
64755         definition is going to be provided inline.
64756         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
64757         semantics, not the ISO C99 inline semantics.
64758         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
64759         'extern' declaration if the function definition is going to be provided
64760         inline.
64761         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
64762         the GNU C inline semantics, not the ISO C99 inline semantics. With
64763         GCC 4.2, avoid a warning.
64764
64765 2007-10-13  Bruno Haible  <bruno@clisp.org>
64766
64767         * lib/freading.h (freading): Enable the use of __freading for
64768         glibc >= 2.7.
64769         * lib/freading.c (freading): Likewise.
64770
64771 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64772
64773         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
64774         "warning: C99 inline functions are not supported; using GNU89".
64775
64776 2007-10-12  Bruno Haible  <bruno@clisp.org>
64777
64778         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
64779         of 2.
64780         * tests/test-ceilf2.c: New file.
64781         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
64782
64783         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
64784         * modules/ceilf-tests: Update.
64785
64786 2007-10-12  Bruno Haible  <bruno@clisp.org>
64787
64788         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
64789         of 2.
64790         * tests/test-floorf2.c: New file.
64791         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
64792
64793         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
64794         * modules/floorf-tests: Update.
64795
64796 2007-10-12  Bruno Haible  <bruno@clisp.org>
64797
64798         * tests/test-trunc2.c: New file.
64799         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
64800
64801         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
64802         * modules/trunc-tests: Update.
64803
64804 2007-10-12  Bruno Haible  <bruno@clisp.org>
64805
64806         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
64807         of 2.
64808         * tests/test-truncf2.c: New file.
64809         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
64810
64811         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
64812         * modules/truncf-tests: Update.
64813
64814 2007-10-11  Eric Blake  <ebb9@byu.net>
64815
64816         Don't claim strerror is broken on Interix.
64817         * doc/functions/strerror.texi (strerror): Known broken systems are
64818         now Solaris 8, and not Interix.
64819         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
64820         Interix on cross-compile.
64821         Reported by Martin Koeppe in
64822         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
64823
64824 2007-10-11  Bruno Haible  <bruno@clisp.org>
64825
64826         * modules/i-ring-tests: New file.
64827         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
64828         instead of assert.
64829
64830 2007-10-11  Bruno Haible  <bruno@clisp.org>
64831
64832         * modules/filenamecat-tests: New file.
64833         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
64834         * lib/filenamecat.c: Remove test code.
64835
64836 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64837
64838         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
64839
64840         * lib/strerror.c: Include <string.h> always, to test interface,
64841         and to remove the need for the dummy.
64842         Include intprops.h to compute width instead of doing it ourselves
64843         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
64844         (strerror): Define it to return NULL if there's no system strerror.
64845         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
64846         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
64847         ancient pre-strerror Unix systems well any more.  Saying "unknown
64848         system error" is enough.
64849         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
64850         simpler strerror.c implementation.
64851         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
64852         Simplify the tests to reflect the simpler strerror implementation.
64853         * modules/strerror (Depends-on): Add intprops.
64854
64855 2007-10-09  Eric Blake  <ebb9@byu.net>
64856
64857         Silence test-fpending.
64858         * modules/fpending-tests (Files): Add wrapper script.
64859         * tests/test-fpending.sh: New file.
64860
64861 2007-10-09  Bruno Haible  <bruno@clisp.org>
64862
64863         * MODULES.html.sh (func_module): Don't create a hyperlink for
64864         function names like 'printf_frexp'.
64865         (Misc): Add crc, memxor.
64866         (Characteristics of floating types): New section.
64867         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
64868         isnanf-nolibm, signbit, trunc, truncf, truncl.
64869         (Enhancements for ISO C 99 functions): New subsection Input/output.
64870         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
64871         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
64872         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
64873         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64874         (Enhancements for POSIX:2001 functions): Add chdir-long.
64875         (File system functions): Add areadlink, chdir-safer, read-file.
64876         Remove cycle-check.
64877         (File system as inode set): New section.
64878         (Date and time): Add gethrxtime.
64879         (Multithreading): Add openmp.
64880         (Internationalization functions): Add localename.
64881         (Unicode string functions): Add unistr/u*-mbsnlen.
64882         (Support for maintaining and releasing projects): Add git-version-gen.
64883         (Lone files): Remove directories.
64884
64885 2007-10-08  Ben Pfaff  <blp@gnu.org>
64886
64887         * lib/xmalloca.h: Fix typo in comment.
64888
64889 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64890
64891         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
64892         when avoiding problems with integer overflow.  Use a portable test
64893         instead.
64894
64895 2007-10-08  Simon Josefsson  <simon@josefsson.org>
64896
64897         * modules/dummy (License): Change to LGPLv2+.
64898         * modules/float (License): Likewise
64899         * modules/realloc (License): Likewise
64900         * modules/stdlib (License): Likewise
64901
64902 2007-10-07  Bruno Haible  <bruno@clisp.org>
64903
64904         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
64905         * floor.c (TWO_MANT_DIG): Likewise.
64906         * ceil.c (TWO_MANT_DIG): Likewise.
64907         Reported by Ben Pfaff.
64908
64909 2007-10-07  Bruno Haible  <bruno@clisp.org>
64910
64911         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
64912         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
64913         * lib/frexp.c (FUNC): Likewise.
64914         * lib/printf-frexp.h (printf_frexp): Likewise.
64915         * lib/printf-frexpl.h (printf_frexpl): Likewise.
64916         * lib/printf-frexp.c (FUNC): Likewise.
64917         Suggested by Jim Meyering.
64918
64919 2007-10-07  Jim Meyering  <meyering@redhat.com>
64920
64921         Make xnanosleep's integer overflow test more robust.
64922         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
64923         so that gcc-4.3.0 doesn't optimize away this test for overflow.
64924
64925 2007-10-07  Bruno Haible  <bruno@clisp.org>
64926
64927         * NEWS: Mention the license change.
64928
64929         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
64930         abbreviations in the modules files.
64931
64932         Change copyright notice from GPLv2+ to GPLv3+.
64933         * README: Change copyright notice.
64934         * MODULES.html.sh: Likewise.
64935         * build-aux/bootstrap.conf: Likewise.
64936         * build-aux/config.libpath: Likewise.
64937         * build-aux/csharpcomp.sh.in: Likewise.
64938         * build-aux/csharpexec.sh.in: Likewise.
64939         * build-aux/install-reloc: Likewise.
64940         * build-aux/javacomp.sh.in: Likewise.
64941         * build-aux/javaexec.sh.in: Likewise.
64942         * build-aux/ldd.sh.in: Likewise.
64943         * build-aux/reloc-ldflags: Likewise.
64944         * build-aux/relocatable.sh.in: Likewise.
64945         * build-aux/x-to-1.in: Likewise.
64946         * check-module: Likewise.
64947         * config/srclistvars.sh: Likewise.
64948         * gnulib-tool: Likewise.
64949         * lib/acl-internal.h: Likewise.
64950         * lib/acl.c: Likewise.
64951         * lib/acl.h: Likewise.
64952         * lib/acl_entries.c: Likewise.
64953         * lib/areadlink-with-size.c: Likewise.
64954         * lib/areadlink.c: Likewise.
64955         * lib/areadlink.h: Likewise.
64956         * lib/argmatch.c: Likewise.
64957         * lib/argmatch.h: Likewise.
64958         * lib/argp-ba.c: Likewise.
64959         * lib/argp-eexst.c: Likewise.
64960         * lib/argp-fmtstream.c: Likewise.
64961         * lib/argp-fmtstream.h: Likewise.
64962         * lib/argp-fs-xinl.c: Likewise.
64963         * lib/argp-help.c: Likewise.
64964         * lib/argp-namefrob.h: Likewise.
64965         * lib/argp-parse.c: Likewise.
64966         * lib/argp-pin.c: Likewise.
64967         * lib/argp-pv.c: Likewise.
64968         * lib/argp-pvh.c: Likewise.
64969         * lib/argp-xinl.c: Likewise.
64970         * lib/argp.h: Likewise.
64971         * lib/at-func.c: Likewise.
64972         * lib/atanl.c: Likewise.
64973         * lib/backupfile.c: Likewise.
64974         * lib/backupfile.h: Likewise.
64975         * lib/basename.c: Likewise.
64976         * lib/binary-io.h: Likewise.
64977         * lib/byteswap.in.h: Likewise.
64978         * lib/c-stack.c: Likewise.
64979         * lib/c-stack.h: Likewise.
64980         * lib/c-strcasestr.c: Likewise.
64981         * lib/c-strcasestr.h: Likewise.
64982         * lib/c-strstr.c: Likewise.
64983         * lib/c-strstr.h: Likewise.
64984         * lib/c-strtod.c: Likewise.
64985         * lib/calloc.c: Likewise.
64986         * lib/canon-host.c: Likewise.
64987         * lib/canon-host.h: Likewise.
64988         * lib/canonicalize-lgpl.c: Likewise.
64989         * lib/canonicalize.c: Likewise.
64990         * lib/canonicalize.h: Likewise.
64991         * lib/ceil.c: Likewise.
64992         * lib/ceilf.c: Likewise.
64993         * lib/ceill.c: Likewise.
64994         * lib/chdir-long.c: Likewise.
64995         * lib/chdir-long.h: Likewise.
64996         * lib/chdir-safer.c: Likewise.
64997         * lib/chdir-safer.h: Likewise.
64998         * lib/chown.c: Likewise.
64999         * lib/classpath.c: Likewise.
65000         * lib/classpath.h: Likewise.
65001         * lib/clean-temp.c: Likewise.
65002         * lib/clean-temp.h: Likewise.
65003         * lib/cloexec.c: Likewise.
65004         * lib/close-stream.c: Likewise.
65005         * lib/closein.c: Likewise.
65006         * lib/closein.h: Likewise.
65007         * lib/closeout.c: Likewise.
65008         * lib/closeout.h: Likewise.
65009         * lib/concat-filename.c: Likewise.
65010         * lib/copy-file.c: Likewise.
65011         * lib/copy-file.h: Likewise.
65012         * lib/count-one-bits.h: Likewise.
65013         * lib/crc.c: Likewise.
65014         * lib/crc.h: Likewise.
65015         * lib/creat-safer.c: Likewise.
65016         * lib/csharpcomp.c: Likewise.
65017         * lib/csharpcomp.h: Likewise.
65018         * lib/csharpexec.c: Likewise.
65019         * lib/csharpexec.h: Likewise.
65020         * lib/cycle-check.c: Likewise.
65021         * lib/cycle-check.h: Likewise.
65022         * lib/diacrit.c: Likewise.
65023         * lib/diacrit.h: Likewise.
65024         * lib/diffseq.h: Likewise.
65025         * lib/dirchownmod.c: Likewise.
65026         * lib/dirent.in.h: Likewise.
65027         * lib/dirfd.c: Likewise.
65028         * lib/dirfd.h: Likewise.
65029         * lib/dirname.c: Likewise.
65030         * lib/dirname.h: Likewise.
65031         * lib/dummy.c: Likewise.
65032         * lib/dup-safer.c: Likewise.
65033         * lib/dup2.c: Likewise.
65034         * lib/eealloc.h: Likewise.
65035         * lib/error.c: Likewise.
65036         * lib/error.h: Likewise.
65037         * lib/euidaccess.c: Likewise.
65038         * lib/exclude.c: Likewise.
65039         * lib/exclude.h: Likewise.
65040         * lib/execute.c: Likewise.
65041         * lib/execute.h: Likewise.
65042         * lib/exitfail.c: Likewise.
65043         * lib/exitfail.h: Likewise.
65044         * lib/expl.c: Likewise.
65045         * lib/fatal-signal.c: Likewise.
65046         * lib/fatal-signal.h: Likewise.
65047         * lib/fbufmode.c: Likewise.
65048         * lib/fbufmode.h: Likewise.
65049         * lib/fchdir.c: Likewise.
65050         * lib/fchmodat.c: Likewise.
65051         * lib/fchownat.c: Likewise.
65052         * lib/fcntl--.h: Likewise.
65053         * lib/fcntl-safer.h: Likewise.
65054         * lib/fcntl.in.h: Likewise.
65055         * lib/fd-safer.c: Likewise.
65056         * lib/fflush.c: Likewise.
65057         * lib/file-has-acl.c: Likewise.
65058         * lib/file-set.c: Likewise.
65059         * lib/file-type.c: Likewise.
65060         * lib/file-type.h: Likewise.
65061         * lib/fileblocks.c: Likewise.
65062         * lib/filemode.c: Likewise.
65063         * lib/filemode.h: Likewise.
65064         * lib/filename.h: Likewise.
65065         * lib/filenamecat.c: Likewise.
65066         * lib/filenamecat.h: Likewise.
65067         * lib/findprog.c: Likewise.
65068         * lib/findprog.h: Likewise.
65069         * lib/float.in.h: Likewise.
65070         * lib/floor.c: Likewise.
65071         * lib/floorf.c: Likewise.
65072         * lib/floorl.c: Likewise.
65073         * lib/fopen-safer.c: Likewise.
65074         * lib/fopen.c: Likewise.
65075         * lib/fpending.c: Likewise.
65076         * lib/fpending.h: Likewise.
65077         * lib/fprintf.c: Likewise.
65078         * lib/fprintftime.h: Likewise.
65079         * lib/fpucw.h: Likewise.
65080         * lib/fpurge.c: Likewise.
65081         * lib/fpurge.h: Likewise.
65082         * lib/freadable.c: Likewise.
65083         * lib/freadable.h: Likewise.
65084         * lib/freadahead.c: Likewise.
65085         * lib/freadahead.h: Likewise.
65086         * lib/freading.c: Likewise.
65087         * lib/freading.h: Likewise.
65088         * lib/free.c: Likewise.
65089         * lib/freopen.c: Likewise.
65090         * lib/frexp.c: Likewise.
65091         * lib/frexpl.c: Likewise.
65092         * lib/fseek.c: Likewise.
65093         * lib/fseterr.c: Likewise.
65094         * lib/fseterr.h: Likewise.
65095         * lib/fstatat.c: Likewise.
65096         * lib/fstrcmp.c: Likewise.
65097         * lib/fstrcmp.h: Likewise.
65098         * lib/fsusage.c: Likewise.
65099         * lib/fsusage.h: Likewise.
65100         * lib/ftell.c: Likewise.
65101         * lib/ftello.c: Likewise.
65102         * lib/fts-cycle.c: Likewise.
65103         * lib/fts.c: Likewise.
65104         * lib/fts_.h: Likewise.
65105         * lib/full-read.c: Likewise.
65106         * lib/full-read.h: Likewise.
65107         * lib/full-write.c: Likewise.
65108         * lib/full-write.h: Likewise.
65109         * lib/fwritable.c: Likewise.
65110         * lib/fwritable.h: Likewise.
65111         * lib/fwriteerror.c: Likewise.
65112         * lib/fwriteerror.h: Likewise.
65113         * lib/fwriting.c: Likewise.
65114         * lib/fwriting.h: Likewise.
65115         * lib/gcd.c: Likewise.
65116         * lib/gcd.h: Likewise.
65117         * lib/getcwd.c: Likewise.
65118         * lib/getdate.h: Likewise.
65119         * lib/getdate.y: Likewise.
65120         * lib/getdomainname.c: Likewise.
65121         * lib/getdomainname.h: Likewise.
65122         * lib/getgroups.c: Likewise.
65123         * lib/gethostname.c: Likewise.
65124         * lib/gethrxtime.c: Likewise.
65125         * lib/gethrxtime.h: Likewise.
65126         * lib/getloadavg.c: Likewise.
65127         * lib/getndelim2.c: Likewise.
65128         * lib/getndelim2.h: Likewise.
65129         * lib/getnline.c: Likewise.
65130         * lib/getnline.h: Likewise.
65131         * lib/getopt.c: Likewise.
65132         * lib/getopt.in.h: Likewise.
65133         * lib/getopt1.c: Likewise.
65134         * lib/getopt_int.h: Likewise.
65135         * lib/getpagesize.h: Likewise.
65136         * lib/getsubopt.c: Likewise.
65137         * lib/gettime.c: Likewise.
65138         * lib/getugroups.c: Likewise.
65139         * lib/getugroups.h: Likewise.
65140         * lib/getusershell.c: Likewise.
65141         * lib/gl_anyavltree_list1.h: Likewise.
65142         * lib/gl_anyavltree_list2.h: Likewise.
65143         * lib/gl_anyhash_list1.h: Likewise.
65144         * lib/gl_anyhash_list2.h: Likewise.
65145         * lib/gl_anylinked_list1.h: Likewise.
65146         * lib/gl_anylinked_list2.h: Likewise.
65147         * lib/gl_anyrbtree_list1.h: Likewise.
65148         * lib/gl_anyrbtree_list2.h: Likewise.
65149         * lib/gl_anytree_list1.h: Likewise.
65150         * lib/gl_anytree_list2.h: Likewise.
65151         * lib/gl_anytree_oset.h: Likewise.
65152         * lib/gl_anytreehash_list1.h: Likewise.
65153         * lib/gl_anytreehash_list2.h: Likewise.
65154         * lib/gl_array_list.c: Likewise.
65155         * lib/gl_array_list.h: Likewise.
65156         * lib/gl_array_oset.c: Likewise.
65157         * lib/gl_array_oset.h: Likewise.
65158         * lib/gl_avltree_list.c: Likewise.
65159         * lib/gl_avltree_list.h: Likewise.
65160         * lib/gl_avltree_oset.c: Likewise.
65161         * lib/gl_avltree_oset.h: Likewise.
65162         * lib/gl_avltreehash_list.c: Likewise.
65163         * lib/gl_avltreehash_list.h: Likewise.
65164         * lib/gl_carray_list.c: Likewise.
65165         * lib/gl_carray_list.h: Likewise.
65166         * lib/gl_linked_list.c: Likewise.
65167         * lib/gl_linked_list.h: Likewise.
65168         * lib/gl_linkedhash_list.c: Likewise.
65169         * lib/gl_linkedhash_list.h: Likewise.
65170         * lib/gl_list.c: Likewise.
65171         * lib/gl_list.h: Likewise.
65172         * lib/gl_oset.c: Likewise.
65173         * lib/gl_oset.h: Likewise.
65174         * lib/gl_rbtree_list.c: Likewise.
65175         * lib/gl_rbtree_list.h: Likewise.
65176         * lib/gl_rbtree_oset.c: Likewise.
65177         * lib/gl_rbtree_oset.h: Likewise.
65178         * lib/gl_rbtreehash_list.c: Likewise.
65179         * lib/gl_rbtreehash_list.h: Likewise.
65180         * lib/gl_sublist.c: Likewise.
65181         * lib/gl_sublist.h: Likewise.
65182         * lib/group-member.c: Likewise.
65183         * lib/group-member.h: Likewise.
65184         * lib/hard-locale.c: Likewise.
65185         * lib/hard-locale.h: Likewise.
65186         * lib/hash-pjw.c: Likewise.
65187         * lib/hash-pjw.h: Likewise.
65188         * lib/hash-triple.c: Likewise.
65189         * lib/hash.c: Likewise.
65190         * lib/hash.h: Likewise.
65191         * lib/human.c: Likewise.
65192         * lib/human.h: Likewise.
65193         * lib/i-ring.c: Likewise.
65194         * lib/i-ring.h: Likewise.
65195         * lib/idcache.c: Likewise.
65196         * lib/imaxabs.c: Likewise.
65197         * lib/imaxdiv.c: Likewise.
65198         * lib/inet_pton.c: Likewise.
65199         * lib/inet_pton.h: Likewise.
65200         * lib/intprops.h: Likewise.
65201         * lib/inttostr.c: Likewise.
65202         * lib/inttostr.h: Likewise.
65203         * lib/inttypes.in.h: Likewise.
65204         * lib/isapipe.c: Likewise.
65205         * lib/isdir.c: Likewise.
65206         * lib/isnan.c: Likewise.
65207         * lib/isnan.h: Likewise.
65208         * lib/isnanf.c: Likewise.
65209         * lib/isnanf.h: Likewise.
65210         * lib/isnanl-nolibm.h: Likewise.
65211         * lib/isnanl.c: Likewise.
65212         * lib/isnanl.h: Likewise.
65213         * lib/javacomp.c: Likewise.
65214         * lib/javacomp.h: Likewise.
65215         * lib/javaexec.c: Likewise.
65216         * lib/javaexec.h: Likewise.
65217         * lib/javaversion.c: Likewise.
65218         * lib/javaversion.h: Likewise.
65219         * lib/javaversion.java: Likewise.
65220         * lib/lbrkprop.h: Likewise.
65221         * lib/lchmod.h: Likewise.
65222         * lib/lchown.c: Likewise.
65223         * lib/ldexpl.c: Likewise.
65224         * lib/linebreak.c: Likewise.
65225         * lib/linebreak.h: Likewise.
65226         * lib/linebuffer.c: Likewise.
65227         * lib/linebuffer.h: Likewise.
65228         * lib/locale.in.h: Likewise.
65229         * lib/logl.c: Likewise.
65230         * lib/long-options.c: Likewise.
65231         * lib/long-options.h: Likewise.
65232         * lib/lstat.c: Likewise.
65233         * lib/lstat.h: Likewise.
65234         * lib/math.in.h: Likewise.
65235         * lib/mbchar.c: Likewise.
65236         * lib/mbchar.h: Likewise.
65237         * lib/mbfile.h: Likewise.
65238         * lib/mbiter.h: Likewise.
65239         * lib/mbscasecmp.c: Likewise.
65240         * lib/mbscasestr.c: Likewise.
65241         * lib/mbschr.c: Likewise.
65242         * lib/mbscspn.c: Likewise.
65243         * lib/mbslen.c: Likewise.
65244         * lib/mbsncasecmp.c: Likewise.
65245         * lib/mbsnlen.c: Likewise.
65246         * lib/mbspbrk.c: Likewise.
65247         * lib/mbspcasecmp.c: Likewise.
65248         * lib/mbsrchr.c: Likewise.
65249         * lib/mbssep.c: Likewise.
65250         * lib/mbsspn.c: Likewise.
65251         * lib/mbsstr.c: Likewise.
65252         * lib/mbstok_r.c: Likewise.
65253         * lib/mbswidth.c: Likewise.
65254         * lib/mbswidth.h: Likewise.
65255         * lib/mbuiter.h: Likewise.
65256         * lib/memcasecmp.c: Likewise.
65257         * lib/memcasecmp.h: Likewise.
65258         * lib/memchr.c: Likewise.
65259         * lib/memcmp.c: Likewise.
65260         * lib/memcoll.c: Likewise.
65261         * lib/memcoll.h: Likewise.
65262         * lib/memcpy.c: Likewise.
65263         * lib/memrchr.c: Likewise.
65264         * lib/mkancesdirs.c: Likewise.
65265         * lib/mkdir-p.c: Likewise.
65266         * lib/mkdir-p.h: Likewise.
65267         * lib/mkdir.c: Likewise.
65268         * lib/mkdirat.c: Likewise.
65269         * lib/mkdtemp.c: Likewise.
65270         * lib/mkstemp-safer.c: Likewise.
65271         * lib/mkstemp.c: Likewise.
65272         * lib/modechange.c: Likewise.
65273         * lib/modechange.h: Likewise.
65274         * lib/mountlist.c: Likewise.
65275         * lib/mountlist.h: Likewise.
65276         * lib/mpsort.c: Likewise.
65277         * lib/nanosleep.c: Likewise.
65278         * lib/obstack.c: Likewise.
65279         * lib/obstack.h: Likewise.
65280         * lib/open-safer.c: Likewise.
65281         * lib/open.c: Likewise.
65282         * lib/openat-die.c: Likewise.
65283         * lib/openat-priv.h: Likewise.
65284         * lib/openat-proc.c: Likewise.
65285         * lib/openat.c: Likewise.
65286         * lib/openat.h: Likewise.
65287         * lib/pagealign_alloc.c: Likewise.
65288         * lib/pagealign_alloc.h: Likewise.
65289         * lib/physmem.c: Likewise.
65290         * lib/physmem.h: Likewise.
65291         * lib/pipe-safer.c: Likewise.
65292         * lib/pipe.c: Likewise.
65293         * lib/pipe.h: Likewise.
65294         * lib/posixtm.c: Likewise.
65295         * lib/posixtm.h: Likewise.
65296         * lib/posixver.c: Likewise.
65297         * lib/printf-frexp.c: Likewise.
65298         * lib/printf-frexp.h: Likewise.
65299         * lib/printf-frexpl.c: Likewise.
65300         * lib/printf-frexpl.h: Likewise.
65301         * lib/printf.c: Likewise.
65302         * lib/progname.c: Likewise.
65303         * lib/progname.h: Likewise.
65304         * lib/progreloc.c: Likewise.
65305         * lib/putenv.c: Likewise.
65306         * lib/quote.c: Likewise.
65307         * lib/quote.h: Likewise.
65308         * lib/quotearg.c: Likewise.
65309         * lib/quotearg.h: Likewise.
65310         * lib/raise.c: Likewise.
65311         * lib/readline.c: Likewise.
65312         * lib/readline.h: Likewise.
65313         * lib/readlink.c: Likewise.
65314         * lib/readtokens.c: Likewise.
65315         * lib/readtokens.h: Likewise.
65316         * lib/readtokens0.c: Likewise.
65317         * lib/readtokens0.h: Likewise.
65318         * lib/readutmp.c: Likewise.
65319         * lib/readutmp.h: Likewise.
65320         * lib/realloc.c: Likewise.
65321         * lib/relocwrapper.c: Likewise.
65322         * lib/rename-dest-slash.c: Likewise.
65323         * lib/rename.c: Likewise.
65324         * lib/rmdir.c: Likewise.
65325         * lib/rpmatch.c: Likewise.
65326         * lib/safe-read.c: Likewise.
65327         * lib/safe-read.h: Likewise.
65328         * lib/safe-write.c: Likewise.
65329         * lib/safe-write.h: Likewise.
65330         * lib/same-inode.h: Likewise.
65331         * lib/same.c: Likewise.
65332         * lib/same.h: Likewise.
65333         * lib/save-cwd.c: Likewise.
65334         * lib/save-cwd.h: Likewise.
65335         * lib/savedir.c: Likewise.
65336         * lib/savedir.h: Likewise.
65337         * lib/savewd.c: Likewise.
65338         * lib/savewd.h: Likewise.
65339         * lib/search.in.h: Likewise.
65340         * lib/setenv.c: Likewise.
65341         * lib/setenv.h: Likewise.
65342         * lib/settime.c: Likewise.
65343         * lib/sh-quote.c: Likewise.
65344         * lib/sh-quote.h: Likewise.
65345         * lib/sig2str.c: Likewise.
65346         * lib/sig2str.h: Likewise.
65347         * lib/signal.in.h: Likewise.
65348         * lib/signbitd.c: Likewise.
65349         * lib/signbitf.c: Likewise.
65350         * lib/signbitl.c: Likewise.
65351         * lib/sigprocmask.c: Likewise.
65352         * lib/sincosl.c: Likewise.
65353         * lib/sleep.c: Likewise.
65354         * lib/sprintf.c: Likewise.
65355         * lib/sqrtl.c: Likewise.
65356         * lib/stat-time.h: Likewise.
65357         * lib/stdio--.h: Likewise.
65358         * lib/stdio-safer.h: Likewise.
65359         * lib/stdlib--.h: Likewise.
65360         * lib/stdlib-safer.h: Likewise.
65361         * lib/stdlib.in.h: Likewise.
65362         * lib/stpcpy.c: Likewise.
65363         * lib/stpncpy.c: Likewise.
65364         * lib/strchrnul.c: Likewise.
65365         * lib/strcspn.c: Likewise.
65366         * lib/strerror.c: Likewise.
65367         * lib/strftime.c: Likewise.
65368         * lib/strftime.h: Likewise.
65369         * lib/striconveh.c: Likewise.
65370         * lib/striconveh.h: Likewise.
65371         * lib/striconveha.c: Likewise.
65372         * lib/striconveha.h: Likewise.
65373         * lib/stripslash.c: Likewise.
65374         * lib/strnlen1.c: Likewise.
65375         * lib/strnlen1.h: Likewise.
65376         * lib/strtod.c: Likewise.
65377         * lib/strtoimax.c: Likewise.
65378         * lib/strtok_r.c: Likewise.
65379         * lib/strtol.c: Likewise.
65380         * lib/strtoll.c: Likewise.
65381         * lib/strtoul.c: Likewise.
65382         * lib/strtoull.c: Likewise.
65383         * lib/sysexits.in.h: Likewise.
65384         * lib/tempname.c: Likewise.
65385         * lib/tempname.h: Likewise.
65386         * lib/timespec.h: Likewise.
65387         * lib/tls.c: Likewise.
65388         * lib/tls.h: Likewise.
65389         * lib/tmpdir.c: Likewise.
65390         * lib/tmpdir.h: Likewise.
65391         * lib/tmpfile-safer.c: Likewise.
65392         * lib/tmpfile.c: Likewise.
65393         * lib/trigl.c: Likewise.
65394         * lib/trigl.h: Likewise.
65395         * lib/trim.c: Likewise.
65396         * lib/trim.h: Likewise.
65397         * lib/trunc.c: Likewise.
65398         * lib/truncf.c: Likewise.
65399         * lib/truncl.c: Likewise.
65400         * lib/tsearch.c: Likewise.
65401         * lib/unicodeio.c: Likewise.
65402         * lib/unicodeio.h: Likewise.
65403         * lib/unistd--.h: Likewise.
65404         * lib/unistd-safer.h: Likewise.
65405         * lib/unistdio/ulc-fprintf.c: Likewise.
65406         * lib/unistdio/ulc-vfprintf.c: Likewise.
65407         * lib/unlinkdir.c: Likewise.
65408         * lib/unlinkdir.h: Likewise.
65409         * lib/unlocked-io.h: Likewise.
65410         * lib/unsetenv.c: Likewise.
65411         * lib/userspec.c: Likewise.
65412         * lib/utime.c: Likewise.
65413         * lib/utimecmp.c: Likewise.
65414         * lib/utimecmp.h: Likewise.
65415         * lib/utimens.c: Likewise.
65416         * lib/verify.h: Likewise.
65417         * lib/verror.c: Likewise.
65418         * lib/verror.h: Likewise.
65419         * lib/version-etc-fsf.c: Likewise.
65420         * lib/version-etc.c: Likewise.
65421         * lib/version-etc.h: Likewise.
65422         * lib/vfprintf.c: Likewise.
65423         * lib/vprintf.c: Likewise.
65424         * lib/vsprintf.c: Likewise.
65425         * lib/w32spawn.h: Likewise.
65426         * lib/wait-process.c: Likewise.
65427         * lib/wait-process.h: Likewise.
65428         * lib/wcwidth.c: Likewise.
65429         * lib/write-any-file.c: Likewise.
65430         * lib/xalloc-die.c: Likewise.
65431         * lib/xalloc.h: Likewise.
65432         * lib/xasprintf.c: Likewise.
65433         * lib/xgetcwd.c: Likewise.
65434         * lib/xgetcwd.h: Likewise.
65435         * lib/xgetdomainname.c: Likewise.
65436         * lib/xgetdomainname.h: Likewise.
65437         * lib/xgethostname.c: Likewise.
65438         * lib/xmalloc.c: Likewise.
65439         * lib/xmalloca.c: Likewise.
65440         * lib/xmalloca.h: Likewise.
65441         * lib/xmemcoll.c: Likewise.
65442         * lib/xnanosleep.c: Likewise.
65443         * lib/xreadlink.c: Likewise.
65444         * lib/xreadlink.h: Likewise.
65445         * lib/xsetenv.c: Likewise.
65446         * lib/xsetenv.h: Likewise.
65447         * lib/xstriconv.c: Likewise.
65448         * lib/xstriconv.h: Likewise.
65449         * lib/xstrndup.c: Likewise.
65450         * lib/xstrndup.h: Likewise.
65451         * lib/xstrtod.c: Likewise.
65452         * lib/xstrtod.h: Likewise.
65453         * lib/xstrtol-error.c: Likewise.
65454         * lib/xstrtol.c: Likewise.
65455         * lib/xstrtol.h: Likewise.
65456         * lib/xtime.h: Likewise.
65457         * lib/xvasprintf.c: Likewise.
65458         * lib/xvasprintf.h: Likewise.
65459         * lib/yesno.c: Likewise.
65460         * lib/yesno.h: Likewise.
65461         * posix-modules: Likewise.
65462         * tests/test-alloca-opt.c: Likewise.
65463         * tests/test-arcfour.c: Likewise.
65464         * tests/test-arctwo.c: Likewise.
65465         * tests/test-argmatch.c: Likewise.
65466         * tests/test-argp-2.sh: Likewise.
65467         * tests/test-argp.c: Likewise.
65468         * tests/test-arpa_inet.c: Likewise.
65469         * tests/test-array_list.c: Likewise.
65470         * tests/test-array_oset.c: Likewise.
65471         * tests/test-atexit.c: Likewise.
65472         * tests/test-avltree_list.c: Likewise.
65473         * tests/test-avltree_oset.c: Likewise.
65474         * tests/test-avltreehash_list.c: Likewise.
65475         * tests/test-base64.c: Likewise.
65476         * tests/test-binary-io.c: Likewise.
65477         * tests/test-byteswap.c: Likewise.
65478         * tests/test-c-ctype.c: Likewise.
65479         * tests/test-c-strcasecmp.c: Likewise.
65480         * tests/test-c-strcasestr.c: Likewise.
65481         * tests/test-c-strncasecmp.c: Likewise.
65482         * tests/test-c-strstr.c: Likewise.
65483         * tests/test-canonicalize-lgpl.c: Likewise.
65484         * tests/test-canonicalize.c: Likewise.
65485         * tests/test-carray_list.c: Likewise.
65486         * tests/test-ceilf.c: Likewise.
65487         * tests/test-ceill.c: Likewise.
65488         * tests/test-count-one-bits.c: Likewise.
65489         * tests/test-crc.c: Likewise.
65490         * tests/test-dirname.c: Likewise.
65491         * tests/test-fbufmode.c: Likewise.
65492         * tests/test-fcntl.c: Likewise.
65493         * tests/test-fflush.c: Likewise.
65494         * tests/test-floorf.c: Likewise.
65495         * tests/test-floorl.c: Likewise.
65496         * tests/test-fopen.c: Likewise.
65497         * tests/test-fprintf-posix.c: Likewise.
65498         * tests/test-fprintf-posix.h: Likewise.
65499         * tests/test-fpurge.c: Likewise.
65500         * tests/test-freadable.c: Likewise.
65501         * tests/test-freadahead.c: Likewise.
65502         * tests/test-freading.c: Likewise.
65503         * tests/test-freopen.c: Likewise.
65504         * tests/test-frexp.c: Likewise.
65505         * tests/test-frexpl.c: Likewise.
65506         * tests/test-fseek.c: Likewise.
65507         * tests/test-fseeko.c: Likewise.
65508         * tests/test-fseterr.c: Likewise.
65509         * tests/test-fstrcmp.c: Likewise.
65510         * tests/test-ftell.c: Likewise.
65511         * tests/test-ftello.c: Likewise.
65512         * tests/test-fwritable.c: Likewise.
65513         * tests/test-fwriting.c: Likewise.
65514         * tests/test-getaddrinfo.c: Likewise.
65515         * tests/test-getpass.c: Likewise.
65516         * tests/test-gettimeofday.c: Likewise.
65517         * tests/test-hmac-md5.c: Likewise.
65518         * tests/test-hmac-sha1.c: Likewise.
65519         * tests/test-iconv.c: Likewise.
65520         * tests/test-iconvme.c: Likewise.
65521         * tests/test-inttypes.c: Likewise.
65522         * tests/test-isnan.c: Likewise.
65523         * tests/test-isnanf.c: Likewise.
65524         * tests/test-isnanl-nolibm.c: Likewise.
65525         * tests/test-isnanl.c: Likewise.
65526         * tests/test-isnanl.h: Likewise.
65527         * tests/test-ldexpl.c: Likewise.
65528         * tests/test-linked_list.c: Likewise.
65529         * tests/test-linkedhash_list.c: Likewise.
65530         * tests/test-locale.c: Likewise.
65531         * tests/test-localename.c: Likewise.
65532         * tests/test-lock.c: Likewise.
65533         * tests/test-lseek.c: Likewise.
65534         * tests/test-malloca.c: Likewise.
65535         * tests/test-math.c: Likewise.
65536         * tests/test-mbscasecmp.c: Likewise.
65537         * tests/test-mbscasestr1.c: Likewise.
65538         * tests/test-mbscasestr2.c: Likewise.
65539         * tests/test-mbscasestr3.c: Likewise.
65540         * tests/test-mbscasestr4.c: Likewise.
65541         * tests/test-mbschr.c: Likewise.
65542         * tests/test-mbscspn.c: Likewise.
65543         * tests/test-mbsncasecmp.c: Likewise.
65544         * tests/test-mbspbrk.c: Likewise.
65545         * tests/test-mbspcasecmp.c: Likewise.
65546         * tests/test-mbsrchr.c: Likewise.
65547         * tests/test-mbsspn.c: Likewise.
65548         * tests/test-mbsstr1.c: Likewise.
65549         * tests/test-mbsstr2.c: Likewise.
65550         * tests/test-mbsstr3.c: Likewise.
65551         * tests/test-md5.c: Likewise.
65552         * tests/test-memmem.c: Likewise.
65553         * tests/test-netinet_in.c: Likewise.
65554         * tests/test-open.c: Likewise.
65555         * tests/test-printf-frexp.c: Likewise.
65556         * tests/test-printf-frexpl.c: Likewise.
65557         * tests/test-printf-posix.c: Likewise.
65558         * tests/test-printf-posix.h: Likewise.
65559         * tests/test-rbtree_list.c: Likewise.
65560         * tests/test-rbtree_oset.c: Likewise.
65561         * tests/test-rbtreehash_list.c: Likewise.
65562         * tests/test-read-file.c: Likewise.
65563         * tests/test-rijndael.c: Likewise.
65564         * tests/test-search.c: Likewise.
65565         * tests/test-signbit.c: Likewise.
65566         * tests/test-sleep.c: Likewise.
65567         * tests/test-snprintf-posix.c: Likewise.
65568         * tests/test-snprintf-posix.h: Likewise.
65569         * tests/test-snprintf.c: Likewise.
65570         * tests/test-sprintf-posix.c: Likewise.
65571         * tests/test-sprintf-posix.h: Likewise.
65572         * tests/test-stat-time.c: Likewise.
65573         * tests/test-stdbool.c: Likewise.
65574         * tests/test-stdint.c: Likewise.
65575         * tests/test-stdio.c: Likewise.
65576         * tests/test-stdlib.c: Likewise.
65577         * tests/test-stpncpy.c: Likewise.
65578         * tests/test-strcasestr.c: Likewise.
65579         * tests/test-striconv.c: Likewise.
65580         * tests/test-striconveh.c: Likewise.
65581         * tests/test-striconveha.c: Likewise.
65582         * tests/test-string.c: Likewise.
65583         * tests/test-sys_select.c: Likewise.
65584         * tests/test-sys_socket.c: Likewise.
65585         * tests/test-sys_stat.c: Likewise.
65586         * tests/test-sys_time.c: Likewise.
65587         * tests/test-sysexits.c: Likewise.
65588         * tests/test-time.c: Likewise.
65589         * tests/test-tls.c: Likewise.
65590         * tests/test-trunc.c: Likewise.
65591         * tests/test-truncf.c: Likewise.
65592         * tests/test-truncl.c: Likewise.
65593         * tests/test-unistd.c: Likewise.
65594         * tests/test-vasnprintf-posix.c: Likewise.
65595         * tests/test-vasnprintf-posix2.c: Likewise.
65596         * tests/test-vasnprintf.c: Likewise.
65597         * tests/test-vasprintf-posix.c: Likewise.
65598         * tests/test-vasprintf.c: Likewise.
65599         * tests/test-verify.c: Likewise.
65600         * tests/test-vfprintf-posix.c: Likewise.
65601         * tests/test-vprintf-posix.c: Likewise.
65602         * tests/test-vsnprintf-posix.c: Likewise.
65603         * tests/test-vsnprintf.c: Likewise.
65604         * tests/test-vsprintf-posix.c: Likewise.
65605         * tests/test-wchar.c: Likewise.
65606         * tests/test-wctype.c: Likewise.
65607         * tests/test-wcwidth.c: Likewise.
65608         * tests/test-xstrtol.c: Likewise.
65609         * tests/test-xvasprintf.c: Likewise.
65610         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65611         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65612         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65613         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65614         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65615         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65616         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65617         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65618         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65619         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65620         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65621         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65622         * tests/uniname/test-uninames.c: Likewise.
65623         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65624         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65625         * tests/unistdio/test-u16-printf1.h: Likewise.
65626         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65627         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65628         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65629         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65630         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65631         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65632         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65633         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65634         * tests/unistdio/test-u32-printf1.h: Likewise.
65635         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65636         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65637         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65638         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65639         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65640         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65641         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65642         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65643         * tests/unistdio/test-u8-printf1.h: Likewise.
65644         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65645         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65646         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65647         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65648         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65649         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65650         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65651         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65652         * tests/unistdio/test-ulc-printf1.h: Likewise.
65653         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65654         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65655         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65656         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65657         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65658         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65659         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65660         * tests/uniwidth/test-u16-width.c: Likewise.
65661         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65662         * tests/uniwidth/test-u32-width.c: Likewise.
65663         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65664         * tests/uniwidth/test-u8-width.c: Likewise.
65665         * tests/uniwidth/test-uc_width.c: Likewise.
65666         * config/srclist-update: Likewise.
65667         (fixlicense): Update to GPLv3+.
65668
65669         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65670         * tests/test-tsearch.c: Change copyright notice.
65671
65672         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65673         * lib/c-strcaseeq.h: Change copyright notice.
65674         * lib/streq.h: Likewise.
65675         * lib/uniconv.h: Likewise.
65676         * lib/uniconv/u-conv-from-enc.h: Likewise.
65677         * lib/uniconv/u-conv-to-enc.h: Likewise.
65678         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65679         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65680         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65681         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65682         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65683         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65684         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65685         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65686         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65687         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65688         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65689         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65690         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65691         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65692         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65693         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65694         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65695         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65696         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65697         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65698         * lib/uniname.h: Likewise.
65699         * lib/uniname/uniname.c: Likewise.
65700         * lib/unistdio.h: Likewise.
65701         * lib/unistdio/u-asnprintf.h: Likewise.
65702         * lib/unistdio/u-asprintf.h: Likewise.
65703         * lib/unistdio/u-printf-args.c: Likewise.
65704         * lib/unistdio/u-printf-args.h: Likewise.
65705         * lib/unistdio/u-printf-parse.h: Likewise.
65706         * lib/unistdio/u-snprintf.h: Likewise.
65707         * lib/unistdio/u-sprintf.h: Likewise.
65708         * lib/unistdio/u-vasprintf.h: Likewise.
65709         * lib/unistdio/u-vsnprintf.h: Likewise.
65710         * lib/unistdio/u-vsprintf.h: Likewise.
65711         * lib/unistdio/u16-asnprintf.c: Likewise.
65712         * lib/unistdio/u16-asprintf.c: Likewise.
65713         * lib/unistdio/u16-printf-parse.c: Likewise.
65714         * lib/unistdio/u16-snprintf.c: Likewise.
65715         * lib/unistdio/u16-sprintf.c: Likewise.
65716         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
65717         * lib/unistdio/u16-u16-asprintf.c: Likewise.
65718         * lib/unistdio/u16-u16-snprintf.c: Likewise.
65719         * lib/unistdio/u16-u16-sprintf.c: Likewise.
65720         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
65721         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
65722         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
65723         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
65724         * lib/unistdio/u16-vasnprintf.c: Likewise.
65725         * lib/unistdio/u16-vasprintf.c: Likewise.
65726         * lib/unistdio/u16-vsnprintf.c: Likewise.
65727         * lib/unistdio/u16-vsprintf.c: Likewise.
65728         * lib/unistdio/u32-asnprintf.c: Likewise.
65729         * lib/unistdio/u32-asprintf.c: Likewise.
65730         * lib/unistdio/u32-printf-parse.c: Likewise.
65731         * lib/unistdio/u32-snprintf.c: Likewise.
65732         * lib/unistdio/u32-sprintf.c: Likewise.
65733         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
65734         * lib/unistdio/u32-u32-asprintf.c: Likewise.
65735         * lib/unistdio/u32-u32-snprintf.c: Likewise.
65736         * lib/unistdio/u32-u32-sprintf.c: Likewise.
65737         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
65738         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
65739         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
65740         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
65741         * lib/unistdio/u32-vasnprintf.c: Likewise.
65742         * lib/unistdio/u32-vasprintf.c: Likewise.
65743         * lib/unistdio/u32-vsnprintf.c: Likewise.
65744         * lib/unistdio/u32-vsprintf.c: Likewise.
65745         * lib/unistdio/u8-asnprintf.c: Likewise.
65746         * lib/unistdio/u8-asprintf.c: Likewise.
65747         * lib/unistdio/u8-printf-parse.c: Likewise.
65748         * lib/unistdio/u8-snprintf.c: Likewise.
65749         * lib/unistdio/u8-sprintf.c: Likewise.
65750         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
65751         * lib/unistdio/u8-u8-asprintf.c: Likewise.
65752         * lib/unistdio/u8-u8-snprintf.c: Likewise.
65753         * lib/unistdio/u8-u8-sprintf.c: Likewise.
65754         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
65755         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
65756         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
65757         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
65758         * lib/unistdio/u8-vasnprintf.c: Likewise.
65759         * lib/unistdio/u8-vasprintf.c: Likewise.
65760         * lib/unistdio/u8-vsnprintf.c: Likewise.
65761         * lib/unistdio/u8-vsprintf.c: Likewise.
65762         * lib/unistdio/ulc-asnprintf.c: Likewise.
65763         * lib/unistdio/ulc-asprintf.c: Likewise.
65764         * lib/unistdio/ulc-printf-parse.c: Likewise.
65765         * lib/unistdio/ulc-snprintf.c: Likewise.
65766         * lib/unistdio/ulc-sprintf.c: Likewise.
65767         * lib/unistdio/ulc-vasnprintf.c: Likewise.
65768         * lib/unistdio/ulc-vasprintf.c: Likewise.
65769         * lib/unistdio/ulc-vsnprintf.c: Likewise.
65770         * lib/unistdio/ulc-vsprintf.c: Likewise.
65771         * lib/unistr.h: Likewise.
65772         * lib/unistr/u-cpy-alloc.h: Likewise.
65773         * lib/unistr/u-cpy.h: Likewise.
65774         * lib/unistr/u-endswith.h: Likewise.
65775         * lib/unistr/u-move.h: Likewise.
65776         * lib/unistr/u-set.h: Likewise.
65777         * lib/unistr/u-startswith.h: Likewise.
65778         * lib/unistr/u-stpcpy.h: Likewise.
65779         * lib/unistr/u-stpncpy.h: Likewise.
65780         * lib/unistr/u-strcat.h: Likewise.
65781         * lib/unistr/u-strcpy.h: Likewise.
65782         * lib/unistr/u-strcspn.h: Likewise.
65783         * lib/unistr/u-strdup.h: Likewise.
65784         * lib/unistr/u-strlen.h: Likewise.
65785         * lib/unistr/u-strncat.h: Likewise.
65786         * lib/unistr/u-strncpy.h: Likewise.
65787         * lib/unistr/u-strnlen.h: Likewise.
65788         * lib/unistr/u-strpbrk.h: Likewise.
65789         * lib/unistr/u-strspn.h: Likewise.
65790         * lib/unistr/u-strstr.h: Likewise.
65791         * lib/unistr/u-strtok.h: Likewise.
65792         * lib/unistr/u16-check.c: Likewise.
65793         * lib/unistr/u16-chr.c: Likewise.
65794         * lib/unistr/u16-cmp.c: Likewise.
65795         * lib/unistr/u16-cpy-alloc.c: Likewise.
65796         * lib/unistr/u16-cpy.c: Likewise.
65797         * lib/unistr/u16-endswith.c: Likewise.
65798         * lib/unistr/u16-mblen.c: Likewise.
65799         * lib/unistr/u16-mbsnlen.c: Likewise.
65800         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65801         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65802         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65803         * lib/unistr/u16-mbtouc.c: Likewise.
65804         * lib/unistr/u16-mbtoucr.c: Likewise.
65805         * lib/unistr/u16-move.c: Likewise.
65806         * lib/unistr/u16-next.c: Likewise.
65807         * lib/unistr/u16-prev.c: Likewise.
65808         * lib/unistr/u16-set.c: Likewise.
65809         * lib/unistr/u16-startswith.c: Likewise.
65810         * lib/unistr/u16-stpcpy.c: Likewise.
65811         * lib/unistr/u16-stpncpy.c: Likewise.
65812         * lib/unistr/u16-strcat.c: Likewise.
65813         * lib/unistr/u16-strchr.c: Likewise.
65814         * lib/unistr/u16-strcmp.c: Likewise.
65815         * lib/unistr/u16-strcpy.c: Likewise.
65816         * lib/unistr/u16-strcspn.c: Likewise.
65817         * lib/unistr/u16-strdup.c: Likewise.
65818         * lib/unistr/u16-strlen.c: Likewise.
65819         * lib/unistr/u16-strmblen.c: Likewise.
65820         * lib/unistr/u16-strmbtouc.c: Likewise.
65821         * lib/unistr/u16-strncat.c: Likewise.
65822         * lib/unistr/u16-strncmp.c: Likewise.
65823         * lib/unistr/u16-strncpy.c: Likewise.
65824         * lib/unistr/u16-strnlen.c: Likewise.
65825         * lib/unistr/u16-strpbrk.c: Likewise.
65826         * lib/unistr/u16-strrchr.c: Likewise.
65827         * lib/unistr/u16-strspn.c: Likewise.
65828         * lib/unistr/u16-strstr.c: Likewise.
65829         * lib/unistr/u16-strtok.c: Likewise.
65830         * lib/unistr/u16-to-u32.c: Likewise.
65831         * lib/unistr/u16-to-u8.c: Likewise.
65832         * lib/unistr/u16-uctomb-aux.c: Likewise.
65833         * lib/unistr/u16-uctomb.c: Likewise.
65834         * lib/unistr/u32-check.c: Likewise.
65835         * lib/unistr/u32-chr.c: Likewise.
65836         * lib/unistr/u32-cmp.c: Likewise.
65837         * lib/unistr/u32-cpy-alloc.c: Likewise.
65838         * lib/unistr/u32-cpy.c: Likewise.
65839         * lib/unistr/u32-endswith.c: Likewise.
65840         * lib/unistr/u32-mblen.c: Likewise.
65841         * lib/unistr/u32-mbsnlen.c: Likewise.
65842         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65843         * lib/unistr/u32-mbtouc.c: Likewise.
65844         * lib/unistr/u32-mbtoucr.c: Likewise.
65845         * lib/unistr/u32-move.c: Likewise.
65846         * lib/unistr/u32-next.c: Likewise.
65847         * lib/unistr/u32-prev.c: Likewise.
65848         * lib/unistr/u32-set.c: Likewise.
65849         * lib/unistr/u32-startswith.c: Likewise.
65850         * lib/unistr/u32-stpcpy.c: Likewise.
65851         * lib/unistr/u32-stpncpy.c: Likewise.
65852         * lib/unistr/u32-strcat.c: Likewise.
65853         * lib/unistr/u32-strchr.c: Likewise.
65854         * lib/unistr/u32-strcmp.c: Likewise.
65855         * lib/unistr/u32-strcpy.c: Likewise.
65856         * lib/unistr/u32-strcspn.c: Likewise.
65857         * lib/unistr/u32-strdup.c: Likewise.
65858         * lib/unistr/u32-strlen.c: Likewise.
65859         * lib/unistr/u32-strmblen.c: Likewise.
65860         * lib/unistr/u32-strmbtouc.c: Likewise.
65861         * lib/unistr/u32-strncat.c: Likewise.
65862         * lib/unistr/u32-strncmp.c: Likewise.
65863         * lib/unistr/u32-strncpy.c: Likewise.
65864         * lib/unistr/u32-strnlen.c: Likewise.
65865         * lib/unistr/u32-strpbrk.c: Likewise.
65866         * lib/unistr/u32-strrchr.c: Likewise.
65867         * lib/unistr/u32-strspn.c: Likewise.
65868         * lib/unistr/u32-strstr.c: Likewise.
65869         * lib/unistr/u32-strtok.c: Likewise.
65870         * lib/unistr/u32-to-u16.c: Likewise.
65871         * lib/unistr/u32-to-u8.c: Likewise.
65872         * lib/unistr/u32-uctomb.c: Likewise.
65873         * lib/unistr/u8-check.c: Likewise.
65874         * lib/unistr/u8-chr.c: Likewise.
65875         * lib/unistr/u8-cmp.c: Likewise.
65876         * lib/unistr/u8-cpy-alloc.c: Likewise.
65877         * lib/unistr/u8-cpy.c: Likewise.
65878         * lib/unistr/u8-endswith.c: Likewise.
65879         * lib/unistr/u8-mblen.c: Likewise.
65880         * lib/unistr/u8-mbsnlen.c: Likewise.
65881         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65882         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65883         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65884         * lib/unistr/u8-mbtouc.c: Likewise.
65885         * lib/unistr/u8-mbtoucr.c: Likewise.
65886         * lib/unistr/u8-move.c: Likewise.
65887         * lib/unistr/u8-next.c: Likewise.
65888         * lib/unistr/u8-prev.c: Likewise.
65889         * lib/unistr/u8-set.c: Likewise.
65890         * lib/unistr/u8-startswith.c: Likewise.
65891         * lib/unistr/u8-stpcpy.c: Likewise.
65892         * lib/unistr/u8-stpncpy.c: Likewise.
65893         * lib/unistr/u8-strcat.c: Likewise.
65894         * lib/unistr/u8-strchr.c: Likewise.
65895         * lib/unistr/u8-strcmp.c: Likewise.
65896         * lib/unistr/u8-strcpy.c: Likewise.
65897         * lib/unistr/u8-strcspn.c: Likewise.
65898         * lib/unistr/u8-strdup.c: Likewise.
65899         * lib/unistr/u8-strlen.c: Likewise.
65900         * lib/unistr/u8-strmblen.c: Likewise.
65901         * lib/unistr/u8-strmbtouc.c: Likewise.
65902         * lib/unistr/u8-strncat.c: Likewise.
65903         * lib/unistr/u8-strncmp.c: Likewise.
65904         * lib/unistr/u8-strncpy.c: Likewise.
65905         * lib/unistr/u8-strnlen.c: Likewise.
65906         * lib/unistr/u8-strpbrk.c: Likewise.
65907         * lib/unistr/u8-strrchr.c: Likewise.
65908         * lib/unistr/u8-strspn.c: Likewise.
65909         * lib/unistr/u8-strstr.c: Likewise.
65910         * lib/unistr/u8-strtok.c: Likewise.
65911         * lib/unistr/u8-to-u16.c: Likewise.
65912         * lib/unistr/u8-to-u32.c: Likewise.
65913         * lib/unistr/u8-uctomb-aux.c: Likewise.
65914         * lib/unistr/u8-uctomb.c: Likewise.
65915         * lib/unitypes.h: Likewise.
65916         * lib/uniwidth.h: Likewise.
65917         * lib/uniwidth/cjk.h: Likewise.
65918         * lib/uniwidth/u16-strwidth.c: Likewise.
65919         * lib/uniwidth/u16-width.c: Likewise.
65920         * lib/uniwidth/u32-strwidth.c: Likewise.
65921         * lib/uniwidth/u32-width.c: Likewise.
65922         * lib/uniwidth/u8-strwidth.c: Likewise.
65923         * lib/uniwidth/u8-width.c: Likewise.
65924         * lib/uniwidth/width.c: Likewise.
65925
65926 2007-10-07  Bruno Haible  <bruno@clisp.org>
65927
65928         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
65929         The file is still under LGPL (see modules/inttypes).
65930
65931 2007-10-06  Bruno Haible  <bruno@clisp.org>
65932
65933         * modules/trunc (Dependencies): Add 'extensions'.
65934         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
65935         Reported by Ben Pfaff <blp@gnu.org>.
65936
65937 2007-10-06  Bruno Haible  <bruno@clisp.org>
65938
65939         * modules/freopen-tests: New file.
65940         * tests/test-freopen.c: New file.
65941
65942         * modules/fopen-tests: New file.
65943         * tests/test-fopen.c: New file.
65944
65945         * modules/fopen: New file.
65946         * lib/fopen.c: New file.
65947         * m4/fopen.m4: New file.
65948         * modules/freopen: New file.
65949         * lib/freopen.c: New file.
65950         * m4/freopen.m4: New file.
65951         * lib/stdio.in.h (fopen, freopen): New declarations.
65952         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
65953         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65954         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
65955         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65956         * doc/functions/fopen.texi: Mention the 'fopen' module.
65957         * doc/functions/freopen.texi: Mention the 'freopen' module.
65958
65959 2007-10-06  Bruno Haible  <bruno@clisp.org>
65960
65961         * modules/open-tests: New file.
65962         * tests/test-open.c: New file.
65963
65964         * modules/open: New file.
65965         * lib/open.c: New file.
65966         * m4/open.m4: New file.
65967         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
65968         lib/open.c does.
65969         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
65970         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
65971         macros.
65972         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
65973         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
65974         REPLACE_OPEN.
65975         * doc/functions/open.texi: Mention the 'open' module.
65976
65977 2007-10-04  Bruno Haible  <bruno@clisp.org>
65978
65979         * modules/ceill-tests: New file.
65980         * tests/test-ceill.c: New file.
65981
65982         * modules/ceill: New file.
65983         * lib/ceill.c: Replace entire file.
65984         * m4/ceill.m4: New file.
65985         * lib/math.in.h (ceill): Replace declaration.
65986         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
65987         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
65988         * doc/functions/ceill.texi: Mention the 'ceill' module.
65989         * modules/mathl (Files): Remove lib/ceill.c.
65990         (Depends-on): Add ceill.
65991
65992 2007-10-04  Bruno Haible  <bruno@clisp.org>
65993
65994         * modules/ceilf-tests: New file.
65995         * tests/test-ceilf.c: New file.
65996
65997         * modules/ceilf: New file.
65998         * lib/ceil.c: New file.
65999         * lib/ceilf.c: New file.
66000         * m4/ceilf.m4: New file.
66001         * lib/math.in.h (ceilf): New declaration.
66002         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66003         HAVE_DECL_CEILF.
66004         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66005         HAVE_DECL_CEILF.
66006         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66007
66008 2007-10-04  Bruno Haible  <bruno@clisp.org>
66009
66010         * modules/floorl-tests: New file.
66011         * tests/test-floorl.c: New file.
66012
66013         * modules/floorl: New file.
66014         * lib/floorl.c: Replace entire file.
66015         * m4/floorl.m4: New file.
66016         * lib/math.in.h (floorl): Replace declaration.
66017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66018         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66019         * doc/functions/floorl.texi: Mention the 'floorl' module.
66020         * modules/mathl (Files): Remove lib/floorl.c.
66021         (Depends-on): Add floorl.
66022
66023 2007-10-04  Bruno Haible  <bruno@clisp.org>
66024
66025         * modules/floorf-tests: New file.
66026         * tests/test-floorf.c: New file.
66027
66028         * modules/floorf: New file.
66029         * lib/floor.c: New file.
66030         * lib/floorf.c: New file.
66031         * m4/floorf.m4: New file.
66032         * lib/math.in.h (floorf): New declaration.
66033         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66034         HAVE_DECL_FLOORF.
66035         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66036         HAVE_DECL_FLOORF.
66037         * doc/functions/floorf.texi: Mention the 'floorf' module.
66038
66039 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66040             Bruno Haible  <bruno@clisp.org>
66041
66042         Advertise for the Git server instead of the CVS server.
66043         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66044         repository instead of the CVS one.
66045         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66046         about all VCS systems generically.
66047         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66048
66049 2007-10-04  Bruno Haible  <bruno@clisp.org>
66050
66051         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66052         means.
66053         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66054
66055 2007-10-04  Bruno Haible  <bruno@clisp.org>
66056
66057         * modules/truncl-tests: New file.
66058         * tests/test-truncl.c: New file.
66059
66060         * modules/truncl: New file.
66061         * lib/truncl.c: New file.
66062         * m4/truncl.m4: New file.
66063         * lib/math.in.h (truncl): New declaration.
66064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66065         HAVE_DECL_TRUNCL.
66066         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66067         HAVE_DECL_TRUNCL.
66068         * doc/functions/truncl.texi: Mention the 'truncl' module.
66069
66070 2007-10-04  Bruno Haible  <bruno@clisp.org>
66071
66072         * modules/truncf-tests: New file.
66073         * tests/test-truncf.c: New file.
66074
66075         * modules/truncf: New file.
66076         * lib/trunc.c: Make paramerizable through USE_* macros.
66077         * lib/truncf.c: New file.
66078         * m4/truncf.m4: New file.
66079         * lib/math.in.h (truncf): New declaration.
66080         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66081         HAVE_DECL_TRUNCF.
66082         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66083         HAVE_DECL_TRUNCF.
66084         * doc/functions/truncf.texi: Mention the 'truncf' module.
66085
66086 2007-10-03  Bruno Haible  <bruno@clisp.org>
66087
66088         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66089         augmentation also for tests modules.
66090         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66091         * modules/atexit-tests (Makefile.am): Likewise.
66092         * modules/binary-io-tests (Makefile.am): Likewise.
66093         * modules/c-strcase-tests (Makefile.am): Likewise.
66094         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66095         * modules/canonicalize-tests (Makefile.am): Likewise.
66096         * modules/closein-tests (Makefile.am): Likewise.
66097         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66098         * modules/freadahead-tests (Makefile.am): Likewise.
66099         * modules/fseek-tests (Makefile.am): Likewise.
66100         * modules/fseeko-tests (Makefile.am): Likewise.
66101         * modules/ftell-tests (Makefile.am): Likewise.
66102         * modules/ftello-tests (Makefile.am): Likewise.
66103         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66104         * modules/isnanl-tests (Makefile.am): Likewise.
66105         * modules/lseek-tests (Makefile.am): Likewise.
66106         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66107         * modules/mbscasestr-tests (Makefile.am): Likewise.
66108         * modules/mbschr-tests (Makefile.am): Likewise.
66109         * modules/mbscspn-tests (Makefile.am): Likewise.
66110         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66111         * modules/mbspbrk-tests (Makefile.am): Likewise.
66112         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66113         * modules/mbsrchr-tests (Makefile.am): Likewise.
66114         * modules/mbsspn-tests (Makefile.am): Likewise.
66115         * modules/mbsstr-tests (Makefile.am): Likewise.
66116         * modules/printf-posix-tests (Makefile.am): Likewise.
66117         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66118         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66119         * modules/tsearch-tests (Makefile.am): Likewise.
66120         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66121         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66122         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66123         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66124         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66125         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66126         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66127         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66128         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66129         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66130         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66131         * modules/xstrtol-tests (Makefile.am): Likewise.
66132         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66133         * modules/yesno-tests (Makefile.am): Likewise.
66134
66135 2007-10-03  Bruno Haible  <bruno@clisp.org>
66136
66137         * modules/trunc-tests: New file.
66138         * tests/test-trunc.c: New file.
66139
66140         * modules/trunc: New file.
66141         * lib/trunc.c: New file.
66142         * m4/trunc.m4: New file.
66143         * lib/math.in.h (trunc): New declaration.
66144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66145         HAVE_DECL_TRUNC.
66146         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66147         HAVE_DECL_TRUNC.
66148         * doc/functions/trunc.texi: Mention the 'trunc' module.
66149
66150 2007-10-03  Bruno Haible  <bruno@clisp.org>
66151
66152         * tests/test-fpending.c: New file, mostly copied
66153         from coreutils/lib/t-fpending.c.
66154         * modules/fpending-tests: New file.
66155
66156 2007-10-03  Bruno Haible  <bruno@clisp.org>
66157
66158         Port the stdio extensions to QNX (untested).
66159         * lib/fseterr.c (fseterr): Add support for QNX.
66160         * lib/fbufmode.c (fbufmode): Likewise.
66161         * lib/freadable.c (freadable): Likewise.
66162         * lib/fwritable.c (fwritable): Likewise.
66163         * lib/freading.c (freading): Likewise.
66164         * lib/fwriting.c (fwriting): Likewise.
66165         * lib/freadahead.c (freadahed): Likewise.
66166         * lib/fpurge.c (fpurge): Likewise.
66167         * lib/fseeko.c (rpl_fseeko): Likewise.
66168
66169 2007-10-03  Bruno Haible  <bruno@clisp.org>
66170             Jim Meyering  <jim@meyering.net>
66171             Eric Blake  <ebb9@byu.net>
66172
66173         * doc/relocatable.texi: Use @command instead of @program.
66174
66175 2007-10-02  Jim Meyering  <jim@meyering.net>
66176
66177         Perform one more "_.h" -> ".in.h" substitution.
66178         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66179         instead of unistd_.h here, too.
66180
66181 2007-10-01  Bruno Haible  <bruno@clisp.org>
66182
66183         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66184         Needed for the alloca-opt module.
66185
66186 2007-09-30  Bruno Haible  <bruno@clisp.org>
66187
66188         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66189         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66190         alloca_.h.
66191         * lib/argz.in.h: Renamed from lib/argz_.h.
66192         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66193         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66194         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66195         byteswap_.h.
66196         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66197         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66198         dirent_.h.
66199         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66200         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66201         fcntl_.h.
66202         * lib/float.in.h: Renamed from lib/float_.h.
66203         * modules/float (Files, Makefile.am): Use float.in.h instead of
66204         float_.h.
66205         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66206         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66207         fnmatch_.h.
66208         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66209         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66210         getopt_.h.
66211         * lib/glob.in.h: Renamed from lib/glob_.h.
66212         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66213         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66214         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66215         iconv_.h.
66216         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66217         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66218         inttypes_.h.
66219         * lib/locale.in.h: Renamed from lib/locale_.h.
66220         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66221         locale_.h.
66222         * lib/math.in.h: Renamed from lib/math_.h.
66223         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66224         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66225         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66226         of netinet_in_.h. Add dependency.
66227         * lib/poll.in.h: Renamed from lib/poll_.h.
66228         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66229         * lib/search.in.h: Renamed from lib/search_.h.
66230         * modules/search (Files, Makefile.am): Use search.in.h instead of
66231         search_.h.
66232         * lib/signal.in.h: Renamed from lib/signal_.h.
66233         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66234         _signal.h.
66235         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66236         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66237         stdbool_.h.
66238         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66239         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66240         stdint_.h.
66241         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66242         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66243         stdio_.h.
66244         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66245         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66246         stdlib_.h.
66247         * lib/string.in.h: Renamed from lib/string_.h.
66248         * modules/string (Files, Makefile.am): Use string.in.h instead of
66249         string_.h.
66250         * doc/gnulib-tool.texi (Initial import): Update.
66251         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66252         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66253         of sys_select_.h. Add dependency.
66254         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66255         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66256         of sys_socket_.h.
66257         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66258         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66259         sys_stat_.h.
66260         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66261         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66262         sys_time_.h.
66263         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66264         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66265         sysexits_.h.
66266         * lib/time.in.h: Renamed from lib/time_.h.
66267         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66268         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66269         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66270         unistd_.h.
66271         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66272         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66273         wchar_.h.
66274         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66275         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66276         wctype_.h.
66277         * build-aux/bootstrap (slurp): Update.
66278         * lib/.cppi-disable: Update.
66279
66280 2007-09-30  Bruno Haible  <bruno@clisp.org>
66281
66282         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66283         Needed on BeOS.
66284
66285 2007-09-30  Bruno Haible  <bruno@clisp.org>
66286
66287         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66288
66289 2007-09-29  Bruno Haible  <bruno@clisp.org>
66290
66291         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66292
66293 2007-09-29  Bruno Haible  <bruno@clisp.org>
66294
66295         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66296         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66297         * build-aux/install-reloc: Compile also areadlink.c.
66298         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66299
66300 2007-09-29  Bruno Haible  <bruno@clisp.org>
66301
66302         * gnulib-tool (func_emit_initmacro_done): Indentation.
66303
66304 2007-09-29  Bruno Haible  <bruno@clisp.org>
66305
66306         * README: Add CVS checkout update instructions.
66307         Info from Bob Proulx <bob@proulx.com>.
66308
66309 2007-09-28  Eric Blake  <ebb9@byu.net>
66310
66311         Provide move-if-change.
66312         * build-aux/move-if-change: New file, based on best practice
66313         rather than any canonical upstream location.
66314
66315 2007-09-28  Jim Meyering  <jim@meyering.net>
66316
66317         Fix canonicalize loop-detection corner case.
66318         Do not attempt to stat the symlink values stored via seen_triple.
66319         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66320         on linux-2.6.18, (but not 2.6.22).
66321         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66322         triple_compare.  The former compares dev,ino,filename, while the latter
66323         would actually stat dirname(filename) when dev and ino were equal.
66324         * lib/hash-triple.c: Install <string.h>.
66325         (STREQ): Define.
66326         (triple_compare_ino_str): New function.
66327         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66328
66329 2007-09-28  Eric Blake  <ebb9@byu.net>
66330
66331         Enforce that AC_REPLACE_FUNCS files exist.
66332         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66333         override check for typos.
66334
66335         Fix test-closein on Solaris 10.
66336         * tests/test-closein.c (main): Don't assume stdin can be inherited
66337         closed on all systems.
66338         * tests/test-closein.sh: Likewise.
66339         Reported by Piotr Tarnowski.
66340
66341 2007-09-28  Jim Meyering  <jim@meyering.net>
66342
66343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66344
66345 2007-09-27  Jim Meyering  <jim@meyering.net>
66346
66347         canonicalize: Avoid a false-positive cycle failure.
66348         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66349         Sort.  Remove cycle-check.
66350         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66351         not cycle-check.h.
66352         (seen_triple): New function.
66353         (canonicalize_filename_mode): Use it instead of cycle-check.
66354         * tests/test-canonicalize.c: Add a test for this bug.
66355         * tests/test-canonicalize.sh: Set up and run the test.
66356
66357         New module, file-set, from coreutils.
66358         * modules/file-set: Define it.
66359         * lib/file-set.c, lib/file-set.h: Implement.
66360
66361         New module, hash-triple, from coreutils.
66362         * modules/hash-triple: Define it.
66363         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66364
66365 2007-09-25  Eric Blake  <ebb9@byu.net>
66366
66367         Fix strerror on Interix.
66368         * lib/string_.h (strerror): Declare replacement.
66369         * doc/functions/strerror.texi (strerror): Document the Interix
66370         shortcoming.
66371         * modules/string (Makefile.am): Support new hooks.
66372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66373         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66374         gl_FUNC_STRERROR_SEPARATE.
66375         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66376         * lib/strerror.c (rpl_strerror): Provide replacement.
66377         * modules/strerror (Depends-on): Add string.
66378         (configure.ac): Detect use of module.
66379         * tests/test-strerror.c: New file.
66380         * modules/strerror-tests: New test module.
66381         * modules/argp (Depends-on): Add strerror.
66382         * modules/error (Depends-on): Likewise.
66383         Reported by Martin Koeppe.
66384
66385 2007-09-24  Bruno Haible  <bruno@clisp.org>
66386
66387         * README: Update git instructions.
66388
66389 2007-09-24  Eric Blake  <ebb9@byu.net>
66390
66391         Revert fpending breakage from 2007-09-08.
66392         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66393         __fpending.c.
66394
66395 2007-09-24  Jim Meyering  <jim@meyering.net>
66396
66397         filenamecat.c: Add a test.
66398         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66399         showing how the function works when DIR is the empty string.
66400
66401 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66402
66403         * tests/test-canonicalize.sh: Turn on executable bit.
66404
66405 2007-09-19  Eric Blake  <ebb9@byu.net>
66406
66407         * README: Update CVS instructions.
66408
66409 2007-09-18  Bruno Haible  <bruno@clisp.org>
66410
66411         * modules/areadlink: New file.
66412         * lib/areadlink.h (areadlink): New declaration.
66413         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66414
66415 2007-09-17  Jim Meyering  <jim@meyering.net>
66416
66417         * lib/savewd.c (ESTALE) [!defined]: Define.
66418         Reported to be required on Interix by Martin Koeppe.
66419
66420 2007-09-17  Bruno Haible  <bruno@clisp.org>
66421
66422         * gnulib-tool (func_version): Use $version.
66423
66424 2007-09-16  Bruno Haible  <bruno@clisp.org>
66425
66426         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66427         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66428         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66429         Reported by Greg Schafer <gschafer@zip.com.au>.
66430
66431 2007-09-15  Bruno Haible  <bruno@clisp.org>
66432
66433         * gnulib-tool (sed): Try a little harder to make bash understand the
66434         alias.
66435         Reported by Bruce Korb <bruce.korb@gmail.com>.
66436
66437 2007-09-13  Eric Blake  <ebb9@byu.net>
66438
66439         * ChangeLog: Remove conflict markers.
66440
66441 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66442
66443         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66444         Reported by Bruno Haible <bruno@clisp.org>.
66445
66446 2007-09-12  Bruno Haible  <bruno@clisp.org>
66447
66448         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66449         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66450         is not defined.
66451
66452 2007-09-12  Eric Blake  <ebb9@byu.net>
66453
66454         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66455         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66456         Autoconf definition.
66457         * modules/euidaccess (Depends-on): Add extensions, for
66458         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66459         * modules/fnmatch (Depends-on): Likewise.
66460         * modules/getaddrinfo (Depends-on): Likewise.
66461         * modules/getdelim (Depends-on): Likewise.
66462         * modules/getline (Depends-on): Likewise.
66463         * modules/getsubopt (Depends-on): Likewise.
66464         * modules/gettext (Depends-on): Likewise.
66465         * modules/group-member (Depends-on): Likewise.
66466         * modules/mbchar (Depends-on): Likewise.
66467         * modules/memmem (Depends-on): Likewise.
66468         * modules/mempcpy (Depends-on): Likewise.
66469         * modules/memrchr (Depends-on): Likewise.
66470         * modules/pagealign_alloc (Depends-on): Likewise.
66471         * modules/readutmp (Depends-on): Likewise.
66472         * modules/stpcpy (Depends-on): Likewise.
66473         * modules/stpncpy (Depends-on): Likewise.
66474         * modules/strchrnul (Depends-on): Likewise.
66475         * modules/strndup (Depends-on): Likewise.
66476         * modules/strsep (Depends-on): Likewise.
66477         * modules/strverscmp (Depends-on): Likewise.
66478         * modules/vasprintf (Depends-on): Likewise.
66479         * modules/wcwidth (Depends-on): Likewise.
66480         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66481         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66482         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66483         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66484         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66485         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66486         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66487         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66488         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66489         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66490         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66491         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66492         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66493         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66494         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66495         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66496         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66497         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66498         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66499         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66500         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66501         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66502         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66503         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66504         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66505         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66506         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66507         so that lock.m4 can be used in gettext without extensions module.
66508
66509 2007-09-11  Bruno Haible  <bruno@clisp.org>
66510
66511         * m4/isc-posix.m4: Remove file.
66512         Suggested by Eric Blake.
66513
66514 2007-09-11  Eric Blake  <ebb9@byu.net>
66515
66516         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66517
66518 2007-09-10  Bruno Haible  <bruno@clisp.org>
66519
66520         * posix-modules: Fix typo in error message.
66521         Reported by Matt <mkraai@beckman.com>.
66522
66523 2007-09-09  Bruno Haible  <bruno@clisp.org>
66524
66525         * doc/functions/getdelim.texi: Update list of platforms lacking the
66526         function.
66527         * doc/functions/getline.texi: Likewise.
66528
66529 2007-09-09  Jim Meyering  <jim@meyering.net>
66530
66531         * lib/hash.c (hash_initialize): Detect calloc failure.
66532         Reported by Bruno Haible.
66533
66534 2007-09-09  Bruno Haible  <bruno@clisp.org>
66535
66536         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66537         malloc or realloc fails.
66538
66539 2007-09-09  Bruno Haible  <bruno@clisp.org>
66540
66541         * modules/getcwd (Depends-on): Add malloc-posix.
66542         * modules/glob (Depends-on): Likewise.
66543         * modules/putenv (Depends-on): Likewise.
66544         * modules/strdup (Depends-on): Likewise.
66545         * modules/getdelim (Depends-on): Add realloc-posix.
66546         * modules/read-file (Depends-on): Likewise.
66547
66548 2007-09-09  Bruno Haible  <bruno@clisp.org>
66549
66550         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66551         (gl_FUNC_MALLOC_POSIX): Require it.
66552         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66553         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66554         * modules/realloc (Files): Add m4/malloc.m4.
66555         * modules/calloc (Files): Likewise.
66556
66557 2007-09-09  Bruno Haible  <bruno@clisp.org>
66558
66559         * modules/malloc-posix: New file.
66560         * modules/malloc (Depends-on): Add malloc-posix.
66561         * lib/malloc.c: Include errno.h.
66562         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66563         and a POSIX-compatible malloc into a single function. Set ENOMEM
66564         when returning NULL.
66565         * m4/malloc.m4: New file.
66566         * doc/functions/malloc.texi: Mention the malloc-posix module.
66567         * lib/stdlib_.h (malloc): New declaration.
66568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66569         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66570         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66571         and HAVE_MALLOC_POSIX.
66572
66573 2007-09-09  Bruno Haible  <bruno@clisp.org>
66574
66575         * modules/realloc-posix: New file.
66576         * modules/realloc (Depends-on): Add realloc-posix.
66577         * lib/realloc.c: Include errno.h.
66578         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66579         and a POSIX-compatible realloc into a single function. Set ENOMEM
66580         when returning NULL.
66581         * m4/realloc.m4: New file.
66582         * doc/functions/realloc.texi: Mention the realloc-posix module.
66583         * lib/stdlib_.h (realloc): New declaration.
66584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66585         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66586         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66587         and HAVE_REALLOC_POSIX.
66588
66589 2007-09-09  Bruno Haible  <bruno@clisp.org>
66590
66591         * modules/calloc-posix: New file.
66592         * modules/calloc (Depends-on): Add calloc-posix.
66593         * lib/calloc.c: Include errno.h.
66594         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66595         and a POSIX-compatible calloc into a single function. Set ENOMEM
66596         when returning NULL.
66597         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66598         * doc/functions/calloc.texi: Mention the calloc-posix module.
66599         * lib/stdlib_.h (calloc): New declaration.
66600         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66601         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66602         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66603         and HAVE_CALLOC_POSIX.
66604
66605 2007-09-09  Bruno Haible  <bruno@clisp.org>
66606
66607         Allow for modules to show an arbitrary notice.
66608         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66609         * gnulib-tool: New option --extract-notice.
66610         (func_usage): Document it.
66611         (sed_extract_prog): Update.
66612         (func_get_notice): New function.
66613         (func_modules_notice): New function.
66614         (func_import, func_create_testdir): Invoke it.
66615         Suggested by Jim Meyering.
66616
66617 2007-09-09  Bruno Haible  <bruno@clisp.org>
66618
66619         * gnulib-tool: New options --verbose, --quiet.
66620         (func_usage): Document them.
66621         (verbose): New variable.
66622         (func_execute_command): New function.
66623         (func_import): Don't show the module list and the file list if
66624         $verbose < 0.
66625         (func_create_testdir): Likewise. Use func_execute_command.
66626         (func_create_megatestdir): Use func_execute_command.
66627
66628 2007-09-08  Bruno Haible  <bruno@clisp.org>
66629
66630         * gnulib-tool (func_import): Prefer rsync over wget when available,
66631         for fetching the PO files.
66632
66633 2007-09-08  Bruno Haible  <bruno@clisp.org>
66634
66635         * posix-modules: New file. Portions copied from gnulib-tool.
66636         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66637
66638 2007-09-08  Jim Meyering  <jim@meyering.net>
66639
66640         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66641         * lib/fpending.h: Rename from __fpending.h.
66642         * lib/fpending.c: Rename from __fpending.c.
66643         Include "fpending.h", not "__fpending.h".
66644         * lib/__fpending.h, lib/__fpending.c: Remove files.
66645         * modules/fpending (Files): Reflect new file names.
66646         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66647
66648 2007-09-08  Bruno Haible  <bruno@clisp.org>
66649
66650         * m4/inttypes-h.m4: Remove stub file.
66651
66652 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66653
66654         * doc/headers/stdint.texi: Discuss #include_next issue.
66655
66656 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66657
66658         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66659
66660 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66661
66662         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66663         in variable name.
66664
66665 2007-09-03  Jim Meyering  <jim@meyering.net>
66666
66667         New module: git-version-gen.
66668         * modules/git-version-gen: New file.
66669
66670         Import changes from coreutils for bootstrap script.
66671
66672         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66673
66674         bootstrap: uses rsync to download the .po files
66675         * build-aux/bootstrap (po_download_command_format): New global.
66676         (download_po_files): Use rsync.
66677         (update_po_files): Don't remove .po files after download,
66678         so future rsync runs can take advantage of the copies.
66679
66680         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66681
66682         Solve the unnecessary-.po-file-regeneration problem once and for all.
66683         * build-aux/bootstrap (download_po_files): New function, renamed from
66684         get_translations.  Now, downloads, but doesn't update LINGUAS.
66685         (update_po_files): New function.
66686
66687         bootstrap: Ignore more.
66688         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66689         uniwidth to e.g., lib/.gitignore.
66690         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66691
66692         * build-aux/bootstrap: New setting: vc_ignore.
66693         (insert_sorted_if_absent): Create $file if absent.
66694         Adapt to new, possibly empty, list: $vc_ignore.
66695
66696         bootstrap: generate more ignorable names
66697         * build-aux/bootstrap (slurp): When generating ignorable names,
66698         also map .sin to .sed, .gperf to .c, and .y to .c.
66699
66700 2007-09-03  Jim Meyering  <jim@meyering.net>
66701
66702         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66703         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66704
66705 2007-09-02  Bruno Haible  <bruno@clisp.org>
66706
66707         Fix mis-recognition of 'mcs' on QNX 6.
66708         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
66709         output contains the string "Mono".
66710         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
66711         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
66712
66713 2007-09-01  Bruno Haible  <bruno@clisp.org>
66714
66715         Fix collision between uniwidth/* and linebreak modules.
66716         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
66717         u32_width): Remove declarations.
66718         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
66719         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
66720         streq3, streq2, streq1, streq0): Remove functions.
66721         (STREQ): Remove macro.
66722         (is_cjk_encoding): Remove function.
66723         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
66724         (uc_width, u8_width, u16_width, u32_width): Remove functions.
66725         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
66726         * NEWS: Document the change.
66727
66728 2007-09-01  Bruno Haible  <bruno@clisp.org>
66729
66730         * lib/streq.h: Add double-inclusion guard.
66731
66732 2007-09-01  Karl Berry  <karl@gnu.org>
66733
66734         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
66735
66736 2007-08-28  Jim Meyering  <jim@meyering.net>
66737
66738         Rename mreadlink_with_size to areadlink_with_size.
66739         * NEWS: Document the change.
66740         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
66741         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
66742         * lib/mreadlink.h: Rename this to...
66743         * lib/areadlink.h: ...this.
66744         * modules/mreadlink-with-size: Rename this to...
66745         * modules/areadlink-with-size: ...this.
66746         * lib/canonicalize.c: Reflect the renaming.
66747         * modules/canonicalize: Likewise.
66748
66749 2007-08-26  Bruno Haible  <bruno@clisp.org>
66750
66751         * gnulib-tool (func_import): When deciding which files to remove,
66752         consider also dangling symbolic links.
66753         Reported by Eric Blake.
66754
66755 2007-08-26  Bruno Haible  <bruno@clisp.org>
66756
66757         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
66758
66759 2007-08-23  Simon Josefsson  <simon@josefsson.org>
66760
66761         * lib/readline.c: Don't include getline.h, the prototype is now
66762         found in stdio.h.
66763
66764 2007-08-23  Jim Meyering  <jim@meyering.net>
66765
66766         Getdelim touchup.
66767         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
66768         around the funlockfile call, since funlockfile never sets errno.
66769         Don't set errno upon failed realloc.
66770
66771 2007-08-22  Eric Blake  <ebb9@byu.net>
66772
66773         Getline touchups.
66774         * lib/getdelim.c (getdelim): Revert regression that required *n to
66775         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
66776         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
66777         getdelim, rather than whether implementation is missing.
66778         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
66779         * lib/stdio_.h (getline): Also declare if replacement is
66780         required.
66781         * doc/functions/getdelim.texi: New file.
66782         * doc/functions/getline.texi: Likewise.
66783         * doc/gnulib.texi (Function Substitutes): Add new files.
66784         Reported by Bruno Haible.
66785
66786 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
66787
66788         * users.txt: Add Guile.
66789
66790 2007-08-22  Eric Blake  <ebb9@byu.net>
66791
66792         * tests/test-getdelim.c (main): Use remove, not unlink.
66793         * tests/test-getline.c (main): Likewise.
66794
66795         Move getline and getdelim into stdio.h, per POSIX 200x.
66796         * modules/getline (Files): Remove getline.h.
66797         (Depends-on): Add stdio.
66798         (configure.ac): Add module indicator.
66799         * modules/getdelim (Files): Remove getdelim.h.
66800         (Depends-on): Add stdio.
66801         (configure.ac): Add module indicator.
66802         * modules/stdio (Makefile.am): Work with new indicators.
66803         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
66804         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
66805         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66806         * lib/getdelim.h: Delete.
66807         * lib/getline.h: Delete.
66808         * lib/stdio_.h (getdelim, getline): Declare.
66809         * modules/getdelim-tests: New module.
66810         * modules/getline-tests: Likewise.
66811         * tests/test-getdelim.c: New file.
66812         * tests/test-getline.c: Likewise.
66813         * NEWS: Document the change.
66814         * lib/getline.c: Update choice of header.
66815         * lib/csharpcomp.c: Likewise.
66816         * lib/getpass.c: Likewise.
66817         * lib/javacomp.c: Likewise.
66818         * lib/javaversion.c: Likewise.
66819         * lib/yesno.c: Likewise.
66820         * lib/getdelim.c: Likewise.
66821         (getdelim): Set errno on failure, and avoid memory leak.
66822
66823 2007-08-19  Bruno Haible  <bruno@clisp.org>
66824
66825         * modules/closein (Depends-on): Add freadahead.
66826         * lib/closein.c: Include freadahead.h.
66827         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
66828         is zero.
66829
66830 2007-08-19  Bruno Haible  <bruno@clisp.org>
66831
66832         * modules/freadahead-tests: New file.
66833         * tests/test-freadahead.sh: New file.
66834         * tests/test-freadahead.c: New file.
66835
66836         * modules/freadahead: New file.
66837         * lib/freadahead.h: New file.
66838         * lib/freadahead.c: New file.
66839         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
66840         fbufmode, fpurge, freadable, fwritable.
66841
66842 2007-08-19  Eric Blake  <ebb9@byu.net>
66843
66844         Test yesno in combination with closein.
66845         * lib/yesno.c (yesno): Document use of stdin.
66846         * modules/yesno-tests (Files): New module.
66847         * tests/test-yesno.c (main): New file.
66848         * tests/test-yesno.sh: Likewise.
66849
66850 2007-08-19  Bruno Haible  <bruno@clisp.org>
66851
66852         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
66853         * lib/fseeko.c (rpl_fseeko): Likewise.
66854         * lib/fseterr.c (fseterr): Likewise.
66855
66856 2007-08-19  Bruno Haible  <bruno@clisp.org>
66857
66858         * tests/test-lseek.c (main): Disable a test for BeOS.
66859         * doc/functions/lseek.texi: Document the BeOS bug.
66860
66861 2007-08-19  Bruno Haible  <bruno@clisp.org>
66862             Eric Blake  <ebb9@byu.net>
66863
66864         * lib/lseek.c: Include <sys/stat.h>.
66865         (rpl_lseek): Add workaround code also for Unix platforms.
66866         Needed for BeOS.
66867         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
66868         * doc/functions/lseek.texi: Document BeOS definiency.
66869
66870 2007-08-18  Bruno Haible  <bruno@clisp.org>
66871
66872         * modules/fstrcmp-tests: New file.
66873         * tests/test-fstrcmp.c: New file.
66874
66875 2007-08-18  Bruno Haible  <bruno@clisp.org>
66876
66877         * modules/fstrcmp: New file, from GNU gettext with modifications.
66878         * lib/fstrcmp.h: New file, from GNU gettext.
66879         * lib/fstrcmp.c: New file, from GNU gettext.
66880         * MODULES.html.sh (String handling): Add fstrcmp.
66881
66882 2007-08-18  Bruno Haible  <bruno@clisp.org>
66883
66884         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
66885         'bool'.
66886         (diag, compareseq): Remove const from the ctxt argument.
66887         (USE_HEURISTIC): Undefine at the end.
66888
66889 2007-08-18  Jim Meyering  <jim@meyering.net>
66890
66891         New file: lib/idcache.h
66892         * NEWS: Mention the addition.
66893         * modules/idcache (Files): Add lib/idcache.h
66894         * lib/idcache.c: Include "idcache.h".
66895         Don't include <sys/types.h>.
66896         Add a FIXME comment.
66897         Move file-scoped "static" declarations to the top.
66898         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
66899
66900 2007-08-17  Bruno Haible  <bruno@clisp.org>
66901         and Paul Eggert  <eggert@cs.ucla.edu>
66902
66903         * MODULES.html.sh: Add diffseq.
66904         * modules/diffseq: New file.
66905         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
66906         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
66907
66908 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66909
66910         Import changes from coreutils for bootstrap script.
66911
66912         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
66913
66914         * build-aux/bootstrap (slurp): Work even in environments where
66915         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
66916         current code does not slurp files whose names start with ".", and
66917         this looks like it might be a troublesome area.
66918
66919         2007-07-11  Jim Meyering  <jim@meyering.net>
66920
66921         If there's a GPL vN copyright comment, require that N == 3.
66922
66923         2007-07-08  Jim Meyering  <jim@meyering.net>
66924
66925         Run the coreutils-specific code only if tests/Makefile.am.in exists.
66926         * build-aux/bootstrap (mam_template): Move definition out of loop.
66927
66928         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
66929
66930         * build-aux/bootstrap (symlink_to_dir): Rename function from
66931         symlink_to_gnulib.  Add a directory parameter.  Update all
66932         callers.
66933         (cp_mark_as_generated): Also check for -- and link to -- files in
66934         gl/.
66935
66936         2007-07-08  Jim Meyering  <jim@meyering.net>
66937
66938         Adapt to deeper hierarchy in gnulib.
66939         * build-aux/bootstrap (symlink_to_dir): If the destination
66940         directory doesn't exist, create it. This is required at least for
66941         "lib/uniwidth/cjk.h".
66942
66943         2007-05-15  Jim Meyering  <jim@meyering.net>
66944
66945         * build-aux/bootstrap: Now that generated Makefile.am files
66946         are no longer under version control, they must be created at
66947         bootstrap time.
66948
66949 2007-08-14  Ben Pfaff  <blp@gnu.org>
66950
66951         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
66952
66953 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66954
66955         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
66956         given the changes below.
66957         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
66958         even on hosts that have padding bits beyond the supported 64.
66959
66960 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66961
66962         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
66963         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
66964         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
66965         depends on it.
66966         (xstrtol_error): Remove.
66967         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
66968         but with a different signature.
66969         (ATTRIBUTE_NORETURN, __attribute__): New macros.
66970         * lib/xstrtol-error.c: Include exitfail.h.
66971         (xstrtol_fatal): New function, with a different signature from the
66972         old xstrtol_error, so that the caller need not worry about passing
66973         in an exit status, or about storage management of the option argument.
66974         (xstrtol_error): Now a static function.  Redo signature to
66975         implement xstrtol_fatal.  Output the correct number of hyphens in
66976         front of the option so that the caller need not worry about
66977         storage management.
66978         (N_): New macro.
66979         (_): Remove; not used now.
66980         * modules/xstrtol: Depend on getopt.
66981         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
66982         of old STRTOL_FATAL_ERROR macro.
66983         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
66984         of test program.
66985         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
66986         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
66987
66988 2007-08-08  Eric Blake  <ebb9@byu.net>
66989
66990         * lib/xstrtol-error.c: Add missing include.
66991
66992         Move xstrtol messages into gnulib domain, when --pobase is used.
66993         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
66994         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
66995         * modules/xstrtol (Files): Distribute new file.
66996         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
66997         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
66998         * tests/test-xstrtol.c: ...into new file.
66999         * tests/test-xstrtoul.c: Also test xstrtoul.
67000         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67001         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67002         * tests/test-xstrtol.sh: Drive the tests.
67003         * tests/test-xstrtoimax.sh: Likewise.
67004         * tests/test-xstrtoumax.sh: Likewise.
67005         * modules/xstrtol-tests: New module.
67006         * modules/xstrtoimax-tests: Likewise.
67007         * modules/xstrtoumax-tests: Likewise.
67008
67009 2007-08-08  Jim Meyering  <jim@meyering.net>
67010
67011         New function: mfile_name_concat.
67012         * lib/filenamecat.c (mfile_name_concat): New function, just like
67013         file_name_concat, but return NULL upon failure rather than exiting
67014         with a diagnostic.
67015         * lib/filenamecat.h: Declare it.
67016
67017 2007-08-07  Bruno Haible  <bruno@clisp.org>
67018
67019         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67020         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67021         warning from gcc.
67022         Reported by Eric Blake.
67023
67024 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67025
67026         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67027         * modules/crypto/arcfour (License): Likewise.
67028         * modules/crypto/des-tests (License): Likewise.
67029         * modules/crypto/gc-arctwo-tests (License): Likewise.
67030         * modules/crypto/gc-des-tests (License): Likewise.
67031         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67032         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67033         * modules/crypto/gc-md2-tests (License): Likewise.
67034         * modules/crypto/gc-md4-tests (License): Likewise.
67035         * modules/crypto/gc-md5-tests (License): Likewise.
67036         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67037         * modules/crypto/gc-rijndael-tests (License): Likewise.
67038         * modules/crypto/gc-sha1-tests (License): Likewise.
67039         * modules/crypto/gc-tests (License): Likewise.
67040         * modules/crypto/hmac-md5 (License): Likewise.
67041         * modules/crypto/hmac-sha1 (License): Likewise.
67042         * modules/crypto/md2-tests (License): Likewise.
67043         * modules/crypto/md4-tests (License): Likewise.
67044         * modules/crypto/md5 (License): Likewise.
67045         * modules/crypto/rijndael (License): Likewise.
67046         * modules/crypto/sha1 (License): Likewise.
67047         * modules/memxor (License): Likewise.
67048
67049 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67050         and Bruno Haible  <bruno@clisp.org>
67051
67052         * NEWS: Describe interface changes to human, xstrtol.
67053         * lib/human.h: Include <xstrtol.h>.
67054         (human_options): Return enum strtol_error, not int.  Remove
67055         bool arg; take int * instead.
67056         * lib/human.c: Don't include "gettext.h".
67057         (_): Remove; no longer used.
67058         Don't include <xstrtol.h>, since human.h does it.
67059         (human_options): Adjust to abovementioned interface changes.
67060         Do not report error to stderr; that's now the caller's
67061         responsibility.
67062         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67063         interface change.
67064         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67065         Str, Argument_type_string.  All uses changed.  Put " argument"
67066         in diagnostics to make them clearer.  Change wording of suffix
67067         message for clarity.
67068         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67069         Argument_type_string.
67070         (STRTOL_FATAL_WARN): Remove; no longer used.
67071         * modules/human (Depends-on): Remove gettext-h.
67072
67073 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67074
67075         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67076
67077 2007-07-31  Bruno Haible  <bruno@clisp.org>
67078
67079         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67080         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67081         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67082
67083 2007-07-31  Bruno Haible  <bruno@clisp.org>
67084
67085         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67086         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67087
67088 2007-07-30  Bruno Haible  <bruno@clisp.org>
67089
67090         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67091         * modules/c-ctype (License): Likewise.
67092         * modules/c-strcase (License): Likewise.
67093         * modules/check-version (License): Likewise.
67094         * modules/iconv (License): Likewise.
67095         * modules/iconv_open (License): Likewise.
67096         * modules/read-file (License): Likewise.
67097         * modules/striconv (License): Likewise.
67098         * modules/strverscmp (License): Likewise.
67099         * modules/vasprintf (License): Likewise.
67100         * modules/crypto/des (License): Likewise.
67101         * modules/crypto/gc (License): Likewise.
67102         * modules/crypto/gc-arcfour (License): Likewise.
67103         * modules/crypto/gc-arctwo (License): Likewise.
67104         * modules/crypto/gc-des (License): Likewise.
67105         * modules/crypto/gc-hmac-md5 (License): Likewise.
67106         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67107         * modules/crypto/gc-md2 (License): Likewise.
67108         * modules/crypto/gc-md4 (License): Likewise.
67109         * modules/crypto/gc-md5 (License): Likewise.
67110         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67111         * modules/crypto/gc-random (License): Likewise.
67112         * modules/crypto/gc-rijndael (License): Likewise.
67113         * modules/crypto/gc-sha1 (License): Likewise.
67114         * modules/crypto/md2 (License): Likewise.
67115         * modules/crypto/md4 (License): Likewise.
67116
67117 2007-07-30  Jim Meyering  <jim@meyering.net>
67118
67119         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67120         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67121         it has valid stat data.  This bug would cause du not to count the
67122         sizes of inaccessible directories.
67123         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67124         in <http://bugzilla.redhat.com/250077>.
67125
67126 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67127             Bruno Haible  <bruno@clisp.org>
67128
67129         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67130         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67131         #include_next, gives a diagnostic about it, but reports no error in
67132         the exit code.
67133         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67134
67135 2007-07-24  Ben Pfaff  <blp@gnu.org>
67136
67137         Improve name: "count-one-bits" is better than "popcount".
67138         * MODULES.html.sh: Update name.
67139         * lib/popcount.h: Renamed lib/count-one-bits.h.
67140         (popcount): Renamed count_one_bits.
67141         (popcountl): Renamed count_one_bits_l.
67142         (popcountll): Renamed count_one_bits_ll.
67143         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67144         * modules/popcount: Renamed module/count-one-bits.
67145         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67146         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67147
67148 2007-07-23  Ben Pfaff  <blp@gnu.org>
67149
67150         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67151         better code generation, and add U to large constants to avoid
67152         warnings, in non-GCC case.
67153         Suggested by Bruno Haible.
67154
67155 2007-07-23  Ben Pfaff  <blp@gnu.org>
67156
67157         * lib/popcount.h: Use verify_true instead of if...abort.
67158         * modules/popcount: Depend on verify module.
67159         Suggested by Jim Meyering.
67160
67161 2007-07-23  Bruno Haible  <bruno@clisp.org>
67162
67163         * gnulib-tool (func_import): Create a .cvsignore file also when the
67164         directory is not yet in CVS but the toplevel directory is. When
67165         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67166         Reported by Karl Berry.
67167
67168 2007-07-22  Ben Pfaff  <blp@gnu.org>
67169
67170         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67171         case.
67172         Suggested by Eric Blake.
67173
67174 2007-07-22  Ben Pfaff  <blp@gnu.org>
67175
67176         New module: popcount.
67177         * MODULES.html.sh: Add popcount.
67178         * modules/popcount: New file.
67179         * modules/popcount-tests: New file.
67180         * tests/test-popcount.c: New file.
67181         * lib/popcount.h: New file.
67182         * m4/popcount.m4: New file.
67183
67184 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67185
67186         * build-aux/announce-gen: Update to GPLv3.
67187
67188         * build-aux/config.guess: Update from config.
67189
67190 2007-07-21  Bruno Haible  <bruno@clisp.org>
67191
67192         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67193         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67194
67195 2007-07-20  Jim Meyering  <jim@meyering.net>
67196
67197         * check-module: Diagnose a self-dependency.
67198
67199 2007-07-19  Bruno Haible  <bruno@clisp.org>
67200
67201         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67202         empty.
67203         Reported by Eric Blake.
67204
67205 2007-07-18  Bruno Haible  <bruno@clisp.org>
67206
67207         * gnulib-tool: New options --po-base, --po-domain.
67208         (func_usage): Document them.
67209         (pobase, po_domain): New variables.
67210         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67211         DEFAULT_TEXT_DOMAIN.
67212         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67213         (func_import): Consider pobase and po_domain. Create a po/ directory.
67214         (func_create_testdir): Set pobase and po_domain to empty.
67215         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67216         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67217
67218 2007-07-18  Bruno Haible  <bruno@clisp.org>
67219
67220         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67221         EXTRA_DIST augmentation for files in build-aux/.
67222
67223 2007-07-16  Bruno Haible  <bruno@clisp.org>
67224
67225         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67226         * modules/getdelim (License): Likewise.
67227
67228 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67229
67230         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67231         * modules/d-type (License): Likewise.
67232         * modules/extensions (License): Likewise.
67233         * modules/fnmatch (License): Likewise.
67234         * modules/fseeko (License): Likewise.
67235         * modules/getaddrinfo (License): Likewise.
67236         * modules/getline (License): Likewise.
67237         * modules/getlogin_r (License): Likewise.
67238         * modules/getpass (License): Likewise.
67239         * modules/gettimeofday (License): Likewise.
67240         * modules/glob (License): Likewise.
67241         * modules/inet_ntop (License): Likewise.
67242         * modules/malloc (License): Likewise.
67243         * modules/malloca (License): Likewise.
67244         * modules/memmem (License): Likewise.
67245         * modules/mempcpy (License): Likewise.
67246         * modules/memset (License): Likewise.
67247         * modules/minmax (License): Likewise.
67248         * modules/mktime (License): Likewise.
67249         * modules/netinet_in (License): Likewise.
67250         * modules/pathmax (License): Likewise.
67251         * modules/poll (License): Likewise.
67252         * modules/regex (License): Likewise.
67253         * modules/snprintf (License): Likewise.
67254         * modules/stdbool (License): Likewise.
67255         * modules/stdint (License): Likewise.
67256         * modules/stdio (License): Likewise.
67257         * modules/strcase (License): Likewise.
67258         * modules/strcasestr (License): Likewise.
67259         * modules/strdup (License): Likewise.
67260         * modules/string (License): Likewise.
67261         * modules/strndup (License): Likewise.
67262         * modules/strnlen (License): Likewise.
67263         * modules/strpbrk (License): Likewise.
67264         * modules/strptime (License): Likewise.
67265         * modules/strsep (License): Likewise.
67266         * modules/sys_select (License): Likewise.
67267         * modules/sys_socket (License): Likewise.
67268         * modules/sys_stat (License): Likewise.
67269         * modules/sys_time (License): Likewise.
67270         * modules/time (License): Likewise.
67271         * modules/time_r (License): Likewise.
67272         * modules/timegm (License): Likewise.
67273         * modules/unistd (License): Likewise.
67274         * modules/vsnprintf (License): Likewise.
67275         * modules/wctype (License): Likewise.
67276
67277 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67278
67279         * modules/argz (License): LGPLv2+.
67280
67281 2007-07-15  Karl Berry  <karl@gnu.org>
67282
67283         * doc/gnulib.texi: revise node structure per new fdl.texi.
67284
67285 2007-07-14  Bruno Haible  <bruno@clisp.org>
67286
67287         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67288         the output file.
67289         * lib/uniname/uninames.h: Regenerated.
67290
67291 2007-07-14  Karl Berry  <karl@gnu.org>
67292
67293         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67294         omitting sectioning and index commands.
67295
67296 2007-07-13  Bruno Haible  <bruno@clisp.org>
67297
67298         New gnulib-tool option --more-symlinks.
67299         * gnulib-tool (func_usage): Document --more-symlinks.
67300         (do_copyrights): New variable.
67301         Recognize option --more-symlinks.
67302         (func_import): Don't add a copyright notice transform to
67303         sed_transform_lib_file if do_copyrights is empty.
67304
67305 2007-07-13  Bruno Haible  <bruno@clisp.org>
67306
67307         * lib/vasnprintf.c (decimal_point_char): Define also if
67308         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67309         && !NEED_PRINTF_DIRECTIVE_A.
67310         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67311         Gary V. Vaughan <gary@gnu.org>.
67312
67313 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67314
67315         * lib/inttypes_.h: Undo previous change, since it was fixed
67316         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67317
67318 2007-07-13  Bruno Haible  <bruno@clisp.org>
67319
67320         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67321         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67322
67323 2007-07-13  Jim Meyering  <jim@meyering.net>
67324
67325         df: Don't fail for Tru64's "file-on-file mount".
67326         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67327         so we fall through and use statfs instead.  Details here:
67328         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67329         Reported by Albert Chin.
67330
67331 2007-07-13  Bruno Haible  <bruno@clisp.org>
67332
67333         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67334         * modules/configmake (License): Likewise.
67335         * modules/gettext (License): Likewise.
67336         * modules/gettext-h (License): Likewise.
67337         * modules/include_next (License): Likewise.
67338         * modules/link-warning (License): Likewise.
67339         * modules/localcharset (License): Likewise.
67340         * modules/localename (License): Likewise.
67341         * modules/lock (License): Likewise.
67342         * modules/relocatable-lib-lgpl (License): Likewise.
67343         * modules/size_max (License): Likewise.
67344         * modules/vasnprintf (License): Likewise.
67345         * modules/wchar (License): Likewise.
67346         * modules/xsize (License): Likewise.
67347
67348 2007-07-13  Bruno Haible  <bruno@clisp.org>
67349
67350         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67351         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67352
67353 2007-07-12  Bruno Haible  <bruno@clisp.org>
67354
67355         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67356         in the modules files.
67357
67358 2007-07-11  Karl Berry  <karl@gnu.org>
67359
67360         * MODULES.html.sh (func_module): use
67361          sed -e '\|^'"${includefile}"'$|d'
67362          instead of /.../d, to avoid errors on $includefile's containing /.
67363
67364 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67365
67366         * gnulib-tool (func_import): Avoid duplication of --avoid
67367         statements
67368         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67369         names to `_' in variable names.
67370
67371 2007-07-10  Eric Blake  <ebb9@byu.net>
67372
67373         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67374         * NEWS: Document this change.
67375
67376 2007-07-08  Bruno Haible  <bruno@clisp.org>
67377
67378         Update to Unicode 5.0.
67379         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67380         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67381         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67382         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67383         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67384         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67385         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67386         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67387         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67388         U+10A3F, U+1D242..U+1D244.
67389         (nonspacing_table_ind): Update.
67390         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67391         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67392
67393 2007-07-08  Bruno Haible  <bruno@clisp.org>
67394
67395         Update to Unicode 5.0.
67396         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67397         code transform. Extend the name index field of unicode_name_to_code and
67398         unicode_code_to_name from 16 to 24 bits.
67399         * lib/uniname/uniname.c (unicode_character_name,
67400         unicode_name_character): Add the range 0x12xxx to the code transform.
67401         * lib/uniname/uninames.h: Regenerated.
67402         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67403
67404 2007-07-07  Bruno Haible  <bruno@clisp.org>
67405
67406         * modules/wcwidth-tests: New file.
67407         * tests/test-wcwidth.c: New file.
67408
67409         Work around MacOS X wcwidth() bug.
67410         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67411         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67412         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67413         original wcwidth in non-UTF-8 locales.
67414         * modules/wcwidth (Depends-on): Add localcharset, streq,
67415         uniwidth/width.
67416         * doc/functions/wcwidth.texi: Update.
67417
67418 2007-07-07  Bruno Haible  <bruno@clisp.org>
67419
67420         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67421         (wcwidth): New declaration.
67422         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67423         macros.
67424         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67425         here. Prepare for creating <wchar.h> unconditionally.
67426         * modules/wchar (Depends-on): Add link-warning.
67427         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67428         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67429         * lib/wcwidth.h: Remove file.
67430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67431         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67432         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67433         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67434         (Include): Replace wcwidth.h with <wchar.h>.
67435         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67436         * lib/mbchar.h: Don't include wcwidth.h.
67437         * lib/mbswidth.c: Likewise.
67438         * NEWS: Mention the change.
67439
67440 2007-07-07  Bruno Haible  <bruno@clisp.org>
67441
67442         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67443         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67444         definition with an external declaration.
67445         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67446         defined as a function. Remove AC_C_INLINE requirement.
67447         * modules/wcwidth (Files): Add lib/wcwidth.c.
67448         (Makefile.am): Remove redundant statement.
67449
67450 2007-07-07  Bruno Haible  <bruno@clisp.org>
67451
67452         * MODULES.html.sh (Unicode string functions): Add the new modules.
67453
67454         * tests/uniwidth/test-u32-strwidth.c: New file.
67455         * modules/uniwidth/u32-strwidth-tests: New file.
67456
67457         * lib/uniwidth/u32-strwidth.c: New file.
67458         * modules/uniwidth/u32-strwidth: New file.
67459
67460         * tests/uniwidth/test-u16-strwidth.c: New file.
67461         * modules/uniwidth/u16-strwidth-tests: New file.
67462
67463         * lib/uniwidth/u16-strwidth.c: New file.
67464         * modules/uniwidth/u16-strwidth: New file.
67465
67466         * tests/uniwidth/test-u8-strwidth.c: New file.
67467         * modules/uniwidth/u8-strwidth-tests: New file.
67468
67469         * lib/uniwidth/u8-strwidth.c: New file.
67470         * modules/uniwidth/u8-strwidth: New file.
67471
67472         * tests/uniwidth/test-u32-width.c: New file.
67473         * modules/uniwidth/u32-width-tests: New file.
67474
67475         * lib/uniwidth/u32-width.c: New file.
67476         * modules/uniwidth/u32-width: New file.
67477
67478         * tests/uniwidth/test-u16-width.c: New file.
67479         * modules/uniwidth/u16-width-tests: New file.
67480
67481         * lib/uniwidth/u16-width.c: New file.
67482         * modules/uniwidth/u16-width: New file.
67483
67484         * tests/uniwidth/test-u8-width.c: New file.
67485         * modules/uniwidth/u8-width-tests: New file.
67486
67487         * lib/uniwidth/u8-width.c: New file.
67488         * modules/uniwidth/u8-width: New file.
67489
67490         * tests/uniwidth/test-uc_width.c: New file.
67491         * modules/uniwidth/width-tests: New file.
67492
67493         * lib/uniwidth/width.c: New file, from GNU libiconv.
67494         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67495         * modules/uniwidth/width: New file.
67496
67497         * lib/uniwidth.h: New file, from GNU libiconv.
67498         * modules/uniwidth/base: New file.
67499
67500 2007-07-07  Bruno Haible  <bruno@clisp.org>
67501
67502         * lib/uniname.h: New file, from GNU gettext.
67503         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67504         * lib/uniname/uninames.h: New file, from GNU gettext.
67505         * lib/uniname/uniname.c: New file, from GNU gettext.
67506         * tests/uniname/test-uninames.sh: New file.
67507         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67508         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67509         * modules/uniname/base: New file.
67510         * modules/uniname/uniname: New file.
67511         * modules/uniname/uniname-tests: New file.
67512         * MODULES.html.sh (Unicode string functions): Add the new modules.
67513
67514 2007-07-06  Bruno Haible  <bruno@clisp.org>
67515
67516         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67517
67518 2007-07-06  Bruno Haible  <bruno@clisp.org>
67519
67520         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67521         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67522         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67523         include <sys/time.h>.
67524         Reported by Eric Blake.
67525
67526 2007-07-06  Eric Blake  <ebb9@byu.net>
67527
67528         Fix testing canonicalize on cygwin.
67529         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67530         Revert patch from 2007-06-19.
67531         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67532         canonicalize module is also in use.
67533         * tests/test-canonicalize.c: New file.
67534         * tests/test-canonicalize.sh: Likewise.
67535         * modules/canonicalize-tests: Likewise.
67536
67537 2007-07-06  Jim Meyering  <jim@meyering.net>
67538
67539         * lib/getugroups.c (getugroups): Detect getgrent failure.
67540         Adjust comment to reflect reality: this function may return -1.
67541
67542 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67543
67544         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67545         the new TP address.
67546         (usage): Fix typo
67547         (gnulib_mk): New variable.
67548
67549 2007-07-05  Jim Meyering  <jim@meyering.net>
67550
67551         Don't let endgrent clobber errno, no matter how improbable.
67552         * lib/getugroups.c (getugroups): Save and restore errno around
67553         endgrent call.
67554
67555         Close the group DB even when failing with 2^31 or more members.
67556         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67557
67558 2007-07-04  Jim Meyering  <jim@meyering.net>
67559
67560         * lib/getugroups.h: New file.
67561         * lib/getugroups.c: Include "getugroups.h".
67562         Remove uses of "register" keyword.
67563         Move local variable, "cp", down into scope where used.
67564         Give "username" parameter the "const" attribute.
67565         * modules/getugroups (Files): Add lib/getugroups.h
67566
67567 2007-07-04  Karl Berry  <karl@gnu.org>
67568
67569         * MODULES.html.sh (func_all_modules): Complete rename of
67570         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67571
67572 2007-07-02  Bruno Haible  <bruno@clisp.org>
67573
67574         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67575         mode, when inttypes.h comes from gnulib.
67576         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67577
67578 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67579
67580         * NEWS: Mention lgpl module name change.
67581
67582         * modules/lgpl-2.1: Renamed from lgpl.
67583
67584         * NEWS: Mention gpl module name change.
67585
67586         * modules/gpl-3.0: New file, based on gpl-2.0.
67587
67588         * modules/gpl-2.0: Renamed from gpl.
67589
67590         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67591         doc/gpl-2.0.texi.
67592
67593 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67594
67595         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67596         #define __STDC_LIMIT_MACROS temporarily while including
67597         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67598         Problem reported by Joel E. Denny in
67599         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67600
67601 2007-07-01  Bruno Haible  <bruno@clisp.org>
67602
67603         * lib/unistdio.h: New file.
67604         * lib/unistdio/u-asnprintf.h: New file.
67605         * lib/unistdio/u-asprintf.h: New file.
67606         * lib/unistdio/u-printf-args.c: New file.
67607         * lib/unistdio/u-printf-args.h: New file.
67608         * lib/unistdio/u-printf-parse.h: New file.
67609         * lib/unistdio/u-snprintf.h: New file.
67610         * lib/unistdio/u-sprintf.h: New file.
67611         * lib/unistdio/u-vasprintf.h: New file.
67612         * lib/unistdio/u-vsnprintf.h: New file.
67613         * lib/unistdio/u-vsprintf.h: New file.
67614         * lib/unistdio/ulc-asnprintf.c: New file.
67615         * lib/unistdio/ulc-asprintf.c: New file.
67616         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67617         * lib/unistdio/ulc-printf-parse.c: New file.
67618         * lib/unistdio/ulc-snprintf.c: New file.
67619         * lib/unistdio/ulc-sprintf.c: New file.
67620         * lib/unistdio/ulc-vasnprintf.c: New file.
67621         * lib/unistdio/ulc-vasprintf.c: New file.
67622         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67623         * lib/unistdio/ulc-vsnprintf.c: New file.
67624         * lib/unistdio/ulc-vsprintf.c: New file.
67625         * lib/unistdio/u8-asnprintf.c: New file.
67626         * lib/unistdio/u8-asprintf.c: New file.
67627         * lib/unistdio/u8-printf-parse.c: New file.
67628         * lib/unistdio/u8-snprintf.c: New file.
67629         * lib/unistdio/u8-sprintf.c: New file.
67630         * lib/unistdio/u8-vasnprintf.c: New file.
67631         * lib/unistdio/u8-vasprintf.c: New file.
67632         * lib/unistdio/u8-vsnprintf.c: New file.
67633         * lib/unistdio/u8-vsprintf.c: New file.
67634         * lib/unistdio/u8-u8-asnprintf.c: New file.
67635         * lib/unistdio/u8-u8-asprintf.c: New file.
67636         * lib/unistdio/u8-u8-snprintf.c: New file.
67637         * lib/unistdio/u8-u8-sprintf.c: New file.
67638         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67639         * lib/unistdio/u8-u8-vasprintf.c: New file.
67640         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67641         * lib/unistdio/u8-u8-vsprintf.c: New file.
67642         * lib/unistdio/u16-asnprintf.c: New file.
67643         * lib/unistdio/u16-asprintf.c: New file.
67644         * lib/unistdio/u16-printf-parse.c: New file.
67645         * lib/unistdio/u16-snprintf.c: New file.
67646         * lib/unistdio/u16-sprintf.c: New file.
67647         * lib/unistdio/u16-vasnprintf.c: New file.
67648         * lib/unistdio/u16-vasprintf.c: New file.
67649         * lib/unistdio/u16-vsnprintf.c: New file.
67650         * lib/unistdio/u16-vsprintf.c: New file.
67651         * lib/unistdio/u16-u16-asnprintf.c: New file.
67652         * lib/unistdio/u16-u16-asprintf.c: New file.
67653         * lib/unistdio/u16-u16-snprintf.c: New file.
67654         * lib/unistdio/u16-u16-sprintf.c: New file.
67655         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67656         * lib/unistdio/u16-u16-vasprintf.c: New file.
67657         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67658         * lib/unistdio/u16-u16-vsprintf.c: New file.
67659         * lib/unistdio/u32-asnprintf.c: New file.
67660         * lib/unistdio/u32-asprintf.c: New file.
67661         * lib/unistdio/u32-printf-parse.c: New file.
67662         * lib/unistdio/u32-snprintf.c: New file.
67663         * lib/unistdio/u32-sprintf.c: New file.
67664         * lib/unistdio/u32-vasnprintf.c: New file.
67665         * lib/unistdio/u32-vasprintf.c: New file.
67666         * lib/unistdio/u32-vsnprintf.c: New file.
67667         * lib/unistdio/u32-vsprintf.c: New file.
67668         * lib/unistdio/u32-u32-asnprintf.c: New file.
67669         * lib/unistdio/u32-u32-asprintf.c: New file.
67670         * lib/unistdio/u32-u32-snprintf.c: New file.
67671         * lib/unistdio/u32-u32-sprintf.c: New file.
67672         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67673         * lib/unistdio/u32-u32-vasprintf.c: New file.
67674         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67675         * lib/unistdio/u32-u32-vsprintf.c: New file.
67676         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67677         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67678         * tests/unistdio/test-ulc-printf1.h: New file.
67679         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67680         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67681         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67682         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67683         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67684         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67685         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67686         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67687         * tests/unistdio/test-u8-asnprintf1.c: New file.
67688         * tests/unistdio/test-u8-asnprintf1.h: New file.
67689         * tests/unistdio/test-u8-printf1.h: New file.
67690         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67691         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67692         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67693         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67694         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67695         * tests/unistdio/test-u8-vasprintf1.c: New file.
67696         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67697         * tests/unistdio/test-u8-vsprintf1.c: New file.
67698         * tests/unistdio/test-u16-asnprintf1.c: New file.
67699         * tests/unistdio/test-u16-asnprintf1.h: New file.
67700         * tests/unistdio/test-u16-printf1.h: New file.
67701         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67702         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67703         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67704         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67705         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67706         * tests/unistdio/test-u16-vasprintf1.c: New file.
67707         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67708         * tests/unistdio/test-u16-vsprintf1.c: New file.
67709         * tests/unistdio/test-u32-asnprintf1.c: New file.
67710         * tests/unistdio/test-u32-asnprintf1.h: New file.
67711         * tests/unistdio/test-u32-printf1.h: New file.
67712         * tests/unistdio/test-u32-vasnprintf1.c: New file.
67713         * tests/unistdio/test-u32-vasnprintf2.c: New file.
67714         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
67715         * tests/unistdio/test-u32-vasnprintf3.c: New file.
67716         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
67717         * tests/unistdio/test-u32-vasprintf1.c: New file.
67718         * tests/unistdio/test-u32-vsnprintf1.c: New file.
67719         * tests/unistdio/test-u32-vsprintf1.c: New file.
67720         * modules/unistdio/base: New file.
67721         * modules/unistdio/u-printf-args: New file.
67722         * modules/unistdio/ulc-asnprintf: New file.
67723         * modules/unistdio/ulc-asprintf: New file.
67724         * modules/unistdio/ulc-fprintf: New file.
67725         * modules/unistdio/ulc-printf-parse: New file.
67726         * modules/unistdio/ulc-snprintf: New file.
67727         * modules/unistdio/ulc-sprintf: New file.
67728         * modules/unistdio/ulc-vasnprintf: New file.
67729         * modules/unistdio/ulc-vasprintf: New file.
67730         * modules/unistdio/ulc-vfprintf: New file.
67731         * modules/unistdio/ulc-vsnprintf: New file.
67732         * modules/unistdio/ulc-vsprintf: New file.
67733         * modules/unistdio/u8-asnprintf: New file.
67734         * modules/unistdio/u8-asprintf: New file.
67735         * modules/unistdio/u8-printf-parse: New file.
67736         * modules/unistdio/u8-snprintf: New file.
67737         * modules/unistdio/u8-sprintf: New file.
67738         * modules/unistdio/u8-vasnprintf: New file.
67739         * modules/unistdio/u8-vasprintf: New file.
67740         * modules/unistdio/u8-vsnprintf: New file.
67741         * modules/unistdio/u8-vsprintf: New file.
67742         * modules/unistdio/u8-u8-asnprintf: New file.
67743         * modules/unistdio/u8-u8-asprintf: New file.
67744         * modules/unistdio/u8-u8-snprintf: New file.
67745         * modules/unistdio/u8-u8-sprintf: New file.
67746         * modules/unistdio/u8-u8-vasnprintf: New file.
67747         * modules/unistdio/u8-u8-vasprintf: New file.
67748         * modules/unistdio/u8-u8-vsnprintf: New file.
67749         * modules/unistdio/u8-u8-vsprintf: New file.
67750         * modules/unistdio/u16-asnprintf: New file.
67751         * modules/unistdio/u16-asprintf: New file.
67752         * modules/unistdio/u16-printf-parse: New file.
67753         * modules/unistdio/u16-snprintf: New file.
67754         * modules/unistdio/u16-sprintf: New file.
67755         * modules/unistdio/u16-vasnprintf: New file.
67756         * modules/unistdio/u16-vasprintf: New file.
67757         * modules/unistdio/u16-vsnprintf: New file.
67758         * modules/unistdio/u16-vsprintf: New file.
67759         * modules/unistdio/u16-u16-asnprintf: New file.
67760         * modules/unistdio/u16-u16-asprintf: New file.
67761         * modules/unistdio/u16-u16-snprintf: New file.
67762         * modules/unistdio/u16-u16-sprintf: New file.
67763         * modules/unistdio/u16-u16-vasnprintf: New file.
67764         * modules/unistdio/u16-u16-vasprintf: New file.
67765         * modules/unistdio/u16-u16-vsnprintf: New file.
67766         * modules/unistdio/u16-u16-vsprintf: New file.
67767         * modules/unistdio/u32-asnprintf: New file.
67768         * modules/unistdio/u32-asprintf: New file.
67769         * modules/unistdio/u32-printf-parse: New file.
67770         * modules/unistdio/u32-snprintf: New file.
67771         * modules/unistdio/u32-sprintf: New file.
67772         * modules/unistdio/u32-vasnprintf: New file.
67773         * modules/unistdio/u32-vasprintf: New file.
67774         * modules/unistdio/u32-vsnprintf: New file.
67775         * modules/unistdio/u32-vsprintf: New file.
67776         * modules/unistdio/u32-u32-asnprintf: New file.
67777         * modules/unistdio/u32-u32-asprintf: New file.
67778         * modules/unistdio/u32-u32-snprintf: New file.
67779         * modules/unistdio/u32-u32-sprintf: New file.
67780         * modules/unistdio/u32-u32-vasnprintf: New file.
67781         * modules/unistdio/u32-u32-vasprintf: New file.
67782         * modules/unistdio/u32-u32-vsnprintf: New file.
67783         * modules/unistdio/u32-u32-vsprintf: New file.
67784         * modules/unistdio/ulc-asnprintf-tests: New file.
67785         * modules/unistdio/ulc-vasnprintf-tests: New file.
67786         * modules/unistdio/ulc-vasprintf-tests: New file.
67787         * modules/unistdio/ulc-vsnprintf-tests: New file.
67788         * modules/unistdio/ulc-vsprintf-tests: New file.
67789         * modules/unistdio/u8-asnprintf-tests: New file.
67790         * modules/unistdio/u8-vasnprintf-tests: New file.
67791         * modules/unistdio/u8-vasprintf-tests: New file.
67792         * modules/unistdio/u8-vsnprintf-tests: New file.
67793         * modules/unistdio/u8-vsprintf-tests: New file.
67794         * modules/unistdio/u16-asnprintf-tests: New file.
67795         * modules/unistdio/u16-vasnprintf-tests: New file.
67796         * modules/unistdio/u16-vasprintf-tests: New file.
67797         * modules/unistdio/u16-vsnprintf-tests: New file.
67798         * modules/unistdio/u16-vsprintf-tests: New file.
67799         * modules/unistdio/u32-asnprintf-tests: New file.
67800         * modules/unistdio/u32-vasnprintf-tests: New file.
67801         * modules/unistdio/u32-vasprintf-tests: New file.
67802         * modules/unistdio/u32-vsnprintf-tests: New file.
67803         * modules/unistdio/u32-vsprintf-tests: New file.
67804         * MODULES.html.sh (Unicode string functions): Add the new modules.
67805
67806 2007-07-01  Bruno Haible  <bruno@clisp.org>
67807
67808         * lib/sprintf.c (sprintf): Limit the available length estimation,
67809         to avoid address wraparound.
67810         * lib/vsprintf.c (vsprintf): Likewise.
67811         * modules/sprintf-posix (Dependencies): Add stdint.
67812         * modules/vsprintf-posix (Dependencies): Likewise.
67813
67814 2007-07-01  Bruno Haible  <bruno@clisp.org>
67815
67816         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
67817         Windows PATH as well. Conservative double-quoting. Comments.
67818
67819 2007-07-01  Bruno Haible  <bruno@clisp.org>
67820             Eric Blake  <ebb9@byu.net>
67821             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67822
67823         * gnulib-tool (self_abspathname): Fix algorithm to cope with
67824         empty components in $PATH, denoting '.'.
67825
67826 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67827
67828         * gnulib-tool: Fix indentation.
67829         (func_create_megatestdir): Likewise.
67830         Report by Bruno Haible.
67831
67832 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67833
67834         Sync from Automake.
67835         * build-aux/gnupload: Fix shell portability issues with for loops.
67836         Report by Karl Berry.
67837
67838 2007-06-29  Simon Josefsson  <simon@josefsson.org>
67839
67840         * build-aux/maint.mk (POURL): Use translationproject.org.
67841
67842 2007-06-27  Simon Josefsson  <simon@josefsson.org>
67843             Bruno Haible  <bruno@clisp.org>
67844
67845         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
67846         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
67847         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
67848         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
67849         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
67850
67851 2007-06-27  Bruno Haible  <bruno@clisp.org>
67852
67853         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
67854         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
67855
67856 2007-06-26  Karl Berry  <karl@gnu.org>
67857
67858         * MODULES.html.sh: remove xreadlink-with-size.
67859
67860 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67861
67862         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
67863         method that I hope also handles the double-include problem noted
67864         by Bruno Haible in
67865         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
67866
67867 2007-06-23  Bruno Haible  <bruno@clisp.org>
67868
67869         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67870         Don't let the 'mostlyclean' target fail if the last subdirectory could
67871         not be removed.
67872         Reported by Karl Berry.
67873
67874 2007-06-23  Bruno Haible  <bruno@clisp.org>
67875
67876         * gnulib-tool (echo): Add a speedier workaround for ksh.
67877         * tests/test-echo.sh: Likewise.
67878
67879 2007-06-23  Bruno Haible  <bruno@clisp.org>
67880
67881         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67882         * tests/test-echo.sh: Likewise.
67883
67884 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67885
67886         * gnulib-tool (IFS): Initialize early, so we don't set it to
67887         empty later.
67888         (self_abspathname): Rewrite algorithm to set it, reindent.
67889         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
67890         (func_create_megatestdir): Merge some sed scripts.
67891
67892 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67893
67894         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
67895         exposed by Sun Studio 11 cc on Solaris 8.
67896
67897 2007-06-22  Bruno Haible  <bruno@clisp.org>
67898
67899         * gnulib-tool (echo): Ensure the echo primitive does not interpret
67900         backslashes.
67901         * tests/test-echo.sh: New file.
67902
67903 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67904
67905         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
67906         simplify `sed_replace_build_aux' scripts, they are portable but
67907         echoing them with `echo' is not.
67908         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
67909
67910 2007-06-21  Karl Berry  <karl@gnu.org>
67911
67912         * config/srclist.txt: guess we can't handle the licenses via
67913         srclist at the moment.
67914
67915 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67916
67917         * MODULES.html.sh: Add include_next.
67918         * modules/include_next: New file.
67919
67920 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67921
67922         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
67923         INCLUDE_NEXT.
67924         (gl_CHECK_NEXT_HEADERS): New macro.
67925         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
67926         the obsolescent gl_ABSOLUTE_HEADER.
67927         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
67928         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
67929         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
67930         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
67931         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
67932         * m4/math_h.m4 (gl_MATH_H): Likewise.
67933         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
67934         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67935         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
67936         * m4/stdint.m4 (gl_STDINT_H): Likewise.
67937         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
67938         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
67939         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
67940         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67941         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
67942         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
67943         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
67944         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
67945         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
67946         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
67947         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
67948         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67949         * m4/inttypes.m4 (gl_INTTYPES_H): Define
67950         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
67951         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
67952         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
67953         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
67954         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
67955         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
67956         * lib/float_.h: Likewise.
67957         * lib/inttypes_.h: Likewise.
67958         * lib/math_.h: Likewise.
67959         * lib/search_.h: Likewise.
67960         * lib/signal_.h: Likewise.
67961         * lib/stdint_.h: Likewise.
67962         * lib/stdio_.h: Likewise.
67963         * lib/stdlib_.h: Likewise.
67964         * lib/string_.h: Likewise.
67965         * lib/sys_stat_.h: Likewise.
67966         * lib/sys_time_.h: Likewise.
67967         * lib/time_.h: Likewise.
67968         * lib/unistd_.h: Likewise.
67969         * lib/wchar_.h: Likewise.
67970         * lib/wctype_.h: Likewise.
67971         * lib/dirent_.h: Likewise.
67972         * lib/iconv_.h: Likewise.
67973         * lib/locale_.h: Likewise.
67974         * lib/netinet_in_.h: Likewise.
67975         * lib/sys_select_.h: Likewise.
67976         * lib/sys_socket_.h: Likewise.
67977         * lib/sysexits_.h: Likewise.
67978         * modules/fcntl (Depends-on): Depend on include_next, not
67979         absolute_header.
67980         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
67981         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
67982         * modules/fchdir: Likewise.
67983         * modules/float: Likewise.
67984         * modules/iconv_open: Likewise.
67985         * modules/inttypes: Likewise.
67986         * modules/locale: Likewise.
67987         * modules/math: Likewise.
67988         * modules/netinet_in: Likewise.
67989         * modules/search: Likewise.
67990         * modules/signal: Likewise.
67991         * modules/stdint: Likewise.
67992         * modules/stdio: Likewise.
67993         * modules/stdlib: Likewise.
67994         * modules/string: Likewise.
67995         * modules/sys_select: Likewise.
67996         * modules/sys_socket: Likewise.
67997         * modules/sys_stat: Likewise.
67998         * modules/sys_time: Likewise.
67999         * modules/sysexits: Likewise.
68000         * modules/time: Likewise.
68001         * modules/unistd: Likewise.
68002         * modules/wchar: Likewise.
68003         * modules/wctype: Likewise.
68004         * modules/sys_stat: Change maintainer to "all".
68005         * modules/unistd: Likewise.
68006
68007 2007-06-20  Karl Berry  <karl@gnu.org>
68008
68009         * config/srclist.txt: track www changes in license files.
68010
68011 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68012
68013         * build-aux/bootstrap: Remove stray dot.
68014         Make sure build_aux settings are honored when linking
68015         gnulib_extra_files.
68016
68017 2007-06-19  Eric Blake  <ebb9@byu.net>
68018
68019         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68020         Allow compilation on cygwin.
68021
68022 2007-06-19  Jim Meyering  <jim@meyering.net>
68023
68024         xreadlink-with-size: Remove module.  No longer used.
68025         Ex-callers now use xreadlink or mreadlink-with-size.
68026         * modules/xreadlink-with-size: Remove module.
68027         * lib/xreadlink-with-size.c: Remove file.
68028         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68029         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68030         just before the function definition *is* accurate.
68031
68032         Eliminate one way canonicalize_filename_mode could exit.
68033         * lib/canonicalize.c (canonicalize_filename_mode):
68034         Use mreadlink_with_size, not xreadlink_with_size.
68035
68036 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68037
68038         Detect porting problems to FreeBSD/arm, which has time_t wider than
68039         long int.  Original problem reported for GNU diff by Xin Li in
68040         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68041         * modules/getdate (Depends-on): Add intprops, verify.
68042         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68043         is an integer type no wider than long int.
68044
68045 2007-06-18  Jim Meyering  <jim@meyering.net>
68046
68047         New module: mreadlink-with-size.
68048         * MODULES.html.sh: Add mreadlink-with-size.
68049         * modules/mreadlink-with-size: New module
68050         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68051         not xreadlink-with-size.
68052         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68053
68054 2007-06-16  Bruno Haible  <bruno@clisp.org>
68055
68056         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68057         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68058         Reported by Gary V. Vaughan <gary@gnu.org>.
68059
68060 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68061
68062         Revamp lchown so that it lives in unistd.h where it belongs.
68063         * lib/lchown.h: Remove.
68064         * lib/dirchownmod.c: Don't include lib/lchown.h.
68065         * lib/fchownat.c: Likewise.
68066         * lib/openat.c: Likewise.
68067         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68068         does not follow symlinks.
68069         (EOPNOTSUPP): Define if not defined.
68070         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68071         is defined to 0.
68072         (lchown): New decl.
68073         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68074         Do not check for lchown decl.
68075         Set REPLACE_LCHOWN.
68076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68077         REPLACE_LCHOWN.
68078         * modules/chown: Make it clear it follows symlinks.
68079         * modules/lchown: Make it clear it doesn't follow symlinks.
68080         (Files): Remove lib/lchown.h
68081         (Depends-on): Add unistd.
68082         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68083         (Include): Include <unistd.h>, not "lchown.h".
68084         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68085         REPLACE_LCHOWN.
68086
68087 2007-06-15  Jim Meyering  <jim@meyering.net>
68088
68089         Change license (GPL to LGPL) of fsusage and dependents.
68090         * modules/fsusage (License): Change to LGPL.
68091         * modules/full-read (License): Likewise.
68092         * modules/full-write (License): Likewise.
68093         * modules/safe-read (License): Likewise.
68094         * modules/safe-write (License): Likewise.
68095
68096 2007-06-14  Ben Pfaff  <blp@gnu.org>
68097
68098         Missing part of allocsa -> malloca transition.
68099         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68100         gl_MALLOCA.
68101
68102 2007-06-12  Bruno Haible  <bruno@clisp.org>
68103
68104         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68105         to ia64, x86_64, i386.
68106         Reported by Eric Blake.
68107
68108 2007-06-12  Bruno Haible  <bruno@clisp.org>
68109
68110         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68111         cross-compiling to x86_64.
68112
68113 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68114
68115         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68116         glitch reported by Ralf Wildenhues in
68117         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68118
68119         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68120         Vin Shelton.
68121
68122 2007-06-11  Bruno Haible  <bruno@clisp.org>
68123
68124         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68125         replacement string.
68126         Reported by Eric Blake.
68127
68128 2007-06-10  Bruno Haible  <bruno@clisp.org>
68129
68130         Prepare vasnprintf code for use with Unicode strings.
68131         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68132         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68133         TYPE_U32_STRING.
68134         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68135         a_u32_string variants.
68136         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68137         * lib/printf-args.c: Don't include config.h and the specification
68138         header if PRINTF_FETCHARGS is already defined.
68139         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68140         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68141         TYPE_U16_STRING, TYPE_U32_STRING.
68142         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68143         u16_directive, u16_directives, u32_directive, u32_directives): New
68144         types.
68145         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68146         New declarations.
68147         * lib/printf-parse.c: Don't include config.h and the specification
68148         header if PRINTF_PARSE is already defined. Eliminate the set of
68149         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68150         them now. Include c-ctype.h.
68151         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68152         directive and CHAR_T_ONLY_ASCII.
68153         * lib/vasnprintf.c: Don't include config.h and the specification header
68154         if VASNPRINTF is already defined.
68155         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68156         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68157         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68158         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68159         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68160         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68161         code accordingly.
68162         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68163         pad_ourselves also in this case, with the 'c' and 's' directives, and
68164         with a different notion of "width".
68165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68166
68167 2007-06-10  Bruno Haible  <bruno@clisp.org>
68168
68169         * modules/unistr/u32-mbsnlen: New file.
68170         * lib/unistr/u32-mbsnlen.c: New file.
68171
68172         * modules/unistr/u16-mbsnlen: New file.
68173         * lib/unistr/u16-mbsnlen.c: New file.
68174
68175         * modules/unistr/u8-mbsnlen: New file.
68176         * lib/unistr/u8-mbsnlen.c: New file.
68177
68178         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68179         declarations.
68180
68181 2007-06-10  Bruno Haible  <bruno@clisp.org>
68182
68183         * lib/string_.h (mbsnlen): New declaration.
68184         * lib/mbsnlen.c: New file.
68185         * m4/mbsnlen.m4: New file.
68186         * modules/mbsnlen: New file.
68187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68188         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68189         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68190
68191 2007-06-10  Bruno Haible  <bruno@clisp.org>
68192
68193         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68194
68195 2007-06-10  Bruno Haible  <bruno@clisp.org>
68196
68197         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68198         * lib/mbuiter.h: Likewise.
68199
68200 2007-06-10  Bruno Haible  <bruno@clisp.org>
68201
68202         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68203         declaration.
68204
68205 2007-06-10  Karl Berry  <karl@gnu.org>
68206
68207         * config/srclist.txt: remove gettext entries, Bruno prefers
68208         to update individually.
68209
68210 2007-06-10  Bruno Haible  <bruno@clisp.org>
68211
68212         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68213         'maxlen'. Ensure only length + width bytes are allocated, not
68214         length + 1 + width.
68215
68216 2007-06-09  Bruno Haible  <bruno@clisp.org>
68217
68218         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68219         (CHAR_T): Remove macro.
68220         (VASNPRINTF): Update.
68221
68222 2007-06-09  Bruno Haible  <bruno@clisp.org>
68223
68224         * MODULES.html.sh (Unicode string functions): Add the new modules.
68225
68226         * modules/uniconv/u32-conv-to-enc: New file.
68227         * lib/uniconv/u32-conv-to-enc.c: New file.
68228         * modules/uniconv/u32-conv-to-enc-tests: New file.
68229         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68230
68231         * modules/uniconv/u16-conv-to-enc: New file.
68232         * lib/uniconv/u16-conv-to-enc.c: New file.
68233         * lib/uniconv/u-conv-to-enc.h: New file.
68234         * modules/uniconv/u16-conv-to-enc-tests: New file.
68235         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68236
68237         * modules/uniconv/u8-conv-to-enc: New file.
68238         * lib/uniconv/u8-conv-to-enc.c: New file.
68239         * modules/uniconv/u8-conv-to-enc-tests: New file.
68240         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68241
68242         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68243         u32_conv_to_encoding): New declarations.
68244
68245 2007-06-09  Bruno Haible  <bruno@clisp.org>
68246
68247         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68248
68249 2007-06-09  Bruno Haible  <bruno@clisp.org>
68250
68251         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68252         * modules/malloca: Renamed from modules/allocsa, updated.
68253         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68254         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68255         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68256         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68257         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68258         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68259         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68260         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68261         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68262         * modules/c-strcasestr (Depends-on): Update.
68263         * lib/c-strcasestr.c: Update.
68264         * modules/c-strstr (Depends-on): Update.
68265         * lib/c-strstr.c: Update.
68266         * modules/canonicalize-lgpl (Depends-on): Update.
68267         * lib/canonicalize-lgpl.c: Update.
68268         * modules/clean-temp (Depends-on): Update.
68269         * lib/clean-temp.c: Update.
68270         * modules/csharpcomp (Depends-on): Update.
68271         * lib/csharpcomp.c: Update.
68272         * modules/csharpexec (Depends-on): Update.
68273         * lib/csharpexec.c: Update.
68274         * modules/javacomp (Depends-on): Update.
68275         * lib/javacomp.c: Update.
68276         * modules/javaexec (Depends-on): Update.
68277         * lib/javaexec.c: Update.
68278         * modules/mbscasestr (Depends-on): Update.
68279         * lib/mbscasestr.c: Update.
68280         * modules/mbsstr (Depends-on): Update.
68281         * lib/mbsstr.c: Update.
68282         * modules/setenv (Depends-on): Update.
68283         * lib/setenv.c: Update.
68284         * modules/strcasestr (Depends-on): Update.
68285         * lib/strcasestr.c: Update.
68286         * modules/striconveha (Depends-on): Update.
68287         * lib/striconveha.c: Update.
68288         * modules/relocatable-prog-wrapper (Files): Update.
68289         * lib/relocwrapper.c: Update.
68290         * build-aux/install-reloc: Update.
68291         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68292
68293 2007-06-08  Bruno Haible  <bruno@clisp.org>
68294
68295         Port to uClibc.
68296         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68297         * lib/fpurge.c (fpurge): Likewise.
68298         * lib/freading.c (freading): Likewise.
68299         * lib/fseeko.c (rpl_fseeko): Likewise.
68300         * lib/fseterr.c (fseterr): Likewise.
68301         * lib/fwriting.c (fwriting): Likewise.
68302         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68303
68304 2007-06-08  Bruno Haible  <bruno@clisp.org>
68305
68306         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68307         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68308         * modules/gettext (Files): Add m4/intlmacosx.m4.
68309
68310 2007-06-07  Bruno Haible  <bruno@clisp.org>
68311
68312         * modules/localename-tests: New file.
68313         * tests/test-localename.c: New file.
68314
68315         New module 'localename'.
68316         * lib/localename.h: New file.
68317         * lib/localename.c: New file, from GNU gettext.
68318         * m4/localename.m4: New file.
68319         * modules/localename: New file.
68320
68321 2007-06-07  Bruno Haible  <bruno@clisp.org>
68322
68323         Work around the lack of <wchar.h> on some builds of uClibc.
68324         * doc/headers/wchar.texi: Update.
68325         * lib/wchar_.h: Include <wchar.h> only if it exists.
68326         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68327         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68328         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68329         doesn't exist.
68330         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68331         * modules/mbfile (Depends-on): Add wchar.
68332         * modules/mbiter (Depends-on): Likewise.
68333         * modules/mbuiter (Depends-on): Likewise.
68334         Reported by Simon Josefsson.
68335
68336 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68337
68338         Work around problem reported by Steven M. Schweda in
68339         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68340         Tru64 5.1B with the Compaq compiler environment installed declares
68341         an 'isblank' function but does not define it in the C library.
68342         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68343         * lib/regex_internal.h (isblank): Likewise.
68344         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68345         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68346
68347 2007-06-05  Bruno Haible  <bruno@clisp.org>
68348
68349         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68350         ia64.
68351         * modules/printf-safe: New file.
68352         * modules/fprintf-posix (Depends-on): Add printf-safe.
68353         * modules/printf-posix (Depends-on): Likewise.
68354         * modules/snprintf-posix (Depends-on): Likewise.
68355         * modules/sprintf-posix (Depends-on): Likewise.
68356         * modules/vasnprintf-posix (Depends-on): Likewise.
68357         * modules/vasprintf-posix (Depends-on): Likewise.
68358         * modules/vfprintf-posix (Depends-on): Likewise.
68359         * modules/vprintf-posix (Depends-on): Likewise.
68360         * modules/vsnprintf-posix (Depends-on): Likewise.
68361         * modules/vsprintf-posix (Depends-on): Likewise.
68362         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68363         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68364         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68365         "no" on i386, x86_64, ia64.
68366         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68367         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68368         on i386, x86_64, ia64.
68369         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68370         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68371         on i386, x86_64, ia64.
68372         * tests/test-vasnprintf-posix.c: Include float.h.
68373         (LDBL80_WORDS): New macro.
68374         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68375         on i386, x86_64, ia64.
68376         * tests/test-vasprintf-posix.c: Include float.h.
68377         (LDBL80_WORDS): New macro.
68378         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68379         on i386, x86_64, ia64.
68380         * tests/test-snprintf-posix.c: Include float.h.
68381         * tests/test-sprintf-posix.c: Likewise.
68382         * tests/test-vsnprintf-posix.c: Likewise.
68383         * tests/test-vsprintf-posix.c: Likewise.
68384
68385 2007-06-05  Bruno Haible  <bruno@clisp.org>
68386
68387         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68388         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68389         non-IEEE numbers on i386, x86_64, ia64.
68390         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68391         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68392         * tests/test-isnanl.h: Include float.h.
68393         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68394
68395 2007-06-05  Bruno Haible  <bruno@clisp.org>
68396
68397         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68398         also the %a / %A. Handle the %a / %A code before this extra handling.
68399
68400 2007-06-05  Bruno Haible  <bruno@clisp.org>
68401
68402         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68403         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68404
68405 2007-06-05  Bruno Haible  <bruno@clisp.org>
68406
68407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68408         typo in variable name.
68409
68410 2007-06-05  Eric Blake  <ebb9@byu.net>
68411
68412         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68413         Reported by Simon Josefsson.
68414
68415 2007-06-04  Bruno Haible  <bruno@clisp.org>
68416
68417         Avoid test failures on some PowerPC platforms.
68418         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68419         Define differently for PowerPC.
68420         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68421         Reported by Gary V. Vaughan <gary@gnu.org>.
68422
68423 2007-06-02  Bruno Haible  <bruno@clisp.org>
68424
68425         Fix test-stdint failure on FreeBSD/ia64.
68426         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68427         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68428         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68429         * doc/headers/stdint.texi: Update.
68430
68431 2007-06-01  Bruno Haible  <bruno@clisp.org>
68432
68433         * tests/test-binary-io.c (main): Pass a third argument to open().
68434         Reported by Gary V. Vaughan <gary@gnu.org>.
68435
68436 2007-06-01  Bruno Haible  <bruno@clisp.org>
68437
68438         * doc/functions/frexpl.texi: Update for mingw.
68439
68440 2007-06-01  Bruno Haible  <bruno@clisp.org>
68441
68442         * tests/test-lseek.c (main): Disable test of errno for invalid third
68443         argument.
68444         * doc/functions/lseek.texi: Update.
68445         Reported by Gary V. Vaughan <gary@gnu.org>.
68446
68447 2007-05-28  Bruno Haible  <bruno@clisp.org>
68448
68449         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68450
68451 2007-05-31  Eric Blake  <ebb9@byu.net>
68452
68453         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68454         cross compiling.
68455
68456 2007-05-30  Eric Blake  <ebb9@byu.net>
68457         and Bruno Haible  <bruno@clisp.org>
68458
68459         Work around mingw test failures exposed by m4-1.4.9b.
68460         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68461         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68462         moment.
68463
68464 2007-05-30  Bruno Haible  <bruno@clisp.org>
68465
68466         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68467         assuming that they are closed. Needed on HP-UX 11.
68468
68469 2007-05-29  Bruno Haible  <bruno@clisp.org>
68470
68471         Fix a problem with #include_next.
68472         * lib/dirent_.h: Split the double-inclusion guard.
68473         * lib/fcntl_.h: Likewise.
68474         * lib/float_.h: Likewise.
68475         * lib/iconv_.h: Likewise.
68476         * lib/inttypes_.h: Likewise.
68477         * lib/locale_.h: Likewise.
68478         * lib/math_.h: Likewise.
68479         * lib/netinet_in_.h: Likewise.
68480         * lib/search_.h: Likewise.
68481         * lib/signal_.h: Likewise.
68482         * lib/stdint_.h: Likewise.
68483         * lib/stdio_.h: Likewise.
68484         * lib/stdlib_.h: Likewise.
68485         * lib/string_.h: Likewise.
68486         * lib/sys_select_.h: Likewise.
68487         * lib/sys_socket_.h: Likewise.
68488         * lib/sys_stat_.h: Likewise.
68489         * lib/sys_time_.h: Likewise.
68490         * lib/sysexits_.h: Likewise.
68491         * lib/time_.h: Likewise.
68492         * lib/unistd_.h: Likewise.
68493         * lib/wchar_.h: Likewise.
68494         * lib/wctype_.h: Likewise.
68495
68496 2007-05-29  Bruno Haible  <bruno@clisp.org>
68497
68498         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68499         for the moment.
68500
68501 2007-05-29  Bruno Haible  <bruno@clisp.org>
68502
68503         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68504         invocation.
68505         Reported by Eric Blake.
68506
68507 2007-05-29  Bruno Haible  <bruno@clisp.org>
68508
68509         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68510         compiling case.
68511
68512 2007-05-29  Eric Blake  <ebb9@byu.net>
68513             Bruno Haible  <bruno@clisp.org>
68514
68515         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68516         cross compiles.
68517
68518 2007-05-28  Eric Blake  <ebb9@byu.net>
68519
68520         * modules/closein-tests (test_closein_LDADD): Support test on
68521         cygwin with libtool.
68522
68523 2007-05-28  Bruno Haible  <bruno@clisp.org>
68524
68525         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68526         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68527         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68528         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68529         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68530         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68531         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68532         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68533         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68534
68535 2007-05-28  Eric Blake  <ebb9@byu.net>
68536
68537         Unconditionally include <config.h> in unit tests.
68538         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68539         * tests/test-allocsa.c, tests/test-arcfour.c,
68540         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68541         tests/test-array_list.c, tests/test-array_oset.c,
68542         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68543         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68544         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68545         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68546         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68547         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68548         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68549         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68550         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68551         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68552         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68553         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68554         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68555         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68556         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68557         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68558         test-md5.c, test-memmem.c, test-printf-posix.c,
68559         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68560         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68561         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68562         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68563         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68564         test-vasnprintf-posix2.c, test-vasnprintf.c,
68565         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68566         test-vfprintf-posix.c, test-vprintf-posix.c,
68567         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68568         test-xvasprintf.c: Likewise.
68569
68570 2007-05-28  Bruno Haible  <bruno@clisp.org>
68571
68572         * gnulib-tool (func_import): Remember the --with-tests command-line
68573         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68574         Reported by Eric Blake.
68575
68576 2007-05-28  Bruno Haible  <bruno@clisp.org>
68577
68578         * modules/ftell-tests: New file.
68579         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68580         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68581
68582         * lib/ftell.c: New file.
68583         * modules/ftell: New file.
68584         * m4/ftell.m4: New file.
68585         * doc/functions/ftell.texi: Update.
68586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68587         REPLACE_FTELL.
68588         * lib/stdio_.h (rpl_ftell): New declaration.
68589         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68590         REPLACE_FTELL.
68591
68592 2007-05-28  Eric Blake  <ebb9@byu.net>
68593
68594         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68595
68596 2007-05-28  Bruno Haible  <bruno@clisp.org>
68597
68598         * modules/fseek-tests: New file.
68599         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68600         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68601
68602         * lib/fseek.c: New file.
68603         * modules/fseek: New file.
68604         * m4/fseek.m4: New file.
68605         * doc/functions/fseek.texi: Update.
68606         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68607         REPLACE_FSEEK.
68608         * lib/stdio_.h (rpl_fseek): New declaration.
68609         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68610         REPLACE_FSEEK.
68611
68612 2007-05-28  Bruno Haible  <bruno@clisp.org>
68613
68614         * lib/stdio_.h (fflush): More comments.
68615
68616 2007-05-28  Bruno Haible  <bruno@clisp.org>
68617
68618         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68619         runtime test.
68620
68621 2007-05-28  Eric Blake  <ebb9@byu.net>
68622
68623         Improve lseek module.
68624         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68625         * lib/unistd_.h (lseek): Scale back link warning message.
68626         * tests/test-lseek.c: Beef up test.
68627         * tests/test-lseek.sh: Exercise more facets of lseek.
68628         Reported by Bruno Haible.
68629
68630 2007-05-28  Bruno Haible  <bruno@clisp.org>
68631
68632         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68633         to define.
68634
68635 2007-05-27  Bruno Haible  <bruno@clisp.org>
68636
68637         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68638
68639 2007-05-27  Bruno Haible  <bruno@clisp.org>
68640
68641         * modules/openmp: New file.
68642         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68643         Noah Misch.
68644
68645 2007-05-26  Bruno Haible  <bruno@clisp.org>
68646
68647         * modules/chdir-long (Depends-on): Add fchdir.
68648         * modules/chdir-safer (Depends-on): Likewise.
68649         * modules/fts (Depends-on): Likewise.
68650         * modules/fts-lgpl (Depends-on): Likewise.
68651         * modules/openat (Depends-on): Likewise.
68652         * modules/savewd (Depends-on): Likewise.
68653
68654 2007-05-24  Eric Blake  <ebb9@byu.net>
68655
68656         Fix lseek on mingw.
68657         * modules/lseek: New module.
68658         * m4/lseek.m4: New file.
68659         * lib/lseek.c: New file.
68660         * modules/lseek-tests: New file.
68661         * tests/test-lseek.c: New file.
68662         * tests/test-lseek.sh: New file.
68663         * MODULES.html.sh: Document lseek module.
68664         * modules/fflush (Depends-on): Add lseek, fseeko.
68665         * modules/fseeko (Depends-on): Likewise.
68666         * modules/ftello (Depends-on): Likewise.
68667         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68668         broken.
68669         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68670         broken.
68671         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68672         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68673         * lib/ftello.c (rpl_ftello): Likewise.
68674         * tests/test-fseeko.c (main): Test this.
68675         * tests/test-fseeko.sh: Likewise.
68676         * tests/test-ftello.c (main): Likewise.
68677         * tests/test-ftello.sh: Likewise.
68678         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68679         implies replacing fseek.
68680         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68681         HAVE_FTELLO.
68682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68683         * modules/unistd (Makefile.am): Likewise.
68684         * lib/unistd_.h (lseek): Declare a replacement.
68685         * doc/functions/lseek.texi (lseek): Document this fix.
68686         * doc/functions/fseek.texi (fseek): Likewise.
68687         * doc/functions/ftell.texi (ftell): Likewise.
68688
68689 2007-05-24  Bruno Haible  <bruno@clisp.org>
68690
68691         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68692         in the printed representation of a NaN.
68693         * tests/test-vasprintf-posix.c (test_function): Likewise.
68694         * tests/test-snprintf-posix.h (test_function): Likewise.
68695         * tests/test-sprintf-posix.h (test_function): Likewise.
68696         Reported by Eric Blake.
68697
68698 2007-05-23  Eric Blake  <ebb9@byu.net>
68699
68700         Fix fseeko/ftello on cygwin 1.5.24.
68701         * doc/functions/fseeko.texi (fseeko): Document the fix.
68702         * doc/functions/ftello.texi (ftello): Document the fix.
68703         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68704         * doc/functions/stdout.text (stdout): New file.
68705         * doc/functions/stderr.text (stderr): New file.
68706         * doc/gnulib.texi (Function Substitutes): Use new files.
68707         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68708         prior to 1.7.0.
68709         * tests/test-ftello.c (main): Likewise for ftello.
68710         * tests/test-fseeko.sh: New file.
68711         * tests/test-ftello.sh: New file.
68712         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
68713         with seekable stdin.
68714         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
68715         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
68716         (gl_REPLACE_FSEEKO): New macro.
68717         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
68718         * modules/fseeko (Files): Distribute fseeko.c.
68719         * modules/ftello (Files): Distribute ftello.c.
68720         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
68721         mode.
68722         * lib/ftello.c (rpl_ftello): New file.
68723         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
68724         fseeko, ftello.
68725         (gl_STDIN_LARGE_OFFSET): New macro.
68726         * modules/stdio (Makefile.am): Perform the replacement.
68727         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
68728
68729 2007-05-23  Bruno Haible  <bruno@clisp.org>
68730
68731         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
68732         GNULIB_POSIXCHECK is defined.
68733
68734 2007-05-21  Bruno Haible  <bruno@clisp.org>
68735
68736         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
68737         Check also the output for NaN arguments. When cross-compiling, guess
68738         no on IRIX.
68739         * lib/vasnprintf.c: Update comments.
68740         * tests/test-vasnprintf-posix.c (strisnan): New function.
68741         (test_function): Use it.
68742         * tests/test-vasprintf-posix.c (strisnan): New function.
68743         (test_function): Use it.
68744         * tests/test-snprintf-posix.h (strisnan): New function.
68745         (test_function): Use it.
68746         * tests/test-sprintf-posix.h (strisnan): New function.
68747         (test_function): Use it.
68748         Reported by Eric Blake.
68749
68750 2007-05-20  Bruno Haible  <bruno@clisp.org>
68751
68752         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
68753         numbers that fails on BeOS.
68754         * doc/functions/frexpl.texi: Update.
68755
68756 2007-05-20  Jim Meyering  <jim@meyering.net>
68757
68758         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
68759         forced upon us by glibc-2.6.
68760
68761 2007-05-20  Bruno Haible  <bruno@clisp.org>
68762
68763         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
68764         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
68765         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
68766         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
68767         NEED_PRINTF_INFINITE.
68768         (is_infinitel): New function.
68769         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
68770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
68771         gl_PREREQ_VASNPRINTF_INFINITE.
68772         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
68773         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68774         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
68775         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
68776         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
68777         gl_PREREQ_VASNPRINTF_INFINITE.
68778         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68779         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68780         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68781         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68782         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68783         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68784         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68785         * doc/functions/fprintf.texi: Update.
68786         * doc/functions/printf.texi: Update.
68787         * doc/functions/snprintf.texi: Update.
68788         * doc/functions/sprintf.texi: Update.
68789         * doc/functions/vfprintf.texi: Update.
68790         * doc/functions/vprintf.texi: Update.
68791         * doc/functions/vsnprintf.texi: Update.
68792         * doc/functions/vsprintf.texi: Update.
68793
68794 2007-05-20  Bruno Haible  <bruno@clisp.org>
68795
68796         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
68797         was not found in libc.
68798         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
68799
68800 2007-05-20  Bruno Haible  <bruno@clisp.org>
68801
68802         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68803         printed as "-nan" instead of "nan".
68804         * tests/test-vasprintf-posix.c (test_function): Likewise.
68805         * tests/test-snprintf-posix.h (test_function): Likewise.
68806         * tests/test-sprintf-posix.h (test_function): Likewise.
68807         Needed for HP-UX 11.
68808
68809 2007-05-20  Jim Meyering  <jim@meyering.net>
68810
68811         Fix buggy test for the fchownat-deref bug.
68812         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
68813         symlink required for the run-test.  Without it, this test would
68814         always declare that fchownat doesn't work, and client code would
68815         unnecessarily use the replacement function with fixed libc.
68816         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
68817         Reported by Greg Schafer.
68818
68819 2007-05-19  Bruno Haible  <bruno@clisp.org>
68820
68821         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
68822         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
68823         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
68824         Needed for IRIX 6.5 and Solaris 2.5.1.
68825
68826 2007-05-19  Bruno Haible  <bruno@clisp.org>
68827
68828         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
68829         (test_function): Skip tests involving -0.0 on platforms where
68830         -0.0 = 0.0.
68831         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
68832         (test_function): Skip tests involving -0.0 on platforms where
68833         -0.0 = 0.0.
68834         * tests/test-snprintf-posix.h (have_minus_zero): New function.
68835         (test_function): Skip tests involving -0.0 on platforms where
68836         -0.0 = 0.0.
68837         * tests/test-sprintf-posix.h (have_minus_zero): New function.
68838         (test_function): Skip tests involving -0.0 on platforms where
68839         -0.0 = 0.0.
68840         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
68841         tests.
68842         * tests/test-printf-posix.h (test_function): Likewise.
68843         * tests/test-printf-posix.output: Remove all -0.0 related results.
68844         Needed for IRIX 6.5.
68845
68846 2007-05-19  Bruno Haible  <bruno@clisp.org>
68847
68848         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68849         printed as "nan0x7fffffff" instead of "nan".
68850         * tests/test-vasprintf-posix.c (test_function): Likewise.
68851         * tests/test-snprintf-posix.h (test_function): Likewise.
68852         * tests/test-sprintf-posix.h (test_function): Likewise.
68853         * tests/test-fprintf-posix.h (NaN): Remove macro.
68854         (test_function): Remove all NaN related tests.
68855         * tests/test-printf-posix.h (NaN): Remove macro.
68856         (test_function): Remove all NaN related tests.
68857         * tests/test-printf-posix.output: Remove all NaN related results.
68858         Needed for IRIX 6.5.
68859
68860 2007-05-19  Bruno Haible  <bruno@clisp.org>
68861
68862         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
68863         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
68864
68865 2007-05-19  Bruno Haible  <bruno@clisp.org>
68866
68867         * lib/float_.h: New file.
68868         * m4/float_h.m4: New file.
68869         * modules/float: New file.
68870         * modules/isnanl (Dependencies): Add float.
68871         * modules/isnanl-nolibm (Dependencies): Likewise.
68872         * modules/mathl (Dependencies): Likewise.
68873         * modules/printf-frexpl (Dependencies): Likewise.
68874         * modules/signbit (Dependencies): Likewise.
68875         * modules/vasnprintf (Dependencies): Likewise.
68876         * doc/headers/float.texi: Update.
68877
68878 2007-05-19  Jim Meyering  <jim@meyering.net>
68879
68880         * lib/utimens.c (gl_futimens): Rename from futimens,
68881         now that glibc-2.6 declares futimens.
68882         * lib/utimens.h: Likewise.
68883
68884 2007-05-19  Bruno Haible  <bruno@clisp.org>
68885
68886         Avoid test failures on mingw.
68887         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
68888         * tests/test-printf-posix.sh: Likewise.
68889         * tests/test-vfprintf-posix.sh: Likewise.
68890         * tests/test-vprintf-posix.sh: Likewise.
68891
68892 2007-05-19  Bruno Haible  <bruno@clisp.org>
68893
68894         Fix *printf result for NaN, Inf, -0.0 on mingw.
68895         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
68896         * lib/vasnprintf.c: Include math.h and isnan.h.
68897         (is_infinite_or_zero): New function.
68898         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
68899         values in the %f, %F, %e, %E, %g, %G directives.
68900         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
68901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68902         gl_PRINTF_INFINITE and test its result. Invoke
68903         gl_PREREQ_VASNPRINTF_INFINITE.
68904         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68905         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68906         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68907         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68908         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68909         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68910         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68911         * doc/functions/fprintf.texi: Update.
68912         * doc/functions/printf.texi: Update.
68913         * doc/functions/snprintf.texi: Update.
68914         * doc/functions/sprintf.texi: Update.
68915         * doc/functions/vfprintf.texi: Update.
68916         * doc/functions/vprintf.texi: Update.
68917         * doc/functions/vsnprintf.texi: Update.
68918         * doc/functions/vsprintf.texi: Update.
68919
68920 2007-05-19  Bruno Haible  <bruno@clisp.org>
68921
68922         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
68923         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
68924         Instead of multiplying with 10^k, set extra_zeroes to k.
68925         (scale10_round_long_double): Remove function.
68926
68927 2007-05-18  Bruno Haible  <bruno@clisp.org>
68928
68929         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
68930         introduced on 2007-05-06.
68931
68932 2007-05-18  Bruno Haible  <bruno@clisp.org>
68933
68934         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
68935         %g directives.
68936         * tests/test-vasprintf-posix.c (test_function): Likewise.
68937         * tests/test-snprintf-posix.h (test_function): Likewise.
68938         * tests/test-sprintf-posix.h (test_function): Likewise.
68939
68940 2007-05-18  Bruno Haible  <bruno@clisp.org>
68941
68942         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
68943         (strmatch): New function.
68944         (test_function): Test the %f directive on numbers of various exponents.
68945         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
68946         (strmatch): New function.
68947         (test_function): Test the %f directive on numbers of various exponents.
68948         * tests/test-snprintf-posix.h (strmatch): New function.
68949         (test_function): Test the %f directive on numbers of various exponents.
68950         * tests/test-sprintf-posix.h (strmatch): New function.
68951         (test_function): Test the %f directive on numbers of various exponents.
68952         * tests/test-snprintf-posix.c (SIZEOF): New macro.
68953         * tests/test-sprintf-posix.c (SIZEOF): New macro.
68954         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
68955         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
68956
68957 2007-05-18  Bruno Haible  <bruno@clisp.org>
68958
68959         Add support for 'long double' number output.
68960         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
68961         * lib/vasnprintf.c: Include math.h and float+.h.
68962         (mp_limb_t): New type.
68963         (GMP_LIMB_BITS): New macro.
68964         (mp_twolimb_t): New type.
68965         (GMP_TWOLIMB_BITS): New macro.
68966         (mpn_t): New type.
68967         (multiply, divide, convert_to_decimal, decode_long_double,
68968         scale10_round_long_double, scale10_round_decimal_long_double,
68969         floorlog10l): New functions.
68970         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
68971         for the %f, %F, %e, %E, %g, %G directives.
68972         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
68973         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68974         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
68975         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
68976         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68977         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68978         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68979         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68980         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68981         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68982         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68983         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
68984         * modules/snprintf-posix (Depends-on): Likewise.
68985         * modules/sprintf-posix (Depends-on): Likewise.
68986         * modules/vasnprintf-posix (Depends-on): Likewise.
68987         * modules/vasprintf-posix (Depends-on): Likewise.
68988         * modules/vfprintf-posix (Depends-on): Likewise.
68989         * modules/vsnprintf-posix (Depends-on): Likewise.
68990         * modules/vsprintf-posix (Depends-on): Likewise.
68991         * modules/vasnprintf (Files): Add lib/float+.h.
68992         * doc/functions/fprintf.texi: Update.
68993         * doc/functions/printf.texi: Update.
68994         * doc/functions/snprintf.texi: Update.
68995         * doc/functions/sprintf.texi: Update.
68996         * doc/functions/vfprintf.texi: Update.
68997         * doc/functions/vprintf.texi: Update.
68998         * doc/functions/vsnprintf.texi: Update.
68999         * doc/functions/vsprintf.texi: Update.
69000
69001 2007-05-18  Bruno Haible  <bruno@clisp.org>
69002
69003         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69004
69005 2007-05-18  Bruno Haible  <bruno@clisp.org>
69006
69007         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69008         for printing 64-bit integers. Needed for mingw.
69009
69010 2007-05-18  Bruno Haible  <bruno@clisp.org>
69011
69012         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69013         gl_FUNC_FREXPL_WORKS.
69014         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69015
69016 2007-05-18  Bruno Haible  <bruno@clisp.org>
69017
69018         * modules/frexpl-nolibm-tests: New file.
69019
69020         * modules/frexpl-nolibm: New file.
69021         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69022
69023 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69024
69025         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69026         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69027         GCC 4.2, which otherwise issues a lot of warnings.
69028         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69029         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69030         Likewise.
69031         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69032         * modules/iconv_open (iconv.h): Likewise.
69033         * modules/locale (locale.h): Likewise.
69034         * modules/netinet_in (netinet/in.h): Likewise.
69035         * modules/sys_select (sys_select.h): Likewise.
69036         * modules/sys_socket (sys/socket.h): Likewise.
69037         * modules/sys_stat (sys/stat.h): Likewise.
69038         * modules/sysexits (sysexits.h): Likewise.
69039         * modules/unistd (unistd.h): Likewise.
69040
69041 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69042
69043         * modules/closein-tests (Makefile.am): Distribute
69044         `test-closein.sh'.
69045
69046 2007-05-17  Bruno Haible  <bruno@clisp.org>
69047
69048         * tests/test-printf-posix.output: Renamed from
69049         tests/test-fprintf-posix.out.
69050         * modules/fprintf-posix-tests: Update.
69051         * modules/printf-posix-tests: Update.
69052         * modules/vfprintf-posix-tests: Update.
69053         * modules/vprintf-posix-tests: Update.
69054         * tests/test-fprintf-posix.sh: Update.
69055         * tests/test-printf-posix.sh: Update.
69056         * tests/test-vfprintf-posix.sh: Update.
69057         * tests/test-vprintf-posix.sh: Update.
69058         Reported by Ralf Wildenhues.
69059
69060 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69061
69062         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69063         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69064         GCC 4.2, which otherwise issues a lot of warnings.
69065         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69066         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69067         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69068         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69069         it should no longer be needed.
69070         * lib/string_.h: Likewise.
69071         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69072         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69073         * modules/inttypes (inttypes.h): Likewise.
69074         * modules/math (math.h): Likewise.
69075         * modules/search (search.h): Likewise.
69076         * modules/signal (signal.h): Likewise.
69077         * modules/stdint (stdint.h): Likewise.
69078         * modules/stdio (stdio.h): Likewise.
69079         * modules/stdlib (stdlib.h): Likewise.
69080         * modules/string (string.h): Likewise.
69081         * modules/sys_time (sys/time.h): Likewise.
69082         * modules/time (time.h): Likewise.
69083         * modules/wchar (wchar.h): Likewise.
69084         * modules/wctype (wtype.h): Likewise.
69085
69086 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69087
69088         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69089
69090 2007-05-13  Bruno Haible  <bruno@clisp.org>
69091
69092         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69093         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69094         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69095         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69096         (gl_PREREQ_STRTOK_R): Don't require it here.
69097
69098 2007-05-13  Bruno Haible  <bruno@clisp.org>
69099
69100         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69101         when used in C++ mode.
69102
69103 2007-05-12  Bruno Haible  <bruno@clisp.org>
69104
69105         * lib/linebuffer.h: Tweak doc.
69106         * lib/linebuffer.c: Likewise.
69107
69108 2007-05-12  James Youngman  <jay@gnu.org>
69109
69110         * lib/linebuffer.c (readlinebuffer_delim): New function,
69111         like readlinebuffer, but use a caller-specified delimiter.
69112         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69113         as the delimiter.
69114         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69115
69116 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69117
69118         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69119         * modules/openat (Files): Remove openat-die.c.
69120         (Depends-on): Add openat-die.
69121         * modules/openat-die: New module.
69122
69123 2007-05-06  Bruno Haible  <bruno@clisp.org>
69124
69125         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69126         Update with info about Cygwin.
69127         * doc/functions/fprintf.texi: Update.
69128         * doc/functions/printf.texi: Update.
69129         * doc/functions/snprintf.texi: Update.
69130         * doc/functions/sprintf.texi: Update.
69131         * doc/functions/vfprintf.texi: Update.
69132         * doc/functions/vprintf.texi: Update.
69133         * doc/functions/vsnprintf.texi: Update.
69134         * doc/functions/vsprintf.texi: Update.
69135         Reported by Eric Blake.
69136
69137 2007-05-06  Bruno Haible  <bruno@clisp.org>
69138
69139         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69140         padding ourselves for the floating-point directives.
69141         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69142         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69143         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69144         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69145         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69146         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69147         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69148         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69149         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69150         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69151         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69152         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69153         * tests/test-snprintf-posix.h (test_function): Also check the width
69154         and some flags in the %f directive.
69155         * tests/test-sprintf-posix.h (test_function): Likewise.
69156         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69157         * tests/test-vasprintf-posix.c (test_function): Likewise.
69158         * doc/functions/fprintf.texi: Update.
69159         * doc/functions/printf.texi: Update.
69160         * doc/functions/snprintf.texi: Update.
69161         * doc/functions/sprintf.texi: Update.
69162         * doc/functions/vfprintf.texi: Update.
69163         * doc/functions/vprintf.texi: Update.
69164         * doc/functions/vsnprintf.texi: Update.
69165         * doc/functions/vsprintf.texi: Update.
69166
69167 2007-05-06  Bruno Haible  <bruno@clisp.org>
69168
69169         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69170         pass the ' flag character to sprintf or snprintf.
69171         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69173         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69174         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69175         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69176         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69177         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69178         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69179         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69180         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69181         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69182         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69183         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69184         flag.
69185         * tests/test-sprintf-posix.h (test_function): Likewise.
69186         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69187         * tests/test-vasprintf-posix.c (test_function): Likewise.
69188         * doc/functions/fprintf.texi: Update.
69189         * doc/functions/printf.texi: Update.
69190         * doc/functions/snprintf.texi: Update.
69191         * doc/functions/sprintf.texi: Update.
69192         * doc/functions/vfprintf.texi: Update.
69193         * doc/functions/vprintf.texi: Update.
69194         * doc/functions/vsnprintf.texi: Update.
69195         * doc/functions/vsprintf.texi: Update.
69196
69197 2007-05-01  Bruno Haible  <bruno@clisp.org>
69198
69199         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69200
69201 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69202
69203         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69204         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69205
69206 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69207
69208         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69209         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69210         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69211
69212 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69213
69214         * lib/argp-help.c (struct hol_entry): New member `ord'.
69215         (HOL_ENTRY_PTRCMP): Use ord for comparison
69216         (hol_sort): Initialize ord.
69217
69218 2007-05-01  Bruno Haible  <bruno@clisp.org>
69219
69220         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69221         Reported by Eric Blake.
69222         * doc/gnulib.texi (Function Substitutes): Update.
69223
69224 2007-05-01  Bruno Haible  <bruno@clisp.org>
69225
69226         * doc/functions.texi: Remove file, now redundant through
69227         doc/functions/*.texi.
69228
69229 2007-05-01  Bruno Haible  <bruno@clisp.org>
69230
69231         * modules/argp (Depends-on): Add sleep.
69232
69233 2007-05-01  Bruno Haible  <bruno@clisp.org>
69234
69235         * modules/sleep-tests: New file.
69236         * tests/test-sleep.c: New file.
69237
69238         * modules/sleep: New file.
69239         * lib/sleep.c: New file.
69240         * m4/sleep.m4: New file.
69241         * lib/unistd_.h (sleep): New declaration.
69242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69243         HAVE_SLEEP.
69244         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69245         * doc/functions/sleep.texi: Document the sleep module.
69246
69247 2007-05-01  Bruno Haible  <bruno@clisp.org>
69248
69249         * lib/sigprocmask.h: Remove file.
69250         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69251         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69252         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69253         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69254         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69255         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69256         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69257         HAVE_SIGSET_T as a shell variable.
69258         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69259         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69260         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69261         (Depends-on): Add signal. Remove verify.
69262         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69263         (Include): Mention <signal.h> instead of sigprocmask.h.
69264         * NEWS: Mention the change.
69265         * lib/fatal-signal.c: Don't include sigprocmask.h.
69266
69267 2007-05-01  Bruno Haible  <bruno@clisp.org>
69268
69269         * modules/signal: New file.
69270         * lib/signal_.h: New file.
69271         * m4/signal_h.m4: New file.
69272
69273 2007-05-01  Bruno Haible  <bruno@clisp.org>
69274
69275         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69276         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69277         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69278         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69279
69280 2007-05-01  Bruno Haible  <bruno@clisp.org>
69281
69282         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69283         configure time.
69284         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69285         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69286         * modules/sys_stat (Makefile.am): Substitute their values into
69287         sys/stat.h.
69288
69289 2007-05-01  Bruno Haible  <bruno@clisp.org>
69290
69291         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69292         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69293         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69294
69295 2007-05-01  Bruno Haible  <bruno@clisp.org>
69296
69297         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69298         'assert' module here.
69299
69300 2007-05-01  Bruno Haible  <bruno@clisp.org>
69301
69302         * doc/functions/*.texi: New files.
69303         * doc/functions/google-ranking.txt: New file.
69304         * doc/gnulib.texi (Function Substitutes): New chapter.
69305         (ctime, inet_ntoa): Remove sections.
69306         * doc/ctime.texi: Remove file.
69307         * doc/inet_ntoa.texi: Remove file.
69308         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69309         dependencies.
69310         (%.info): New rule, specifying a --reference-limit.
69311
69312 2007-05-01  Bruno Haible  <bruno@clisp.org>
69313
69314         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69315
69316 2007-05-01  Bruno Haible  <bruno@clisp.org>
69317
69318         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69319         the portability of 'mkdir' to mingw systems.
69320
69321 2007-05-01  Bruno Haible  <bruno@clisp.org>
69322
69323         * doc/headers/google-ranking.txt: New file.
69324
69325 2007-04-30  Eric Blake  <ebb9@byu.net>
69326
69327         Prefer fseeko to fseek.
69328         * modules/getpass (Depends-on): Add fseeko.
69329         * lib/getpass.c (getpass): Use fseeko, not fseek.
69330
69331 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69332
69333         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69334         assumes the sorting is stable, while most qsort implementations
69335         are not.  Use argument addresses to ensure they never compare as
69336         equal.
69337
69338         * tests/test-argp-2.sh (usage-indent test): Fix output
69339         (func_compare): Restore diff options
69340         * tests/test-argp.c: Restore #include "progname.h"
69341
69342 2007-04-29  Bruno Haible  <bruno@clisp.org>
69343
69344         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69345         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69346         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69347         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69348         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69349         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69350         (TESTS, check_PROGRAMS): Add test-snprintf.
69351         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69352         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69353         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69354         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69355         assertions that fail on HP-UX, OSF/1, or IRIX.
69356         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69357
69358 2007-04-29  Bruno Haible  <bruno@clisp.org>
69359
69360         * MODULES.html.sh (posix_functions): Remove 'contents'.
69361
69362 2007-04-29  Karl Berry  <karl@gnu.org>
69363
69364         * config/srclist.txt (gendocs_template_min): new entry.
69365
69366 2007-04-29  Bruno Haible  <bruno@clisp.org>
69367
69368         Work around fpurge bug on BSD systems.
69369         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69370         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69371         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69372         fpurge to rpl_fpurge if the system already has this function.
69373         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69374         the case where the system already has this function. Correct invariants
69375         on BSD systems.
69376         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69377         BSD systems.
69378
69379 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69380
69381         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69382         proposed by Sven Verdoolaege.
69383
69384         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69385         options.
69386         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69387         (usage and help tests): Update
69388
69389 2007-04-29  Bruno Haible  <bruno@clisp.org>
69390
69391         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69392         Print more information in case of failure. Disable a test on BeOS.
69393
69394 2007-04-29  Bruno Haible  <bruno@clisp.org>
69395
69396         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69397         This helps debugging on systems on which no gdb is available.
69398
69399 2007-04-29  Bruno Haible  <bruno@clisp.org>
69400
69401         * lib/freading.h: Improve comments.
69402         * lib/fwriting.h: Likewise.
69403         * tests/test-freading.c (main): Don't check freading immediately after
69404         repositioning. Needed for glibc.
69405
69406 2007-04-29  Bruno Haible  <bruno@clisp.org>
69407
69408         * lib/freading.c (freading): Trivial simplification.
69409
69410 2007-04-28  Bruno Haible  <bruno@clisp.org>
69411
69412         * tests/test-fwriting.c (main): Also test the interaction between
69413         fflush and fwriting.
69414         * modules/fwriting-tests (Depends-on): Add fflush.
69415
69416         * tests/test-freading.c (main): Also test the interaction between
69417         fflush and freading.
69418         * modules/freading-tests (Depends-on): Add fflush.
69419
69420 2007-04-28  Bruno Haible  <bruno@clisp.org>
69421
69422         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69423         fseeko and ftello.
69424         Suggested by Eric Blake.
69425
69426 2007-04-28  Jim Meyering  <jim@meyering.net>
69427
69428         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69429         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69430         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69431
69432 2007-04-27  Eric Blake  <ebb9@byu.net>
69433
69434         * doc/headers/assert.texi (assert.h): Document assert module use.
69435
69436 2007-04-27  Bruno Haible  <bruno@clisp.org>
69437
69438         * doc/headers/*.texi: New files.
69439         * doc/gnulib.texi (Header File Substitutes): New chapter.
69440         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69441         dependencies.
69442         (standards.info ,standards.html, standards.dvi): Update dependencies.
69443         (mostlyclean, clean): New targets.
69444
69445 2007-04-27  Bruno Haible  <bruno@clisp.org>
69446
69447         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69448         * modules/sysexits (Files, Makefile.am): Update.
69449
69450         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69451         * modules/sys_socket (Files, Makefile.am): Update.
69452
69453         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69454         * modules/sys_stat (Files, Makefile.am): Update.
69455
69456 2007-04-27  Eric Blake  <ebb9@byu.net>
69457
69458         * lib/freading.h: Improve comments.
69459         * lib/fwriting.h: Likewise.
69460         * lib/fflush.c: Likewise.
69461
69462         Fix closein for mingw.
69463         * modules/closein-tests: Add tests for closein.
69464         * tests/test-closein.c: New file.
69465         * tests/test-closein.sh: Likewise.
69466         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69467         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69468
69469 2007-04-27  Bruno Haible  <bruno@clisp.org>
69470
69471         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69472         version is < 6.
69473         * lib/math_.h [__DECC]: Likewise.
69474         * lib/stdio_.h [__DECC]: Likewise.
69475         * lib/stdlib_.h [__DECC]: Likewise.
69476         * lib/string_.h [__DECC]: Likewise.
69477         * lib/time_.h [__DECC]: Likewise.
69478         * lib/wchar_.h [__DECC]: Likewise.
69479         * lib/wctype_.h [__DECC]: Likewise.
69480
69481 2007-04-27  Bruno Haible  <bruno@clisp.org>
69482
69483         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69484
69485 2007-04-27  Bruno Haible  <bruno@clisp.org>
69486
69487         * lib/fflush.c: Add comments.
69488         * modules/fpurge-tests (Depends-on): Add fflush.
69489         * modules/freadable-tests (Depends-on): Likewise.
69490         * modules/fwritable-tests (Depends-on): Likewise.
69491
69492 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69493
69494         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69495         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69496         Report by Bruno Haible <bruno@clisp.org>.
69497
69498 2007-04-26  Eric Blake  <ebb9@byu.net>
69499
69500         Fix fflush on mingw.
69501         * modules/fflush (Depends-on): Add freading.
69502         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69503         but unread data.
69504
69505 2007-04-26  Eric Blake  <ebb9@byu.net>
69506         and Bruno Haible  <bruno@clisp.org>
69507
69508         Implement freading and fwriting.
69509         * lib/freading.c: New file.
69510         * lib/freading.h: Likewise.
69511         * m4/freading.m4: Likewise.
69512         * modules/freading: Likewise.
69513         * modules/freading-tests: Likewise.
69514         * tests/test-freading.c: Likewise.
69515         * lib/fwriting.c: New file.
69516         * lib/fwriting.h: Likewise.
69517         * m4/fwriting.m4: Likewise.
69518         * modules/fwriting: Likewise.
69519         * modules/fwriting-tests: Likewise.
69520         * tests/test-fwriting.c: Likewise.
69521         * MODULES.html.sh (File stream based Input/Output): Mention them.
69522
69523 2007-04-26  Bruno Haible  <bruno@clisp.org>
69524
69525         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69526         'long' when we assume it.
69527         Suggested by Eric Blake.
69528
69529 2007-04-26  Bruno Haible  <bruno@clisp.org>
69530
69531         Ensure fseeko, ftello are declared on glibc systems.
69532         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69533         * modules/fseeko (configure.ac-early): Likewise.
69534         * modules/ftello (configure.ac-early): Likewise.
69535         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69536         AC_FUNC_FSEEKO for this.
69537         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69538         (gl_CHECK_FSEEKO): Remove macro.
69539
69540 2007-04-26  Bruno Haible  <bruno@clisp.org>
69541
69542         * tests/test-fflush.c (main): Also check the ftell result after
69543         fflush and fseek/fseeko.
69544         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69545         file descriptor position cache in the stream.
69546         * lib/fseeko.c (rpl_fseeko): Likewise.
69547
69548 2007-04-26  Bruno Haible  <bruno@clisp.org>
69549
69550         * modules/fflush-tests (Depends-on): Add fseeko.
69551
69552 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69553             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69554
69555         * lib/argz_.h: ensure error_t definition is obtained in same
69556         mechanism system argz.h would have.
69557         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69558         argz facilities are known bad.  Err on the side of caution if
69559         cross-compiling.
69560
69561 2007-04-25  Eric Blake  <ebb9@byu.net>
69562
69563         * lib/fpurge.c (includes): Use stdlib.h for free.
69564         * tests/test-fflush.c (main): Also test fflush-fseeko.
69565
69566 2007-04-25  Bruno Haible  <bruno@clisp.org>
69567
69568         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69569         * lib/fseeko.c: New file.
69570         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69571         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69572         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69573         gl_FUNC_FSEEKO.
69574         (gl_FUNC_FSEEKO): Invoke it.
69575         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69576         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69577         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69578
69579 2007-04-25  Bruno Haible  <bruno@clisp.org>
69580
69581         * modules/fflush (Depends-on): Add ftello.
69582
69583 2007-04-25  Bruno Haible  <bruno@clisp.org>
69584
69585         * modules/ftello-tests: New file.
69586         * tests/test-ftello.c: New file.
69587
69588         * modules/ftello: New file.
69589         * m4/ftello.m4: New file.
69590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69591         HAVE_FTELLO.
69592         * lib/stdio_.h (ftello): New declaration.
69593         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69594         HAVE_FTELLO.
69595
69596 2007-04-25  Bruno Haible  <bruno@clisp.org>
69597
69598         * modules/fseeko-tests: New file.
69599         * tests/test-fseeko.c: New file.
69600
69601         * modules/fseeko: New file.
69602         * m4/fseeko.m4: New file.
69603         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69604         HAVE_FSEEKO.
69605         * lib/stdio_.h (fseeko): New declaration.
69606         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69607         HAVE_FSEEKO.
69608
69609 2007-04-25  Bruno Haible  <bruno@clisp.org>
69610
69611         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69612
69613 2007-04-25  Bruno Haible  <bruno@clisp.org>
69614
69615         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69616         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69617         * tests/test-unistd.c: Likewise.
69618         * tests/test-fcntl.c: Likewise.
69619
69620 2007-04-23  Eric Blake  <ebb9@byu.net>
69621
69622         * lib/fflush.c: Fix missing include.
69623         Reported by Bruno Haible.
69624
69625 2007-04-23  Bruno Haible  <bruno@clisp.org>
69626
69627         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69628         Reported by Eric Blake.
69629
69630 2007-04-23  Bruno Haible  <bruno@clisp.org>
69631
69632         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69633
69634 2007-04-23  Bruno Haible  <bruno@clisp.org>
69635
69636         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69637
69638 2007-04-23  Bruno Haible  <bruno@clisp.org>
69639
69640         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69641         Needed on HP-UX 11.
69642
69643 2007-04-16  Eric Blake  <ebb9@byu.net>
69644
69645         Make fflush rely on fpurge.
69646         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69647         open coding all variants.
69648         * modules/fflush (Depends-on): Add fpurge and unistd.
69649         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69650         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69651
69652         Fix --with-tests compilation on cygwin.
69653         * modules/argmatch-tests (Makefile.am): List gnulib library first
69654         in LDADD.
69655         * modules/argp-tests (Makefile.am): Likewise.
69656         * modules/array-list-tests (Makefile.am): Likewise.
69657         * modules/array-oset-tests (Makefile.am): Likewise.
69658         * modules/avltree-list-tests (Makefile.am): Likewise.
69659         * modules/avltree-oset-tests (Makefile.am): Likewise.
69660         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69661         * modules/carray-list-tests (Makefile.am): Likewise.
69662         * modules/dirname-tests (Makefile.am): Likewise.
69663         * modules/frexp-tests (Makefile.am): Likewise.
69664         * modules/isnanl-tests (Makefile.am): Likewise.
69665         * modules/linked-list-tests (Makefile.am): Likewise.
69666         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69667         * modules/lock-tests (Makefile.am): Likewise.
69668         * modules/rbtree-list-tests (Makefile.am): Likewise.
69669         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69670         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69671         * modules/tls-tests (Makefile.am): Likewise.
69672         * modules/tsearch-tests (Makefile.am): Likewise.
69673         * modules/xvasprintf-tests (Makefile.am): Likewise.
69674
69675         Fix fpurge for cygwin.
69676         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69677         value.
69678         * modules/fpurge-tests (Depends-on): Clean up trash.
69679
69680 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69681
69682         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69683
69684         * m4/autobuild.m4: Re-indent.
69685
69686 2007-04-13  Bruno Haible  <bruno@clisp.org>
69687
69688         * modules/fpurge-tests: New file.
69689         * tests/test-fpurge.c: New file.
69690
69691         * modules/fpurge: New file.
69692         * lib/fpurge.h: New file.
69693         * lib/fpurge.c: New file.
69694         * m4/fpurge.m4: New file.
69695
69696 2007-04-13  Bruno Haible  <bruno@clisp.org>
69697
69698         * modules/fbufmode-tests: New file.
69699         * tests/test-fbufmode.c: New file.
69700
69701         * modules/fbufmode: New file.
69702         * lib/fbufmode.h: New file.
69703         * lib/fbufmode.c: New file.
69704         * m4/fbufmode.m4: New file.
69705
69706 2007-04-13  Bruno Haible  <bruno@clisp.org>
69707
69708         * modules/fwritable-tests: New file.
69709         * tests/test-fwritable.c: New file.
69710
69711         * modules/fwritable: New file.
69712         * lib/fwritable.h: New file.
69713         * lib/fwritable.c: New file.
69714         * m4/fwritable.m4: New file.
69715
69716 2007-04-13  Bruno Haible  <bruno@clisp.org>
69717
69718         * modules/freadable-tests: New file.
69719         * tests/test-freadable.c: New file.
69720
69721         * modules/freadable: New file.
69722         * lib/freadable.h: New file.
69723         * lib/freadable.c: New file.
69724         * m4/freadable.m4: New file.
69725
69726 2007-04-13  Bruno Haible  <bruno@clisp.org>
69727
69728         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
69729         MOSTLYCLEANFILES.
69730
69731 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69732
69733         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
69734         gzip bootstrap.conf to avoid dragging in i18n machinery.
69735         (gnulib_tool_option): Use it.
69736
69737 2007-04-13  Bruno Haible  <bruno@clisp.org>
69738
69739         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
69740         %F directives.
69741         * tests/test-vasprintf-posix.c (test_function): Likewise.
69742         * tests/test-snprintf-posix.h (test_function): Likewise.
69743         * tests/test-sprintf-posix.h (test_function): Likewise.
69744         * tests/test-fprintf-posix.h (test_function): Likewise.
69745         * tests/test-printf-posix.h (test_function): Likewise.
69746         * tests/test-fprintf-posix.out: Likewise.
69747
69748 2007-04-13  Bruno Haible  <bruno@clisp.org>
69749
69750         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
69751         * modules/tls-tests (configure.ac): Likewise.
69752         Reported by Arto C. Nirkko <anirkko@insel.ch>.
69753
69754 2007-04-13  Bruno Haible  <bruno@clisp.org>
69755
69756         * lib/tls.c (glthread_tls_get): Fix return type.
69757         Patch by Arto C. Nirkko <anirkko@insel.ch>.
69758
69759 2007-04-12  Eric Blake  <ebb9@byu.net>
69760
69761         * modules/gettime (Depends-on): Remove gettime.
69762         Reported by Dmitry V. Levin.
69763
69764 2007-04-12  Bruno Haible  <bruno@clisp.org>
69765
69766         * modules/fflush (Include): Mention <stdio.h>.
69767         * modules/strtoimax (Include): Mention <inttypes.h>.
69768         * modules/strtoumax (Include): Likewise.
69769
69770 2007-04-12  Eric Blake  <ebb9@byu.net>
69771
69772         * .cvsignore: New file.
69773         * .gitignore: Likewise.
69774
69775 2007-04-12  Bruno Haible  <bruno@clisp.org>
69776
69777         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
69778         not before, since $(LDADD) often contains libgnu.a.
69779         * modules/striconv-tests (test_striconv_LDADD): Likewise.
69780         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
69781         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
69782         Needed on Cygwin.
69783
69784 2007-04-12  Eric Blake  <ebb9@byu.net>
69785
69786         Work around glibc's failure to flush stdin on fclose.
69787         * lib/closein.c (close_stdin): Flush stdin before closing.
69788
69789         Work around glibc's failure to reset seekable stdin on exit.
69790         * modules/closein: New module.
69791         * lib/closein.c: New file.
69792         * lib/closein.h: Likewise.
69793         * m4/closein.m4: Likewise.
69794         * MODULES.html.sh (File stream based Input/Output): Document it.
69795
69796 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69797
69798         * gnulib-tool: Rename generated 'autobuild' script to
69799         'do-autobuild' in --create-megatestdir output.
69800
69801         * doc/gnulib.texi (Build robot for gnulib): Fix.
69802
69803 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69804
69805         * modules/sysexits (Depends-on): Add absolute-header.
69806
69807 2007-04-12  Eric Blake  <ebb9@byu.net>
69808
69809         No need to preserve errno on success.
69810         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
69811         Reported by Bruno Haible.
69812
69813 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69814
69815         * MODULES.html.sh (Support for maintaining and releasing
69816         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
69817
69818 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69819
69820         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
69821
69822 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69823
69824         * modules/autobuild: New module.
69825
69826         * m4/autobuild.m4: New file.
69827
69828 2007-04-11  Bruno Haible  <bruno@clisp.org>
69829
69830         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
69831         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
69832         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
69833         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
69834         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69835         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69836         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69837         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69838         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69839         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69840         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
69841         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69842         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69843         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
69844         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69845         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69846         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
69847         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69848         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69849         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
69850         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69851         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69852         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
69853         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69854         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
69856         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69857         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69858         Reported by Eric Blake.
69859
69860 2007-04-11  Bruno Haible  <bruno@clisp.org>
69861
69862         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
69863
69864 2007-04-10  Bruno Haible  <bruno@clisp.org>
69865
69866         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
69867         for NaN and Infinity. Needed on FreeBSD 6.1.
69868         * tests/test-vasnprintf-posix.c (test_function): Undo last change
69869         regarding results for "%010a" of Infinity and NaN.
69870         * tests/test-vasprintf-posix.c (test_function): Likewise.
69871         * tests/test-snprintf-posix.h (test_function): Likewise.
69872         * tests/test-sprintf-posix.h (test_function): Likewise.
69873         * tests/test-fprintf-posix.h (test_function): Likewise.
69874         * tests/test-printf-posix.h (test_function): Likewise.
69875         * tests/test-fprintf-posix.out: Likewise.
69876
69877 2007-04-10  Bruno Haible  <bruno@clisp.org>
69878
69879         * modules/locale-tests: New file.
69880         * tests/test-locale.c: New file.
69881
69882         * modules/locale: New file.
69883         * lib/locale_.h: New file.
69884         * m4/locale_h.m4: New file.
69885
69886 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
69887             Bruno Haible  <bruno@clisp.org>
69888
69889         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
69890         be determined, test for availability of the copysignf, copysign,
69891         copysignl functions.
69892         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
69893         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
69894         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
69895
69896 2007-04-09  Eric Blake  <ebb9@byu.net>
69897
69898         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
69899         * modules/stdio (Makefile.am): Support fflush.
69900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
69901         * modules/fflush: New file.
69902         * lib/fflush.c: Likewise.
69903         * m4/fflush.m4: Likewise.
69904         * modules/fflush-tests: New test.
69905         * tests/test-fflush.c: Likewise.
69906         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
69907
69908 2007-04-06  Bruno Haible  <bruno@clisp.org>
69909
69910         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
69911         (VASNPRINTF): Use signbit for faster determination whether to print a
69912         minus sign.
69913         * modules/vasnprintf (Files): Remove lib/float+.h.
69914         * modules/fprintf-posix (Depends-on): Add signbit.
69915         * modules/snprintf-posix (Depends-on): Likewise.
69916         * modules/sprintf-posix (Depends-on): Likewise.
69917         * modules/vasnprintf-posix (Depends-on): Likewise.
69918         * modules/vasprintf-posix (Depends-on): Likewise.
69919         * modules/vfprintf-posix (Depends-on): Likewise.
69920         * modules/vsnprintf-posix (Depends-on): Likewise.
69921         * modules/vsprintf-posix (Depends-on): Likewise.
69922
69923 2007-04-06  Bruno Haible  <bruno@clisp.org>
69924
69925         * tests/test-frexp.c (main): Test also the sign bit of zero results.
69926         * tests/test-frexpl.c (main): Likewise.
69927         * tests/test-ldexpl.c (main): Likewise.
69928         * modules/frexp-tests (Depends-on): Add signbit.
69929         * modules/frexpl-tests (Depdends-on): Likewise.
69930         * modules/ldexpl-tests (Depdends-on): Likewise.
69931
69932 2007-04-06  Bruno Haible  <bruno@clisp.org>
69933
69934         * modules/signbit-tests: New file.
69935         * tests/test-signbit.c: New file.
69936
69937         * modules/signbit: New file.
69938         * lib/signbitf.c: New file.
69939         * lib/signbitd.c: New file.
69940         * lib/signbitl.c: New file.
69941         * m4/signbit.m4: New file.
69942         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
69943         (signbit): New macro.
69944         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
69945         REPLACE_SIGNBIT.
69946         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
69947         REPLACE_FREXPL into math.h.
69948
69949 2007-04-06  Bruno Haible  <bruno@clisp.org>
69950
69951         * modules/isnanf-nolibm-tests: New file.
69952         * tests/test-isnanf.c: New file.
69953
69954         * modules/isnanf-nolibm: New file.
69955         * lib/isnanf.h: New file.
69956         * lib/isnanf.c: New file.
69957         * lib/isnan.c: Consider the USE_FLOAT macro.
69958         * m4/isnanf.m4: New file.
69959
69960 2007-04-06  Bruno Haible  <bruno@clisp.org>
69961
69962         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
69963         (Link): New section.
69964
69965         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
69966
69967 2007-04-06  Bruno Haible  <bruno@clisp.org>
69968
69969         Assume the 'long double' type.
69970         * m4/longdouble.m4: Remove file.
69971         * config/srclist.txt: Don't mention longdouble.m4.
69972         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
69973         * lib/float+.h: Likewise.
69974         * lib/frexp.c: Likewise.
69975         * lib/printf-args.h: Likewise.
69976         * lib/printf-args.c: Likewise.
69977         * lib/printf-frexp.c: Likewise.
69978         * lib/printf-parse.c: Likewise.
69979         * lib/vasnprintf.c: Likewise.
69980         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
69981         * m4/intl.m4: Likewise.
69982         * m4/isnanl.m4: Likewise.
69983         * m4/printf.m4: Likewise.
69984         * m4/printf-frexpl.m4: Likewise.
69985         * m4/vasnprintf.m4: Likewise.
69986         * modules/allocsa (Files): Remove m4/longdouble.m4.
69987         * modules/gettext (Files): Likewise.
69988         * modules/relocatable-prog-wrapper (Files): Likewise.
69989         * modules/vasnprintf (Files): Likewise.
69990         * modules/isnanl (Files): Likewise.
69991         (Include): Simplify.
69992         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
69993         (Include): Simplify.
69994         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
69995         (Include): Simplify.
69996         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
69997         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69998         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
69999         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70000         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70001         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70002         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70003         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70004         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70005         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70006         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70007         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70008         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70009         * tests/test-isnanl.c: Likewise.
70010         * tests/test-snprintf-posix.h: Likewise.
70011         * tests/test-sprintf-posix.h: Likewise.
70012         * tests/test-vasnprintf-posix.c: Likewise.
70013         * tests/test-vasnprintf-posix2.c: Likewise.
70014         * tests/test-vasprintf-posix.c: Likewise.
70015
70016 2007-04-06  Bruno Haible  <bruno@clisp.org>
70017
70018         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70019         * lib/math_.h [__DECC]: Include the overridden include file through
70020         #include_next, outside the double-inclusion guard.
70021         * lib/stdio_.h [__DECC]: Likewise.
70022         * lib/stdlib_.h [__DECC]: Likewise.
70023         * lib/string_.h [__DECC]: Likewise.
70024         * lib/time_.h [__DECC]: Likewise.
70025         * lib/wchar_.h [__DECC]: Likewise.
70026         * lib/wctype_.h [__DECC]: Likewise.
70027         * lib/inttypes_.h [__DECC]: Likewise.
70028         Reported by Albert Chin <china@thewrittenword.com> in
70029         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70030
70031 2007-04-04  Eric Blake  <ebb9@byu.net>
70032
70033         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70034         1.5.x.
70035
70036 2007-04-04  Bruno Haible  <bruno@clisp.org>
70037
70038         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70039         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70040
70041 2007-04-04  Bruno Haible  <bruno@clisp.org>
70042
70043         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70044         results for "%010a" of Infinity and NaN.
70045         * tests/test-vasprintf-posix.c (test_function): Likewise.
70046         * tests/test-snprintf-posix.h (test_function): Likewise.
70047         * tests/test-sprintf-posix.h (test_function): Likewise.
70048         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70049         * tests/test-printf-posix.h (test_function): Likewise.
70050         * tests/test-fprintf-posix.out: Update.
70051         Needed for FreeBSD 6.1.
70052
70053 2007-04-04  Bruno Haible  <bruno@clisp.org>
70054
70055         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70056         directly used by the gnulib modules nor by gnulib-tool.
70057
70058 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70059
70060         * DEPENDENCIES: Give overall description of version dependency
70061         desirability.  Use more-typical names for apps.
70062         Add shell, coreutils, diffutils, grep, tar, gzip.
70063
70064 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70065
70066         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70067
70068 2007-04-04  Karl Berry  <karl@gnu.org>
70069
70070         * MODULES.html.sh (func_module): missing '.
70071
70072 2007-04-03  Bruno Haible  <bruno@clisp.org>
70073
70074         * modules/argmatch-tests (Makefile.am): New variable
70075         test_argmatch_LDADD.
70076         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70077         * modules/array-list-tests (Makefile.am): New variable
70078         test_array_list_LDADD.
70079         * modules/array-oset-tests (Makefile.am): New variable
70080         test_array_oset_LDADD.
70081         * modules/avltree-list-tests (Makefile.am): New variable
70082         test_avltree_list_LDADD.
70083         * modules/avltree-oset-tests (Makefile.am): New variable
70084         test_avltree_oset_LDADD.
70085         * modules/avltreehash-list-tests (Makefile.am): New variable
70086         test_avltreehash_list_LDADD.
70087         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70088         test_canonicalize_lgpl_LDADD.
70089         * modules/carray-list-tests (Makefile.am): New variable
70090         test_carray_list_LDADD.
70091         * modules/dirname-tests (Makefile.am): New variable
70092         test_dirname_LDADD.
70093         * modules/linked-list-tests (Makefile.am): New variable
70094         test_linked_list_LDADD.
70095         * modules/linkedhash-list-tests (Makefile.am): New variable
70096         test_linkedhash_list_LDADD.
70097         * modules/rbtree-list-tests (Makefile.am): New variable
70098         test_rbtree_list_LDADD.
70099         * modules/rbtree-oset-tests (Makefile.am): New variable
70100         test_rbtree_oset_LDADD.
70101         * modules/rbtreehash-list-tests (Makefile.am): New variable
70102         test_rbtreehash_list_LDADD.
70103         * modules/xvasprintf-tests (Makefile.am): New variable
70104         test_xvasprintf_LDADD.
70105         Reported by Eric Blake.
70106
70107 2007-04-03  Eric Blake  <ebb9@byu.net>
70108
70109         * DEPENDENCIES: Weaken m4 requirements.
70110
70111 2007-04-03  Bruno Haible  <bruno@clisp.org>
70112
70113         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70114         * modules/isnanl-tests (configure.ac): Likewise.
70115
70116 2007-04-03  Ben Pfaff  <blp@gnu.org>
70117
70118         * modules/iconv_open: Add $(srcdir)/ to source directory
70119         references in Makefile fragments that call gperf, to fix VPATH
70120         builds.
70121
70122 2007-04-03  Bruno Haible  <bruno@clisp.org>
70123
70124         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70125         * lib/ldexpl.c: Undo last change.
70126
70127 2007-04-03  Bruno Haible  <bruno@clisp.org>
70128
70129         * modules/printf-frexpl (Depends-on): Undo last change.
70130         (Files): Add m4/ldexpl.m4.
70131
70132 2007-04-03  Bruno Haible  <bruno@clisp.org>
70133
70134         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70135         * modules/isnanl (Link): New section.
70136
70137         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70138         * modules/frexp (Link): New section.
70139
70140         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70141         * modules/frexpl (Link): New section.
70142
70143         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70144         * modules/ldexpl (Link): New section.
70145
70146 2007-04-03  Bruno Haible  <bruno@clisp.org>
70147
70148         * modules/TEMPLATE-EXTENDED: New file.
70149         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70150
70151 2007-04-03  Bruno Haible  <bruno@clisp.org>
70152
70153         * DEPENDENCIES: New file.
70154         Suggested by Simon Josefsson.
70155
70156 2007-04-03  Bruno Haible  <bruno@clisp.org>
70157
70158         * doc/gnulib.texi: Escape @.
70159
70160 2007-04-03  James Youngman  <jay@gnu.org>
70161         and Paul Eggert  <eggert@cs.ucla.edu>
70162
70163         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70164         birthtime on all systems that have birthtime, not just those which
70165         use st_birthtimensec rather than st_birthtim.  Putting zero in
70166         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70167         that the birth time is not available for files on an NFS mount.
70168
70169 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70170
70171         * modules/memxor: Move back from crypto/, suggested by Bruno.
70172         * modules/crypto/hmac-sha1: Fix memxor dependency.
70173
70174         * modules/crypto/gc: Moved from ../.
70175
70176 2007-04-02  Eric Blake  <ebb9@byu.net>
70177
70178         * lib/ldexpl.c (includes): Avoid libm.
70179
70180         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70181
70182 2007-04-02  Bruno Haible  <bruno@clisp.org>
70183
70184         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70185         on IRIX.
70186
70187 2007-04-02  Bruno Haible  <bruno@clisp.org>
70188
70189         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70190         x86 or x86_64 platforms running MacOS X.
70191         Reported by Ryan Schmidt <@ryandesign.com>.
70192
70193 2007-04-02  Bruno Haible  <bruno@clisp.org>
70194
70195         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70196         i386.
70197
70198 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70199
70200         * modules/crypto/arcfour: Moved from ../.
70201         * modules/crypto/arcfour-tests: Moved from ../.
70202         * modules/crypto/arctwo: Moved from ../.
70203         * modules/crypto/arctwo-tests: Moved from ../.
70204         * modules/crypto/des: Moved from ../.
70205         * modules/crypto/des-tests: Moved from ../.
70206         * modules/crypto/gc-arcfour: Moved from ../.
70207         * modules/crypto/gc-arcfour-tests: Moved from ../.
70208         * modules/crypto/gc-arctwo: Moved from ../.
70209         * modules/crypto/gc-arctwo-tests: Moved from ../.
70210         * modules/crypto/gc-des: Moved from ../.
70211         * modules/crypto/gc-des-tests: Moved from ../.
70212         * modules/crypto/gc-hmac-md5: Moved from ../.
70213         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70214         * modules/crypto/gc-hmac-sha1: Moved from ../.
70215         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70216         * modules/crypto/gc-md2: Moved from ../.
70217         * modules/crypto/gc-md2-tests: Moved from ../.
70218         * modules/crypto/gc-md4: Moved from ../.
70219         * modules/crypto/gc-md4-tests: Moved from ../.
70220         * modules/crypto/gc-md5: Moved from ../.
70221         * modules/crypto/gc-md5-tests: Moved from ../.
70222         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70223         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70224         * modules/crypto/gc-random: Moved from ../.
70225         * modules/crypto/gc-rijndael: Moved from ../.
70226         * modules/crypto/gc-rijndael-tests: Moved from ../.
70227         * modules/crypto/gc-sha1: Moved from ../.
70228         * modules/crypto/gc-sha1-tests: Moved from ../.
70229         * modules/crypto/gc-tests: Moved from ../.
70230         * modules/crypto/hmac-md5: Moved from ../.
70231         * modules/crypto/hmac-md5-tests: Moved from ../.
70232         * modules/crypto/hmac-sha1: Moved from ../.
70233         * modules/crypto/hmac-sha1-tests: Moved from ../.
70234         * modules/crypto/md2: Moved from ../.
70235         * modules/crypto/md2-tests: Moved from ../.
70236         * modules/crypto/md4: Moved from ../.
70237         * modules/crypto/md4-tests: Moved from ../.
70238         * modules/crypto/md5: Moved from ../.
70239         * modules/crypto/md5-tests: Moved from ../.
70240         * modules/crypto/memxor: Moved from ../.
70241         * modules/crypto/rijndael: Moved from ../.
70242         * modules/crypto/rijndael-tests: Moved from ../.
70243         * modules/crypto/sha1: Moved from ../.
70244
70245 2007-03-30  James Youngman  <jay@gnu.org>
70246
70247         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70248         rename() to change the ctime of a file (because ctime is unaffected
70249         by rename on jfs2 on AIX 5.1).
70250         (main): Start by doing cleanup, in case a previous run failed leaving
70251         test files behind.
70252
70253 2007-03-31  Bruno Haible  <bruno@clisp.org>
70254
70255         Support old proprietary implementations of iconv.
70256         * modules/iconv_open: New file.
70257         * lib/iconv_.h: New file.
70258         * m4/iconv_h.m4: New file.
70259         * lib/iconv_open.c: New file.
70260         * lib/iconv_open-aix.gperf: New file.
70261         * lib/iconv_open-hpux.gperf: New file.
70262         * lib/iconv_open-irix.gperf: New file.
70263         * lib/iconv_open-osf.gperf: New file.
70264         * m4/iconv_open.m4: New file.
70265         * modules/linebreak (Depends-on): Add iconv_open.
70266         * modules/striconv (Depends-on): Likewise.
70267         * modules/striconveh (Depends-on): Likewise.
70268         * modules/unicodeio (Depends-on): Likewise.
70269         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70270         (iconv_t)(-1).
70271         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70272         conversion if cd is (iconv_t)(-1).
70273         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70274         is not possible.
70275
70276 2007-03-31  Bruno Haible  <bruno@clisp.org>
70277
70278         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70279         work on Solaris either. Protect also second use of "autodetect_jp".
70280
70281 2007-03-31  Bruno Haible  <bruno@clisp.org>
70282
70283         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70284         the function is not present.
70285
70286 2007-03-31  Bruno Haible  <bruno@clisp.org>
70287
70288         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70289         the function is not present.
70290
70291 2007-03-31  Bruno Haible  <bruno@clisp.org>
70292
70293         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70294         a bug in HP-UX iconv_open().
70295
70296 2007-03-31  Bruno Haible  <bruno@clisp.org>
70297
70298         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70299         (Mathematics <math.h>): New section, add fpieee.
70300         (Input/output <stdio.h>): Add fseterr.
70301         (Mathematics <math.h>): New section, add printf-frexp.
70302         (Container data structures): Add sublist.
70303         (Core language properties): Add fpucw, inline.
70304         (Functions for greatest-width integer types <inttypes.h>): Add
70305         imaxabs, imaxdiv, inttypes.
70306         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70307         isnanl-nolibm, ldexp.
70308         (Mathematics <math.h>): New section, add printf-frexpl.
70309         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70310         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70311         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70312         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70313         (Unicode string functions): Add unistr/u*-mbtoucr.
70314         (Java): Add javacomp-script, javaexec-script.
70315         (C#): Add csharpcomp-script, csharpexec-script.
70316         (Support for building libraries and executables): Add havelib,
70317         relocatable-*.
70318         (Support for maintaining and releasing projects): Renamed from
70319         'Support for maintaining and release projects'. Add announce-gen.
70320
70321 2007-03-31  Bruno Haible  <bruno@clisp.org>
70322
70323         * README: Talk primarily about git.
70324         (git and CVS): Renamed from CVS.
70325         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70326         gnulib is available through git.
70327         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70328
70329 2007-03-30  Bruno Haible  <bruno@clisp.org>
70330
70331         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70332         * lib/poll_.h: Likewise.
70333         * lib/stat_.h: Likewise.
70334         * lib/sys_time_.h: Likewise.
70335         * lib/sysexit_.h: Likewise.
70336         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70337         * lib/stdbool_.h: Likewise.
70338         * lib/byteswap_.h: Add double-inclusion guard.
70339
70340 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70341
70342         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70343
70344 2007-03-30  Karl Berry  <karl@gnu.org>
70345
70346         * config/srclist-update: double space after USA in the license
70347         substitution, since that's how it's usually (?) written.
70348
70349 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70350
70351         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70352         reported by Bruno Haible.
70353
70354 2007-03-29  Bruno Haible  <bruno@clisp.org>
70355
70356         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70357         a bug in AIX iconv().
70358
70359 2007-03-29  Bruno Haible  <bruno@clisp.org>
70360
70361         * modules/ldexpl-tests: New file.
70362         * tests/test-ldexpl.c: New file.
70363
70364 2007-03-29  Bruno Haible  <bruno@clisp.org>
70365
70366         * lib/ldexpl.c: Include fpucw.h.
70367         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70368         multiplication.
70369         * modules/ldexpl (Depends-on): Add fpucw.
70370
70371 2007-03-29  Bruno Haible  <bruno@clisp.org>
70372
70373         * modules/ldexpl: New file.
70374         * m4/ldexpl.m4: New file.
70375         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70376         set.
70377         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70378         REPLACE_LDEXPL.
70379         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70380         REPLACE_LDEXPL.
70381         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70382         gl_FUNC_LDEXPL_WORKS.
70383         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70384         * modules/mathl (Files): Remove lib/ldexpl.c.
70385         (Depends-on): Add ldexpl.
70386
70387 2007-03-29  Bruno Haible  <bruno@clisp.org>
70388
70389         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70390
70391 2007-03-29  Bruno Haible  <bruno@clisp.org>
70392
70393         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70394         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70395         and possibly also HP-UX.
70396         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70397         work on AIX, IRIX, HP-UX, OSF/1.
70398         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70399         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70400         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70401         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70402         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70403         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70404
70405 2007-03-29  Bruno Haible  <bruno@clisp.org>
70406
70407         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70408
70409 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70410
70411         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70412         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70413
70414 2007-03-29  Eric Blake  <ebb9@byu.net>
70415
70416         * lib/acl-internal.h: Remove redundant include.
70417         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70418         Cygwin when a file is locked.
70419
70420 2007-03-29  Bruno Haible  <bruno@clisp.org>
70421
70422         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70423         file.
70424         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70425
70426 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70427
70428         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70429         try to remove a parent directory if the child couldn't be removed
70430         (except for the first rmdir, which could fail because the child
70431         doesn't exist).  Problem reported by Jeff Blaine in
70432         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70433
70434 2007-03-28  Bruno Haible  <bruno@clisp.org>
70435
70436         * lib/striconveh.c (utf8conv_carefully): New function.
70437         (mem_cd_iconveh_internal): Invoke it.
70438
70439 2007-03-28  Bruno Haible  <bruno@clisp.org>
70440
70441         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70442         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70443         input.
70444         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70445         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70446         unistr/u8-uctomb.
70447
70448 2007-03-28  Bruno Haible  <bruno@clisp.org>
70449
70450         * modules/unistr/u8-mbtoucr: New file.
70451         * lib/unistr/u8-mbtoucr.c: New file.
70452         * modules/unistr/u16-mbtoucr: New file.
70453         * lib/unistr/u16-mbtoucr.c: New file.
70454         * modules/unistr/u16-mbtoucr: New file.
70455         * lib/unistr/u16-mbtoucr.c: New file.
70456         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70457
70458 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70459             Bruno Haible  <bruno@clisp.org>
70460
70461         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70462         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70463         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70464
70465         * m4/stdio_h.m4: Add stubs for vasprintf too.
70466
70467         * modules/stdio: Support vasprintf in sed command.
70468
70469         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70470         vasprintf.h.  Add stdio module indicator.
70471
70472         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70473         vasprintf.h.
70474
70475         * lib/vasprintf.h: File removed.
70476
70477         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70478         * lib/vasprintf.c: Ditto.
70479         * lib/xvasprintf.c: Ditto.
70480         * tests/test-vasprintf-posix.c: Ditto.
70481         * tests/test-vasprintf.c: Ditto.
70482
70483 2007-03-27  Bruno Haible  <bruno@clisp.org>
70484
70485         Make vasnprintf multithread-safe.
70486         * lib/vasnprintf.c (decimal_point_char): New function.
70487         (VASNPRINTF): Use it.
70488         Suggested by Simon Josefsson.
70489
70490 2007-03-27  Eric Blake  <ebb9@byu.net>
70491
70492         Support sub-second birthtime on cygwin.
70493         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70494         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70495         (get_stat_birthtime): Also work with st_birthtim.
70496
70497 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70498
70499         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70500         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70501         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70502         (get_stat_birthtime_ns): Simplify compile-time tests.
70503         (get_stat_birthtime): Change the API to look like
70504         get_stat_mtime etc., except return a negative tv_nsec on error.
70505         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70506         Don't check for "spare" fields.
70507         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70508         or for struct stat.st_birthtime, as these tests aren't used.
70509         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70510
70511 2007-03-27  Bruno Haible  <bruno@clisp.org>
70512
70513         * lib/stat-time.h: Include <sys/stat.h>.
70514
70515 2007-03-27  James Youngman  <jay@gnu.org>
70516
70517         * lib/stat-time.h (get_stat_birthtime): New function for
70518           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70519         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70520           and its variants.
70521         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70522         * modules/stat-time-test: New file.
70523         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70524
70525 2007-03-26  Bruno Haible  <bruno@clisp.org>
70526
70527         Better support of signalling NaNs.
70528         * lib/atanl.c: Include isnanl.h.
70529         (atanl): Perform test for NaN at the beginning of the function and
70530         through a call to isnanl.
70531         * lib/cosl.c: Include isnanl.h.
70532         (cosl): Perform test for NaN at the beginning of the function and
70533         through a call to isnanl.
70534         * lib/ldexpl.c: Include isnanl.h.
70535         (ldexpl): Perform test for NaN through a call to isnanl.
70536         * lib/logl.c: Include isnanl.h.
70537         (logl): Perform test for NaN at the beginning of the function and
70538         through a call to isnanl.
70539         * lib/sinl.c: Include isnanl.h.
70540         (sinl): Perform test for NaN at the beginning of the function and
70541         through a call to isnanl.
70542         * lib/sqrtl.c: Include isnanl.h.
70543         (sqrtl): Perform test for NaN at the beginning of the function and
70544         through a call to isnanl.
70545         * lib/tanl.c: Include isnanl.h.
70546         (tanl): Perform test for NaN at the beginning of the function and
70547         through a call to isnanl.
70548         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70549         * modules/mathl (Depends-on): Add isnanl.
70550
70551 2007-03-26  Eric Blake  <ebb9@byu.net>
70552
70553         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70554         regression in logic sense of previous patch.
70555
70556 2007-03-26  Bruno Haible  <bruno@clisp.org>
70557
70558         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70559         unportable shell command "if ! ...".
70560         Reported by Ralf Wildenhues.
70561
70562 2007-03-25  Bruno Haible  <bruno@clisp.org>
70563
70564         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70565         <sysexits.h> file, and only add EX_CONFIG.
70566         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70567         absolute file name and whether it is sufficient. Substitute also
70568         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70569         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70570         ABSOLUTE_SYSEXITS_H into sysexits.h.
70571
70572 2007-03-25  Bruno Haible  <bruno@clisp.org>
70573
70574         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70575         hints is NULL.
70576
70577 2007-03-25  Bruno Haible  <bruno@clisp.org>
70578
70579         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70580         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70581
70582 2007-03-25  Bruno Haible  <bruno@clisp.org>
70583
70584         * lib/vasnprintf.c: Include langinfo.h.
70585         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70586         multithread-safe.
70587         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70588         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70589         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70590         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70591         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70592         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70593         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70594         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70595         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70596         Reported by Simon Josefsson.
70597
70598 2007-03-25  Bruno Haible  <bruno@clisp.org>
70599
70600         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70601         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70602         * modules/vasnprintf (Depends-on): Add stdint.
70603
70604 2007-03-25  Bruno Haible  <bruno@clisp.org>
70605
70606         * modules/fpieee: New file.
70607         * m4/fpieee.m4: New file.
70608         * modules/isnan-nolibm (Depends-on): Add fpieee.
70609         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70610         * modules/isnanl (Depends-on): Add fpieee.
70611
70612 2007-03-25  Bruno Haible  <bruno@clisp.org>
70613
70614         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70615
70616 2007-03-25  Bruno Haible  <bruno@clisp.org>
70617
70618         Avoid test failures on IRIX 6.5.
70619         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70620         (main): Use it.
70621         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70622         macros.
70623         (main): Use them.
70624
70625 2007-03-25  Bruno Haible  <bruno@clisp.org>
70626
70627         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70628         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70629         exists but doesn't work.
70630         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70631         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70633         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70634         math.h.
70635
70636 2007-03-25  Bruno Haible  <bruno@clisp.org>
70637
70638         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70639         returns inf. Needed on IRIX 6.5.
70640
70641 2007-03-25  Bruno Haible  <bruno@clisp.org>
70642
70643         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70644         (main): Use isnanl instead of x != x idiom.
70645         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70646
70647         * tests/test-frexp.c: Include isnan.h.
70648         (main): Use isnan instead of x != x idiom.
70649         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70650
70651 2007-03-25  Bruno Haible  <bruno@clisp.org>
70652
70653         * tests/test-frexp.c (NaN): New function/macro.
70654         (main): Use it instead of 0.0 / 0.0.
70655         * tests/test-isnan.c (NaN): New function/macro.
70656         (main): Use it instead of 0.0 / 0.0.
70657         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70658         (test_function): Use it instead of 0.0 / 0.0.
70659         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70660         (test_function): Use it instead of 0.0 / 0.0.
70661         * tests/test-snprintf-posix.h (NaN): New function/macro.
70662         (test_function): Use it instead of 0.0 / 0.0.
70663         * tests/test-sprintf-posix.h (NaN): New function/macro.
70664         (test_function): Use it instead of 0.0 / 0.0.
70665         * tests/test-fprintf-posix.h (NaN): New function/macro.
70666         (test_function): Use it instead of 0.0 / 0.0.
70667         * tests/test-printf-posix.h (NaN): New function/macro.
70668         (test_function): Use it instead of 0.0 / 0.0.
70669
70670         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70671
70672 2007-03-25  Bruno Haible  <bruno@clisp.org>
70673
70674         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70675
70676 2007-03-25  Bruno Haible  <bruno@clisp.org>
70677
70678         * lib/regexec.c (merge_state_with_log): Make static.
70679
70680 2007-03-25  Bruno Haible  <bruno@clisp.org>
70681
70682         * lib/trigl.c (kernel_rem_pio2): Make static.
70683
70684 2007-03-25  Bruno Haible  <bruno@clisp.org>
70685
70686         * lib/sincosl.c (sincosl_table): Make static.
70687
70688 2007-03-25  Bruno Haible  <bruno@clisp.org>
70689
70690         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70691         if the compiler does not support C99.
70692
70693 2007-03-25  Bruno Haible  <bruno@clisp.org>
70694
70695         * modules/time (Makefile.am): Ensure all rule action lines start with a
70696         tab.
70697
70698 2007-03-24  Bruno Haible  <bruno@clisp.org>
70699
70700         * modules/tsearch-tests: New file.
70701         * tests/test-tsearch.sh: New file.
70702         * tests/test-tsearch.c: New file, mostly copied from glibc.
70703
70704         * modules/search-tests: New file.
70705         * tests/test-search.c: New file.
70706
70707         * modules/search: New file.
70708         * lib/search_.h: New file, incorporating lib/tsearch.h.
70709         * m4/search_h.m4: New file.
70710         * lib/tsearch.h: Remove file.
70711         * lib/tsearch.c: Include search.h instead of tsearch.h.
70712         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
70713         HAVE_TSEARCH.
70714         * modules/tsearch (Files): Remove lib/tsearch.h.
70715         (Depends-on): Add search.
70716         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
70717         (Include): Change tsearch.h into search.h.
70718
70719 2007-03-24  Bruno Haible  <bruno@clisp.org>
70720
70721         * modules/fpucw: New file.
70722         * lib/fpucw.h: New file.
70723         * lib/frexp.c: Include fpucw.h.
70724         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70725         (FUNC): Use them.
70726         * lib/printf-frexp.c: Include fpucw.h.
70727         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70728         (FUNC): Use them.
70729         * lib/vasnprintf.c: Include fpucw.h.
70730         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
70731         'long double' calculations.
70732         * tests/test-frexpl.c: Include fpucw.h.
70733         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70734         * tests/test-printf-frexpl.c: Include fpucw.h.
70735         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70736         * modules/frexpl (Depends-on): Add fpucw.
70737         * modules/printf-frexpl (Depends-on): Likewise.
70738         * modules/fprintf-posix (Depends-on): Likewise.
70739         * modules/snprintf-posix (Depends-on): Likewise.
70740         * modules/sprintf-posix (Depends-on): Likewise.
70741         * modules/vasnprintf-posix (Depends-on): Likewise.
70742         * modules/vasprintf-posix (Depends-on): Likewise.
70743         * modules/vfprintf-posix (Depends-on): Likewise.
70744         * modules/vsnprintf-posix (Depends-on): Likewise.
70745         * modules/vsprintf-posix (Depends-on): Likewise.
70746         * modules/frexpl-tests (Depends-on): Likewise.
70747         * modules/printf-frexpl-tests (Depends-on): Likewise.
70748
70749 2007-03-24  Bruno Haible  <bruno@clisp.org>
70750
70751         * lib/float+.h: New file.
70752         * lib/isnan.c: Include float+.h.
70753         (SIZE): New macro.
70754         (FUNC): Compare only SIZE bytes of the value.
70755         * lib/vasnprintf.c: Include float+.h.
70756         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
70757         SIZEOF_LDBL or SIZEOF_DBL bytes.
70758         * modules/isnan-nolibm (Files): Add lib/float+.h.
70759         * modules/isnanl-nolibm (Files): Add lib/float+.h.
70760         * modules/isnanl (Files): Add lib/float+.h.
70761         * modules/vasnprintf (Files): Add lib/float+.h.
70762
70763 2007-03-24  Bruno Haible  <bruno@clisp.org>
70764
70765         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
70766         include isnanl-nolibm.h.
70767
70768 2007-03-24  Bruno Haible  <bruno@clisp.org>
70769
70770         * tests/test-read-file.c (main): Don't produce spurious output for
70771         expected situations. Make the test fail if it encountered unexpected
70772         results.
70773
70774 2007-03-24  Bruno Haible  <bruno@clisp.org>
70775
70776         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
70777         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
70778
70779 2007-03-24  Bruno Haible  <bruno@clisp.org>
70780
70781         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
70782
70783 2007-03-24  Bruno Haible  <bruno@clisp.org>
70784
70785         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
70786         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
70787
70788         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
70789         * modules/utf8-ucs4: Turn into a symbolic link to module
70790         unistr/u8-mbtouc.
70791
70792         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
70793         utf8-ucs4-unsafe.
70794         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
70795         unistr/u8-mbtouc-unsafe.
70796
70797         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
70798         * modules/utf16-ucs4: Turn into a symbolic link to module
70799         unistr/u16-mbtouc.
70800
70801         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
70802         utf16-ucs4-unsafe.
70803         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
70804         unistr/u16-mbtouc-unsafe.
70805
70806         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
70807         * modules/ucs4-utf8: Turn into a symbolic link to module
70808         unistr/u8-ubtomb.
70809
70810         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
70811         * modules/ucs4-utf16: Turn into a symbolic link to module
70812         unistr/u16-ubtomb.
70813
70814 2007-03-24  Bruno Haible  <bruno@clisp.org>
70815
70816         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
70817         Enable the function only if HAVE_INLINE.
70818         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
70819         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70820         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
70821         Enable the function only if HAVE_INLINE.
70822         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
70823         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70824         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
70825         Enable the function only if HAVE_INLINE.
70826         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
70827         Enable the function only if HAVE_INLINE.
70828         * modules/utf8-ucs4: Update.
70829         * modules/utf8-ucs4-unsafe: Update.
70830         * modules/utf16-ucs4: Update.
70831         * modules/utf16-ucs4-unsafe: Update.
70832         * modules/ucs4-utf8: Update.
70833         * modules/ucs4-utf16: Update.
70834
70835 2007-03-24  Bruno Haible  <bruno@clisp.org>
70836
70837         * lib/utf8-ucs4.h: Remove file.
70838         * lib/utf8-ucs4-unsafe.h: Remove file.
70839         * lib/utf16-ucs4.h: Remove file.
70840         * lib/utf16-ucs4-unsafe.h: Remove file.
70841         * lib/ucs4-utf8.h: Remove file.
70842         * lib/ucs4-utf16.h: Remove file.
70843         * lib/unistr.h: Include their previous contents.
70844         * m4/utf-ucs4.m4: Remove file.
70845         * m4/ucs4-utf.m4: Remove file.
70846         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
70847         (Depends-on): Add unistr/base.
70848         (configure.ac): Remove gl_UTF_UCS4.
70849         (Makefile.am): Update.
70850         (Include): Change to unistr.h.
70851         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
70852         (Depends-on): Add unistr/base.
70853         (configure.ac): Remove gl_UTF_UCS4.
70854         (Makefile.am): Update.
70855         (Include): Change to unistr.h.
70856         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
70857         (Depends-on): Add unistr/base.
70858         (configure.ac): Remove gl_UTF_UCS4.
70859         (Makefile.am): Update.
70860         (Include): Change to unistr.h.
70861         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
70862         (Depends-on): Add unistr/base.
70863         (configure.ac): Remove gl_UTF_UCS4.
70864         (Makefile.am): Update.
70865         (Include): Change to unistr.h.
70866         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
70867         (Depends-on): Add unistr/base.
70868         (configure.ac): Remove gl_UCS4_UTF.
70869         (Makefile.am): Update.
70870         (Include): Change to unistr.h.
70871         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
70872         (Depends-on): Add unistr/base.
70873         (configure.ac): Remove gl_UCS4_UTF.
70874         (Makefile.am): Update.
70875         (Include): Change to unistr.h.
70876         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70877         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70878         utf8-ucs4-unsafe.h.
70879         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70880         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70881         utf16-ucs4-unsafe.h.
70882         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70883         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
70884         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
70885         * lib/unistr/u8-strchr.c: Likewise.
70886         * lib/unistr/u8-strrchr.c: Likewise.
70887         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
70888         * lib/unistr/u16-strchr.c: Likewise.
70889         * lib/unistr/u16-strrchr.c: Likewise.
70890         * lib/striconveh.c: Update.
70891         * lib/linebreak.c: Update.
70892
70893 2007-03-24  Bruno Haible  <bruno@clisp.org>
70894
70895         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
70896         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
70897
70898 2007-03-22  Bruno Haible  <bruno@clisp.org>
70899
70900         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
70901
70902 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70903
70904         * MODULES.html.sh (File system functions): New module write-any-file.
70905         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
70906         * m4/write-any-file.m4: New files.
70907
70908 2007-03-23  Eric Blake  <ebb9@byu.net>
70909
70910         * gnulib-tool: Rearrange space-tab sequences, since some editors
70911         like to eat them.
70912
70913 2007-03-23  Eric Blake  <ebb9@byu.net>
70914
70915         * lib/version-etc.c (version_etc_va): Update license wording to
70916         be more concise.  Recommended by Richard Stallman.
70917
70918 2007-03-22  Bruno Haible  <bruno@clisp.org>
70919
70920         * lib/poll.c (MSG_PEEK): New fallback definition.
70921
70922 2007-03-22  Bruno Haible  <bruno@clisp.org>
70923
70924         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
70925         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
70926         (main): Update.
70927         Fixes a compilation error on BeOS.
70928
70929 2007-03-22  Bruno Haible  <bruno@clisp.org>
70930
70931         * modules/frexpl-tests: New file.
70932         * tests/test-frexpl.c: New file.
70933
70934         * modules/frexpl: New file.
70935         * m4/frexpl.m4: New file.
70936         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
70937         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
70938         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
70939         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
70940         (Depends-on): Add frexpl. Remove isnanl-nolibm.
70941         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
70942
70943 2007-03-22  Bruno Haible  <bruno@clisp.org>
70944
70945         * lib/frexpl.c: Share code with lib/frexp.c.
70946         * modules/mathl (Files): Add lib/frexp.c.
70947         (Depends-on): Add isnanl-nolibm.
70948
70949 2007-03-22  Bruno Haible  <bruno@clisp.org>
70950
70951         * modules/printf-frexp (Files): Add m4/frexp.m4.
70952         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
70953         only if the found frexp function actually works.
70954
70955 2007-03-22  Bruno Haible  <bruno@clisp.org>
70956
70957         * lib/frexp.c: Remove older implementation that uses divisions.
70958
70959 2007-03-21  Bruno Haible  <bruno@clisp.org>
70960
70961         * modules/frexp-tests: New file.
70962         * tests/test-frexp.c: New file.
70963
70964         * modules/frexp: New file.
70965         * lib/frexp.c: New file.
70966         * m4/frexp.m4: New file.
70967         * lib/math_.h (frexp): New declaration.
70968         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
70969         REPLACE_FREXP.
70970         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
70971
70972 2007-03-21  Bruno Haible  <bruno@clisp.org>
70973
70974         * modules/isnanl-tests: New file.
70975         * tests/test-isnanl.c: New file.
70976
70977         * modules/isnanl: New file.
70978         * lib/isnanl.h: New file.
70979         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
70980         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
70981         gl_FUNC_ISNANL_WORKS.
70982         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
70983         New macros.
70984
70985 2007-03-21  Bruno Haible  <bruno@clisp.org>
70986
70987         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
70988         lib/isnanl.h.
70989         (Include): Update.
70990         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
70991         * lib/vasnprintf.c: Update.
70992         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
70993         tests/test-isnanl.h, remove tests/test-isnanl.c.
70994         (Makefile.am): Update.
70995         * tests/test-isnanl-nolibm.c: New file.
70996         * tests/test-isnanl.h: New file.
70997         * tests/test-isnanl.c: Remove file.
70998
70999 2007-03-21  Jim Meyering  <jim@meyering.net>
71000
71001         When trying to open ".", treat ESTALE like EACCES.
71002         * lib/savewd.c (savewd_save): Resort to forking not just upon
71003         failure with EACCES, but also when errno is ESTALE.
71004
71005 2007-03-20  Bruno Haible  <bruno@clisp.org>
71006
71007         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71008         Needed on AIX 5.1. Reported by Matthew Woehlke.
71009
71010 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71011
71012         Suggestions by Bruno Haible:
71013         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71014         our own.
71015         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71016         * modules/acl (Depends-on): Add gettext.
71017
71018 2007-03-19  Bruno Haible  <bruno@clisp.org>
71019
71020         * modules/iconvme: Remove file.
71021         * lib/iconvme.h: Remove file.
71022         * lib/iconvme.c: Remove file.
71023         * m4/iconvme.m4: Remove file.
71024
71025 2007-03-19  Bruno Haible  <bruno@clisp.org>
71026
71027         * doc/relocatable-maint.texi: Break long shell script line.
71028         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71029
71030 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71031
71032         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71033         handle file_has_acl.
71034         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71035         * lib/acl.c: Move header inclusions and related macro defns into
71036         lib/acl-internal.h.
71037         (S_ISLNK): Remove defn, since that's now done for us.
71038         (file_has_acl): Move to lib/file-has-acl.c.
71039         Call acl_trivial if available.  This is the crucial part of the fix.
71040         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71041         shared within the library.  Rewrite a bit, partly to make it compatible
71042         with the GNU coding style.
71043         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71044         Remove unnecessary double-quotes.
71045         Don't test for acl_to_text; the build will catch that.
71046         Replace acl_entries if it doesn't exist and it is needed.
71047         Check for -lsec and acl_trivial (as used on Solaris 10).
71048         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71049         lib/file-has-acl.c.
71050         (Depends-on): Add sys_stat, for S_ISLNK.
71051
71052 2007-03-19  Ben Pfaff  <blp@gnu.org>
71053
71054         * doc/gnulib.texi: Fix typos.
71055         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71056
71057 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71058
71059         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71060         If size is zero here, buf must be zero.
71061
71062 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71063
71064         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71065         <bruno@clisp.org>.
71066
71067 2007-03-18  Bruno Haible  <bruno@clisp.org>
71068
71069         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71070         Suggested by Eric Blake.
71071
71072 2007-03-18  Ben Pfaff  <blp@gnu.org>
71073
71074         * doc/relocatable.texi: Recommend using as prefix a directory
71075         that does not exist and will never be created.  Based on
71076         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71077         and others.
71078
71079 2007-03-17  Bruno Haible  <bruno@clisp.org>
71080
71081         * lib/fchownat.c: Include lchown.h.
71082
71083 2007-03-17  Bruno Haible  <bruno@clisp.org>
71084
71085         Fix endless loop when the given allocated size was > INT_MAX.
71086         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71087         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71088         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71089         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71090         * lib/sprintf.c (sprintf): Likewise.
71091
71092 2007-03-17  Bruno Haible  <bruno@clisp.org>
71093
71094         * tests/test-argp-2.sh (func_compare): Output a context diff.
71095
71096 2007-03-17  Bruno Haible  <bruno@clisp.org>
71097
71098         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71099         locale's decimal-point character.
71100
71101 2007-03-17  Bruno Haible  <bruno@clisp.org>
71102
71103         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71104         before comparing it. Needed because on some platforms (e.g. x86) a
71105         'long double' occupies less bytes than sizeof (long double).
71106
71107 2007-03-17  Bruno Haible  <bruno@clisp.org>
71108
71109         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71110         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71111         * tests/test-getaddrinfo.c (simple): Likewise.
71112         * tests/test-read-file.c (main): Likewise.
71113
71114 2007-03-17  Bruno Haible  <bruno@clisp.org>
71115
71116         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71117
71118 2007-03-17  Bruno Haible  <bruno@clisp.org>
71119
71120         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71121         unused variable.
71122
71123 2007-03-17  Bruno Haible  <bruno@clisp.org>
71124
71125         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71126         * tests/test-c-strncasecmp.c: Likewise.
71127
71128 2007-03-17  Bruno Haible  <bruno@clisp.org>
71129
71130         * modules/stdlib (Depends-on): Add unistd.
71131         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71132         Needed for MacOS X 10.3.
71133
71134 2007-03-17  Bruno Haible  <bruno@clisp.org>
71135
71136         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71137
71138 2007-03-17  Bruno Haible  <bruno@clisp.org>
71139
71140         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71141
71142 2007-03-17  Bruno Haible  <bruno@clisp.org>
71143
71144         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71145         to reflect files copied from gnulib (with or without modifications).
71146         Suggested by Jim Meyering.
71147
71148 2007-03-17  Eric Blake  <ebb9@byu.net>
71149
71150         * NEWS: Document stdlib change from 2007-02-18.
71151
71152 2007-03-17  Jim Meyering  <jim@meyering.net>
71153
71154         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71155         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71156         someone uses a name containing shell meta-characters.
71157         Reported by Alfred M. Szmidt.
71158
71159         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71160
71161 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71162
71163         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71164         and copy gettext configuration files only if configure.ac contains
71165         a use of AM_GNU_GETTEXT_VERSION.
71166
71167 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71168
71169         * build-aux/bootstrap (gnulib_name): New variable.
71170         (gnulib_tool_options): Use it.
71171
71172 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71173
71174         * tests/test-des.c: Use new namespace.
71175
71176 2007-03-15  Bruno Haible  <bruno@clisp.org>
71177
71178         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71179         Reported by James Youngman <jay@gnu.org>.
71180
71181 2007-03-15  Bruno Haible  <bruno@clisp.org>
71182
71183         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71184         declared prototype. Needed with cc on OSF/1 5.1.
71185
71186 2007-03-15  Bruno Haible  <bruno@clisp.org>
71187
71188         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71189         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71190         (struct gl_list_implementation): Add dispose_fn argument to the
71191         'create_empty', 'create' methods.
71192         (struct gl_list_impl_base): Add field 'dispose_fn'.
71193         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71194         argument.
71195         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71196         dispose_fn argument.
71197         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71198         dispose_fn on the dropped values.
71199         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71200         dispose_fn argument.
71201         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71202         dropped values.
71203         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71204         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71205         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71206         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71207         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71208         argument.
71209         (gl_tree_list_free): Call dispose_fn on the dropped values.
71210         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71211         the dropped values.
71212         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71213         Add dispose_fn argument.
71214         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71215         Call dispose_fn on the dropped values.
71216         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71217         Add dispose_fn argument.
71218         (gl_sublist_create): Initialize the 'dispose_fn' field.
71219         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71220         * tests/test-array_list.c (main): Update.
71221         * tests/test-carray_list.c (main): Update.
71222         * tests/test-avltree_list.c (main): Update.
71223         * tests/test-rbtree_list.c (main): Update.
71224         * tests/test-avltreehash_list.c (main): Update.
71225         * tests/test-rbtreehash_list.c (main): Update.
71226         * tests/test-linked_list.c (main): Update.
71227         * tests/test-linkedhash_list.c (main): Update.
71228         * tests/test-array_oset.c (main): Update.
71229
71230 2007-03-15  Bruno Haible  <bruno@clisp.org>
71231
71232         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71233         (gl_oset_create_empty): Add dispose_fn argument.
71234         (struct gl_oset_implementation): Add dispose_fn argument to
71235         'create_empty' method.
71236         (struct gl_oset_impl_base): Add dispose_fn field.
71237         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71238         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71239         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71240         values.
71241         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71242         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71243         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71244         dropped value.
71245         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71246         dropped value.
71247         * tests/test-array_oset.c (main): Update.
71248         * tests/test-avltree_oset.c (main): Update.
71249         * tests/test-rbtree_oset.c (main): Update.
71250         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71251
71252 2007-03-13  Bruno Haible  <bruno@clisp.org>
71253
71254         * tests/test-stdbool.c (i): Update after last patch.
71255
71256 2007-03-12  Bruno Haible  <bruno@clisp.org>
71257
71258         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71259         the iswprint macro. Needed on Solaris 2.5.1.
71260
71261 2007-03-12  Bruno Haible  <bruno@clisp.org>
71262
71263         * tests/test-printf-frexp.c (main): Declare x as volatile.
71264
71265 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71266
71267         * doc/gnulib.texi (Build robot for gnulib): New section.
71268
71269 2007-03-12  Jim Meyering  <jim@meyering.net>
71270
71271         * build-aux/bootstrap: New file.
71272         * build-aux/bootstrap.conf: New file, from coreutils.
71273
71274 2007-03-11  Bruno Haible  <bruno@clisp.org>
71275
71276         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71277
71278 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71279
71280         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71281         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71282         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71283
71284 2007-03-11  Bruno Haible  <bruno@clisp.org>
71285
71286         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71287         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71288
71289 2007-03-11  Bruno Haible  <bruno@clisp.org>
71290
71291         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71292         formula. Needed for SunPRO C 5.0.
71293
71294 2007-03-11  Bruno Haible  <bruno@clisp.org>
71295
71296         * modules/long-options (Depends-on): Add getopt.
71297
71298 2007-03-11  Bruno Haible  <bruno@clisp.org>
71299
71300         * modules/modechange (Depends-on): Add stdbool.
71301
71302 2007-03-11  Bruno Haible  <bruno@clisp.org>
71303
71304         * modules/i-ring (Depends-on): Add stdbool.
71305
71306 2007-03-11  Bruno Haible  <bruno@clisp.org>
71307
71308         * modules/gc-des (Depends-on): Add stdbool.
71309
71310 2007-03-11  Bruno Haible  <bruno@clisp.org>
71311
71312         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71313
71314 2007-03-11  Bruno Haible  <bruno@clisp.org>
71315
71316         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71317
71318 2007-03-11  Bruno Haible  <bruno@clisp.org>
71319
71320         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71321
71322 2007-03-11  Bruno Haible  <bruno@clisp.org>
71323
71324         * lib/vasnprintf.c (sprintf): Undefine.
71325
71326 2007-03-11  Bruno Haible  <bruno@clisp.org>
71327
71328         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71329         initializers in SunPRO C and Compaq C compilers.
71330
71331 2007-03-11  Bruno Haible  <bruno@clisp.org>
71332
71333         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71334         decrementing code ANSI C compliant.
71335
71336 2007-03-11  Bruno Haible  <bruno@clisp.org>
71337
71338         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71339         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71340
71341 2007-03-11  Bruno Haible  <bruno@clisp.org>
71342
71343         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71344         <stdbool.h> substitute doesn't pass.
71345
71346 2007-03-11  Bruno Haible  <bruno@clisp.org>
71347
71348         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71349
71350 2007-03-11  Bruno Haible  <bruno@clisp.org>
71351
71352         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71353         script, for submission to autobuild.josefsson.org.
71354
71355 2007-03-10  Bruno Haible  <bruno@clisp.org>
71356
71357         * modules/canonicalize-lgpl-tests: New file.
71358         * tests/test-canonicalize-lgpl.sh: New file.
71359         * tests/test-canonicalize-lgpl.c: New file.
71360
71361         * modules/c-strcase-tests: New file.
71362         * tests/test-c-strcase.sh: New file.
71363         * tests/test-c-strcasecmp.c: New file.
71364         * tests/test-c-strncasecmp.c: New file.
71365
71366         * modules/atexit-tests: New file.
71367         * tests/test-atexit.sh: New file.
71368         * tests/test-atexit.c: New file.
71369
71370 2007-03-10  Bruno Haible  <bruno@clisp.org>
71371
71372         * tests/test-binary-io.sh: Use temporary filenames that are not so
71373         likely to clash with those of other tests (in a parallel make).
71374         * tests/test-binary-io.c: Likewise.
71375
71376 2007-03-10  Bruno Haible  <bruno@clisp.org>
71377
71378         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71379         fallback; use #error instead.
71380         Suggested by Simon Josefsson.
71381
71382 2007-03-10  Bruno Haible  <bruno@clisp.org>
71383
71384         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71385         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71386         first and the last.
71387
71388 2007-03-10  Bruno Haible  <bruno@clisp.org>
71389
71390         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71391
71392 2007-03-10  Bruno Haible  <bruno@clisp.org>
71393
71394         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71395         "make distcheck".
71396         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71397         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71398         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71399
71400 2007-03-10  Bruno Haible  <bruno@clisp.org>
71401
71402         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71403         variable.
71404         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71405         variable.
71406
71407 2007-03-09  Eric Blake  <ebb9@byu.net>
71408         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71409
71410         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71411         types are not being provided by gnulib.
71412         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71413         types are supported.
71414
71415 2007-03-10  Bruno Haible  <bruno@clisp.org>
71416
71417         * lib/stdio_.h (__attribute__): New macro.
71418         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71419         vsprintf): Specify __attribute__ __format__ for GCC.
71420         Suggested by Eric Blake.
71421
71422 2007-03-09  Bruno Haible  <bruno@clisp.org>
71423
71424         * modules/printf-posix-tests: New file.
71425         * tests/test-printf-posix.sh: New file.
71426         * tests/test-printf-posix.c: New file.
71427
71428         * modules/printf-posix: New file.
71429         * lib/printf.c: New file.
71430         * m4/printf-posix-rpl.m4: New file.
71431         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71432         REPLACE_PRINTF.
71433         * lib/stdio_.h (printf): New declaration.
71434         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71435         ____strfmon____): New macros.
71436         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71437         REPLACE_PRINTF.
71438
71439 2007-03-09  Bruno Haible  <bruno@clisp.org>
71440
71441         * tests/test-vasnprintf-posix2.sh: New file.
71442         * tests/test-vasnprintf-posix2.c: New file.
71443         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71444         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71445         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71446
71447         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71448         a locale dependent decimal point, rather than always '.'.
71449
71450 2007-03-09  Eric Blake  <ebb9@byu.net>
71451
71452         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71453         spite of platforms like Tandem/NSK that define it to -1.
71454
71455 2007-03-08  Bruno Haible  <bruno@clisp.org>
71456
71457         * modules/vprintf-posix-tests: New file.
71458         * tests/test-vprintf-posix.sh: New file.
71459         * tests/test-vprintf-posix.c: New file.
71460         * tests/test-printf-posix.h: New file.
71461
71462         * modules/vprintf-posix: New file.
71463         * lib/vprintf.c: New file.
71464         * m4/vprintf-posix.m4: New file.
71465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71466         REPLACE_VPRINTF.
71467         * lib/stdio_.h (vprintf): New declaration.
71468         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71469         REPLACE_VPRINTF.
71470
71471 2007-03-08  Bruno Haible  <bruno@clisp.org>
71472
71473         * modules/fprintf-posix-tests: New file.
71474         * tests/test-fprintf-posix.sh: New file.
71475         * tests/test-fprintf-posix.c: New file.
71476
71477         * modules/fprintf-posix: New file.
71478         * lib/fprintf.c: New file.
71479         * m4/fprintf-posix.m4: New file.
71480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71481         REPLACE_FPRINTF.
71482         * lib/stdio_.h (fprintf): New declaration.
71483         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71484         REPLACE_FPRINTF.
71485
71486 2007-03-08  Bruno Haible  <bruno@clisp.org>
71487
71488         * modules/vfprintf-posix-tests: New file.
71489         * tests/test-vfprintf-posix.sh: New file.
71490         * tests/test-vfprintf-posix.c: New file.
71491         * tests/test-fprintf-posix.h: New file.
71492         * tests/test-fprintf-posix.out: New file.
71493
71494         * modules/vfprintf-posix: New file.
71495         * lib/vfprintf.c: New file.
71496         * m4/vfprintf-posix.m4: New file.
71497         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71498         REPLACE_VFPRINTF.
71499         * lib/stdio_.h (vfprintf): New declaration.
71500         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71501         REPLACE_VFPRINTF.
71502
71503 2007-03-08  Bruno Haible  <bruno@clisp.org>
71504
71505         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71506
71507 2007-03-08  Bruno Haible  <bruno@clisp.org>
71508
71509         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71510         instead of 'expr' invocations.
71511         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71512         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71513         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71514         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71515         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71516         Suggested by Paul Eggert.
71517
71518 2007-03-08  Bruno Haible  <bruno@clisp.org>
71519
71520         * modules/fseterr-tests: New file.
71521         * tests/test-fseterr.c: New file.
71522
71523         * modules/fseterr: New file.
71524         * lib/fseterr.h: New file.
71525         * lib/fseterr.c: New file.
71526
71527 2007-03-08  Bruno Haible  <bruno@clisp.org>
71528
71529         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71530         * lib/getopt_.h: Likewise.
71531         * lib/mbswidth.h: Likewise.
71532         * lib/setenv.h: Likewise.
71533         * lib/vasnprintf.h: Likewise.
71534         * lib/vasprintf.h: Likewise.
71535         * lib/verror.h: Likewise.
71536         * lib/xsetenv.h: Likewise.
71537         * lib/xvasprintf.h: Likewise.
71538
71539 2007-03-08  Jim Meyering  <jim@meyering.net>
71540
71541         * users.txt: Add parted.
71542
71543         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71544
71545 2007-03-07  Bruno Haible  <bruno@clisp.org>
71546
71547         * m4/printf.m4: Make the shell script snippets copy&pastable.
71548
71549 2007-03-02  Bruno Haible  <bruno@clisp.org>
71550
71551         * lib/netinet_in_.h: New file.
71552         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71553         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71554         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71555         (Depends-on): Add absolute-header.
71556         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71557         into netinet/in.h.
71558
71559 2007-03-03  Bruno Haible  <bruno@clisp.org>
71560
71561         * lib/sys_select_.h: New file.
71562         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71563         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71564         * modules/sys_select (Files): Add lib/sys_select_.h.
71565         (Depends-on): Add absolute-header.
71566         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71567         into sys/select.h.
71568
71569 2007-03-02  Bruno Haible  <bruno@clisp.org>
71570
71571         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71572         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71573         values.
71574         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71575         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71576         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71577         * modules/sys_socket (Depends-on): Add absolute-header.
71578         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71579         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71580         (Include): Remove requirement of inclusion of <sys/types.h>.
71581
71582 2007-03-02  Bruno Haible  <bruno@clisp.org>
71583
71584         * lib/byteswap_.h (bswap_32): Fix formula.
71585
71586 2007-03-06  Bruno Haible  <bruno@clisp.org>
71587
71588         * modules/sprintf-posix-tests: New file.
71589         * tests/test-sprintf-posix.c: New file.
71590
71591         * modules/sprintf-posix: New file.
71592         * lib/sprintf.c: New file.
71593         * m4/sprintf-posix.m4: New file.
71594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71595         REPLACE_SPRINTF.
71596         * lib/stdio_.h (sprintf): New declaration.
71597         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71598         REPLACE_SPRINTF.
71599
71600 2007-03-06  Bruno Haible  <bruno@clisp.org>
71601
71602         * modules/vsprintf-posix-tests: New file.
71603         * tests/test-vsprintf-posix.c: New file.
71604         * tests/test-sprintf-posix.h: New file.
71605
71606         * modules/vsprintf-posix: New file.
71607         * lib/vsprintf.c: New file.
71608         * m4/vsprintf-posix.m4: New file.
71609         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71610         REPLACE_VSPRINTF.
71611         * lib/stdio_.h (vsprintf): New declaration.
71612         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71613         REPLACE_VSPRINTF.
71614
71615 2007-03-06  Bruno Haible  <bruno@clisp.org>
71616
71617         * modules/vsnprintf (Depend-on): Remove minmax.
71618
71619 2007-03-06  Bruno Haible  <bruno@clisp.org>
71620
71621         * modules/snprintf-posix-tests: New file.
71622         * tests/test-snprintf-posix.c: New file.
71623
71624         * modules/snprintf-posix: New file.
71625         * m4/snprintf-posix.m4: New file.
71626         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71627         gl_FUNC_SNPRINTF.
71628         (gl_FUNC_SNPRINTF): Invoke it.
71629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71630         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71631         is set.
71632         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71633
71634 2007-03-06  Bruno Haible  <bruno@clisp.org>
71635
71636         * modules/vsnprintf-posix-tests: New file.
71637         * tests/test-vsnprintf-posix.c: New file.
71638         * tests/test-snprintf-posix.h: New file.
71639
71640         * modules/vsnprintf-posix: New file.
71641         * m4/vsnprintf-posix.m4: New file.
71642         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71643         gl_FUNC_VSNPRINTF.
71644         (gl_FUNC_VSNPRINTF): Invoke it.
71645         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71646         * lib/stdio_.h (vsnprintf): Define as a replacement if
71647         REPLACE_VSNPRINTF is set.
71648         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71649
71650 2007-03-06  Bruno Haible  <bruno@clisp.org>
71651
71652         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71653         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71654
71655 2007-03-06  Bruno Haible  <bruno@clisp.org>
71656
71657         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71658         (asinl): Declare also if HAVE_DECL_ASINL is set.
71659         (atanl): Declare also if HAVE_DECL_ATANL is set.
71660         (ceill): Declare also if HAVE_DECL_CEILL is set.
71661         (cosl): Declare also if HAVE_DECL_COSL is set.
71662         (expl): Declare also if HAVE_DECL_EXPL is set.
71663         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71664         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71665         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71666         (logl): Declare also if HAVE_DECL_LOGL is set.
71667         (sinl): Declare also if HAVE_DECL_SINL is set.
71668         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71669         (tanl): Declare also if HAVE_DECL_TANL is set.
71670         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71671         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71672         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71673         declaration of frexpl, ldexpl.
71674         * modules/printf-frexpl (Depends-on): Add math.
71675         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71676
71677 2007-03-05  Bruno Haible  <bruno@clisp.org>
71678
71679         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71680         frexpl and ldexpl are declared.
71681         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71682
71683 2007-03-05  Bruno Haible  <bruno@clisp.org>
71684
71685         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71686         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71687
71688 2007-03-05  Bruno Haible  <bruno@clisp.org>
71689
71690         * lib/stdio_.h: Include <stddef.h>.
71691
71692 2007-03-05  Bruno Haible  <bruno@clisp.org>
71693
71694         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71695
71696 2007-03-05  Bruno Haible  <bruno@clisp.org>
71697
71698         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71699         NetBSD 4, from Ralf Wildenhues.
71700
71701 2007-03-04  Bruno Haible  <bruno@clisp.org>
71702
71703         * lib/vasprintf.h: Update #if logic for the case when the functions
71704         exist but are overridden.
71705
71706 2007-03-04  Bruno Haible  <bruno@clisp.org>
71707
71708         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
71709         implementations: glibc-2.4 and MacOS X 10.3.
71710         * tests/test-vasnprintf-posix.c (test_function): Test also the case
71711         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
71712         * tests/test-vasprintf-posix.c (test_function): Likewise.
71713
71714 2007-03-04  Bruno Haible  <bruno@clisp.org>
71715
71716         * modules/vasprintf-posix-tests: New file.
71717         * tests/test-vasprintf-posix.c: New file.
71718
71719         * modules/vasprintf-posix: New file.
71720         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
71721         defined.
71722         * m4/vasprintf-posix.m4: New file.
71723         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
71724         gl_FUNC_VASPRINTF.
71725         (gl_FUNC_VASPRINTF): Invoke it.
71726         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
71727         here.
71728         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
71729
71730 2007-03-04  Bruno Haible  <bruno@clisp.org>
71731
71732         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
71733         REPLACE_GETTIMEOFDAY.
71734         * modules/sys_time (Makefile.am): Likewise.
71735         * m4/sys_time_h.m4: Likewise.
71736         * m4/gettimeofday.m4: Likewise.
71737
71738 2007-03-04  Bruno Haible  <bruno@clisp.org>
71739
71740         * modules/vasnprintf-posix-tests: New file.
71741         * tests/test-vasnprintf-posix.c: New file.
71742
71743         * modules/vasnprintf-posix: New file.
71744         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
71745         printf-frexpl.h.
71746         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
71747         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
71748         REPLACE_VASNPRINTF is defined.
71749         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
71750         gl_FUNC_VASNPRINTF.
71751         (gl_FUNC_VASNPRINTF): Invoke it.
71752         * m4/vasnprintf-posix.m4: New file.
71753         * m4/printf.m4: New file.
71754
71755 2007-03-04  Bruno Haible  <bruno@clisp.org>
71756
71757         Compile progreloc.c only if --enable-relocatable is specified.
71758         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
71759         if --enable-relocatable was specified.
71760         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
71761         lib_SOURCES.
71762
71763 2007-03-04  Jim Meyering  <jim@meyering.net>
71764
71765         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
71766         Use it consistently, rather than enumerating errno constants.
71767
71768 2007-03-04  Bruno Haible  <bruno@clisp.org>
71769
71770         * modules/xvasprintf-tests: New file.
71771         * tests/test-xvasprintf.c: New file.
71772
71773         * modules/vasprintf-tests: New file.
71774         * tests/test-vasprintf.c: New file.
71775
71776         * modules/vasnprintf-tests: New file.
71777         * tests/test-vasnprintf.c: New file.
71778
71779         * modules/vsnprintf-tests: New file.
71780         * tests/test-vsnprintf.c: New file.
71781
71782         * modules/snprintf-tests: New file.
71783         * tests/test-snprintf.c: New file.
71784
71785 2007-03-04  Bruno Haible  <bruno@clisp.org>
71786
71787         Compile relocatable.c only if --enable-relocatable is specified.
71788         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
71789         gl_RELOCATABLE_LIBRARY.
71790         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
71791         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
71792         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
71793         gl_RELOCATABLE_LIBRARY.
71794         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
71795         (Makefile.am): Remove lib_SOURCES.
71796         * modules/relocatable-lib-lgpl (configure.ac): Invoke
71797         gl_RELOCATABLE_LIBRARY.
71798         (Makefile.am): Remove lib_SOURCES.
71799         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
71800         always.
71801         * modules/relocatable-prog-wrapper (configure.ac): Invoke
71802         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
71803
71804 2007-03-04  Bruno Haible  <bruno@clisp.org>
71805
71806         * modules/argmatch-tests: New file.
71807         * tests/test-argmatch.c: New file.
71808
71809         * tests/test-allocsa.c (main): Halve the number of loop runs.
71810
71811         * modules/alloca-opt-tests: New file.
71812         * tests/test-alloca-opt.c: New file.
71813
71814 2007-03-04  Jim Meyering  <jim@meyering.net>
71815
71816         Work around difference between Linux ACLs and Solaris 10 ZFS.
71817         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
71818         for EINVAL.
71819
71820 2007-03-03  Bruno Haible  <bruno@clisp.org>
71821
71822         * modules/relocatable-prog (Depends-on): Add back progreloc's
71823         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
71824
71825 2007-03-03  Bruno Haible  <bruno@clisp.org>
71826
71827         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
71828         * modules/relocatable-lib: New file.
71829
71830 2007-03-03  Bruno Haible  <bruno@clisp.org>
71831
71832         * modules/relocatable-prog: Renamed from modules/relocatable.
71833         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
71834
71835 2007-03-03  Bruno Haible  <bruno@clisp.org>
71836
71837         * modules/relocatable-script (Files): Add doc/relocatable.texi,
71838         m4/relocatable-lib.m4.
71839         (Depends-on): Remove 'relocatable'.
71840         (configure.ac): Add gl_RELOCATABLE_NOP.
71841
71842 2007-03-03  Bruno Haible  <bruno@clisp.org>
71843
71844         * modules/relocatable-prog-wrapper: New file.
71845         * modules/relocatable (Depends-on): Add it. Remove all other
71846         dependencies except progname.
71847         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
71848
71849         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
71850         (gl_FUNC_STRERROR): Nop.
71851         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
71852
71853         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
71854         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
71855
71856         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
71857         (gl_FUNC_READLINK): Update.
71858
71859         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
71860
71861 2007-03-03  Bruno Haible  <bruno@clisp.org>
71862
71863         * lib/xreadlink.c: Include <unistd.h> unconditionally.
71864         * modules/xreadlink (Depends-on): Add unistd.
71865         * modules/xreadlink-with-size (Depends-on): Likewise.
71866
71867 2007-03-03  Bruno Haible  <bruno@clisp.org>
71868
71869         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
71870         extracted from gt_FUNC_SETENV.
71871         (gt_FUNC_SETENV): Remove macro.
71872         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
71873         remove gt_FUNC_SETENV.
71874
71875 2007-03-03  Bruno Haible  <bruno@clisp.org>
71876
71877         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71878         ENABLE_RELOCATABLE here.
71879         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71880
71881 2007-03-03  Bruno Haible  <bruno@clisp.org>
71882
71883         * modules/rbtreehash-list-tests (Depends-on): Add progname.
71884         * tests/test-rbtreehash_list.c: Include progname.h.
71885         (main): Call set_program_name.
71886
71887         * modules/rbtree-oset-tests (Depends-on): Add progname.
71888         * tests/test-rbtree_oset.c: Include progname.h.
71889         (main): Call set_program_name.
71890
71891         * modules/rbtree-list-tests (Depends-on): Add progname.
71892         * tests/test-rbtree_list.c: Include progname.h.
71893         (main): Call set_program_name.
71894
71895         * modules/linked-list-tests (Depends-on): Add progname.
71896         * tests/test-linked_list.c: Include progname.h.
71897         (main): Call set_program_name.
71898
71899 2007-03-03  Bruno Haible  <bruno@clisp.org>
71900
71901         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
71902         All uses of __restrict changed to _Restrict_.
71903         * lib/glob_.h (__restrict): Remove macro.
71904
71905 2007-03-02  Bruno Haible  <bruno@clisp.org>
71906
71907         * modules/gettext (configure.ac): Require gettext infrastructure
71908         from version 0.16.1.
71909
71910 2007-03-02  Bruno Haible  <bruno@clisp.org>
71911
71912         * modules/linkedhash-list-tests (Depends-on): Add progname.
71913         * tests/test-linkedhash_list.c: Include progname.h.
71914         (main): Call set_program_name.
71915
71916         * modules/carray-list-tests (Depends-on): Add progname.
71917         * tests/test-carray_list.c: Include progname.h.
71918         (main): Call set_program_name.
71919
71920         * modules/avltreehash-list-tests (Depends-on): Add progname.
71921         * tests/test-avltreehash_list.c: Include progname.h.
71922         (main): Call set_program_name.
71923
71924         * modules/avltree-oset-tests (Depends-on): Add progname.
71925         * tests/test-avltree_oset.c: Include progname.h.
71926         (main): Call set_program_name.
71927
71928         * modules/avltree-list-tests (Depends-on): Add progname.
71929         * tests/test-avltree_list.c: Include progname.h.
71930         (main): Call set_program_name.
71931
71932         * modules/array-oset-tests (Depends-on): Add progname.
71933         * tests/test-array_oset.c: Include progname.h.
71934         (main): Call set_program_name.
71935
71936         * modules/array-list-tests (Depends-on): Add progname.
71937         * tests/test-array_list.c: Include progname.h.
71938         (main): Call set_program_name.
71939
71940         * modules/argp-tests (Depends-on): Add progname.
71941         * tests/test-argp.c: Include argp.h first. Include progname.h.
71942         (main): Call set_program_name.
71943
71944 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
71945
71946         * doc/gnulib-tool.texi (Initial import): Reword description of
71947         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
71948         limited effect even if defined after the first system include.
71949
71950 2007-03-01  Bruno Haible  <bruno@clisp.org>
71951
71952         * build-aux/config.libpath: Update to libtool-1.5.22.
71953         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71954
71955 2007-03-01  Bruno Haible  <bruno@clisp.org>
71956
71957         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
71958         foo_CFLAGS.
71959         Reported by Ralf Wildenhues.
71960
71961 2007-03-01  Bruno Haible  <bruno@clisp.org>
71962
71963         * build-aux/install-reloc: Remove object files left over by some
71964         compilers.
71965         Reported by Ralf Wildenhues.
71966
71967 2007-03-01  Bruno Haible  <bruno@clisp.org>
71968
71969         * build-aux/install-reloc: Break long lines.
71970
71971 2007-03-01  Bruno Haible  <bruno@clisp.org>
71972
71973         * doc/relocatable.texi: Document that it may not work on OpenBSD.
71974         Reported by Ralf Wildenhues.
71975
71976 2007-03-01  Bruno Haible  <bruno@clisp.org>
71977
71978         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
71979         include ordering constraints.
71980
71981 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71982
71983         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
71984         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
71985         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
71986         as another example.
71987         * lib/time_.h: Fix misspelling.
71988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71989         Require gl_HEADER_TIME_H_DEFAULTS.
71990         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
71991         * m4/time_r.m4 (gl_TIME_R): Likewise.
71992         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
71993
71994 2007-03-01  Bruno Haible  <bruno@clisp.org>
71995
71996         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
71997         * m4/utimens.m4 (gl_UTIMENS): Likewise.
71998
71999 2007-03-01  Jim Meyering  <jim@meyering.net>
72000
72001         * modules/xreadlink (Maintainer): Add my name.
72002         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72003
72004 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72005             Bruno Haible  <bruno@clisp.org>
72006
72007         * build-aux/install-reloc: Compile also c-ctype.c.
72008         * build-aux/relocatable.sh.in: New file.
72009         * doc/relocatable.texi: New file.
72010         * doc/relocatable-maint.texi: New file.
72011         * doc/gnulib.texi: Include relocatable-maint.texi.
72012         * lib/progreloc.c: Include unistd.h unconditionally.
72013         * lib/relocwrapper.c: Include unistd.h unconditionally.
72014         Include c-ctype.h.
72015         (add_dotbin): Use c_tolower.
72016         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72017         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72018         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72019         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72020         to m4/relocatable-lib.m4.
72021         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72022         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72023         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72024         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72025         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72026         * modules/relocatable: New file.
72027         * modules/relocatable-lib: New file.
72028         * modules/relocatable-script: New file.
72029
72030 2007-02-28  Bruno Haible  <bruno@clisp.org>
72031
72032         Import --enable-relocatable infrastructure.
72033         * build-aux/config.libpath: New file, from GNU gettext.
72034         * build-aux/install-reloc: New file, from GNU gettext.
72035         * build-aux/reloc-ldflags: New file, from GNU gettext.
72036         * lib/relocatable.h: New file, from GNU gettext.
72037         * lib/relocatable.c: New file, from GNU gettext.
72038         * lib/relocwrapper.c: New file, from GNU gettext.
72039         * m4/relocatable.m4: New file, from GNU gettext.
72040
72041 2007-02-28  Bruno Haible  <bruno@clisp.org>
72042
72043         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72044
72045         * modules/xreadlink: New file, from GNU gettext with modifications.
72046         * lib/xreadlink.c: New file, from GNU gettext.
72047         * lib/xreadlink.h: Add comments.
72048         (xreadlink): New declaration.
72049
72050         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72051         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72052         lib/xreadlink-with-size.c.
72053         (configure.ac): Remove gl_XREADLINK invocation.
72054         (Makefile.am): Augment lib_SOURCES.
72055         * m4/xreadlink.m4: Remove file.
72056         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72057         (xreadlink_with_size): Renamed from xreadink.
72058         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72059         * modules/canonicalize (Depends-on): Replace xreadlink with
72060         xreadlink-with-size.
72061         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72062
72063 2007-02-25  Jim Meyering  <jim@meyering.net>
72064
72065         * build-aux/announce-gen: When complaining about excess arguments,
72066         list them.
72067
72068 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72069
72070         * README: Document signed integer overflow situation more
72071         accurately.
72072
72073 2007-02-25  Bruno Haible  <bruno@clisp.org>
72074
72075         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72076         'a' or 'A' conversion.
72077
72078 2007-02-25  Bruno Haible  <bruno@clisp.org>
72079
72080         * modules/filename: Renamed from modules/pathname.
72081         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72082         lib/concatpath.c with lib/concat-filename.c.
72083         (Makefile.am): Update.
72084         (Include): Replace pathname.h with filename.h.
72085         * lib/filename.h: Renamed from lib/pathname.h.
72086         (concatenated_filename): Renamed from concatenated_pathname.
72087         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72088         (concatenated_filename): Renamed from concatenated_pathname.
72089         * lib/findprog.c: Include filename.h instead of pathname.h.
72090         (find_in_path): Update.
72091         * lib/javacomp.c: Include filename.h instead of pathname.h.
72092         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72093         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72094         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72095         is_oldgcj_14_13_usable, is_javac_usable): Update.
72096         * lib/javaexec.c: Include filename.h instead of pathname.h.
72097         (execute_java_class): Update.
72098         * modules/findprog: Update.
72099         * modules/javacomp: Update.
72100         * modules/javaexec: Update.
72101         * MODULES.html.sh (File system functions): Add 'filename', remove
72102         'pathname'.
72103
72104 2007-02-25  Bruno Haible  <bruno@clisp.org>
72105
72106         * modules/printf-frexpl-tests: New file.
72107         * tests/test-printf-frexpl.c: New file.
72108
72109         * modules/printf-frexpl: New file.
72110         * lib/printf-frexpl.h: New file.
72111         * lib/printf-frexpl.c: New file.
72112         * m4/printf-frexpl.m4: New file.
72113
72114 2007-02-25  Bruno Haible  <bruno@clisp.org>
72115
72116         * modules/printf-frexp-tests: New file.
72117         * tests/test-printf-frexp.c: New file.
72118
72119         * modules/printf-frexp: New file.
72120         * lib/printf-frexp.h: New file.
72121         * lib/printf-frexp.c: New file.
72122         * m4/printf-frexp.m4: New file.
72123
72124 2007-02-25  Bruno Haible  <bruno@clisp.org>
72125
72126         Assume automake >= 1.10 for the tests.
72127         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72128         * modules/arctwo-tests: Likewise.
72129         * modules/argp-tests: Likewise.
72130         * modules/avltree-list-tests: Likewise.
72131         * modules/avltree-oset-tests: Likewise.
72132         * modules/avltreehash-list-tests: Likewise.
72133         * modules/carray-list-tests: Likewise.
72134         * modules/crc-tests: Likewise.
72135         * modules/des-tests: Likewise.
72136         * modules/gc-arcfour-tests: Likewise.
72137         * modules/gc-arctwo-tests: Likewise.
72138         * modules/gc-des-tests: Likewise.
72139         * modules/gc-hmac-md5-tests: Likewise.
72140         * modules/gc-hmac-sha1-tests: Likewise.
72141         * modules/gc-md2-tests: Likewise.
72142         * modules/gc-md4-tests: Likewise.
72143         * modules/gc-md5-tests: Likewise.
72144         * modules/gc-pbkdf2-sha1-tests: Likewise.
72145         * modules/gc-rijndael-tests: Likewise.
72146         * modules/gc-sha1-tests: Likewise.
72147         * modules/gc-tests: Likewise.
72148         * modules/getaddrinfo-tests: Likewise.
72149         * modules/hmac-md5-tests: Likewise.
72150         * modules/hmac-sha1-tests: Likewise.
72151         * modules/linked-list-tests: Likewise.
72152         * modules/linkedhash-list-tests: Likewise.
72153         * modules/lock-tests: Likewise.
72154         * modules/md2-tests: Likewise.
72155         * modules/md4-tests: Likewise.
72156         * modules/md5-tests: Likewise.
72157         * modules/rbtree-list-tests: Likewise.
72158         * modules/rbtree-oset-tests: Likewise.
72159         * modules/rbtreehash-list-tests: Likewise.
72160         * modules/read-file-tests: Likewise.
72161         * modules/rijndael-tests: Likewise.
72162         * modules/stdint-tests: Likewise.
72163         * modules/tls-tests: Likewise.
72164
72165 2007-02-24  Bruno Haible  <bruno@clisp.org>
72166
72167         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72168         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72169         function; instead check whether isnan with a double argument links.
72170         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72171         function; instead check whether isnan with a 'long double' argument
72172         links.
72173         Reported by Eric Blake <ebb9@byu.net>.
72174
72175 2007-02-24  Bruno Haible  <bruno@clisp.org>
72176
72177         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72178         defined.
72179         * lib/isnanl.c: Remove all code. Just include isnan.c.
72180         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72181
72182 2007-02-25  Jim Meyering  <jim@meyering.net>
72183
72184         Avoid conflicting types for 'unsetenv' on FreeBSD.
72185         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72186         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72187         in stdlib.h.
72188
72189 2007-02-24  Bruno Haible  <bruno@clisp.org>
72190
72191         * modules/isnanl-nolibm-tests: New file.
72192         * tests/test-isnanl.c: New file.
72193
72194         * modules/isnanl-nolibm: New file.
72195         * lib/isnanl.h: New file.
72196         * lib/isnanl.c: New file.
72197         * m4/isnanl.m4: New file.
72198
72199 2007-02-24  Bruno Haible  <bruno@clisp.org>
72200
72201         * modules/isnan-nolibm-tests: New file.
72202         * tests/test-isnan.c: New file.
72203
72204         * modules/isnan-nolibm: New file.
72205         * lib/isnan.h: New file.
72206         * lib/isnan.c: New file.
72207         * m4/isnan.m4: New file.
72208
72209 2007-02-24  Bruno Haible  <bruno@clisp.org>
72210
72211         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72212         assume that an exponent fits in 20 bits.
72213
72214 2007-02-24  Jim Meyering  <jim@meyering.net>
72215
72216         * m4/regex.m4: Update the description of the configure-time option,
72217         --without-included-regex, to state accurately what the defaults are,
72218         and perhaps to give people an idea why using this option is risky.
72219
72220 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72221
72222         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72223         loops on small arguments.  This attempts to avoid the problem
72224         Bruno Haible reported for AIX 4.3.2 in
72225         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72226
72227 2007-02-23  Bruno Haible  <bruno@clisp.org>
72228
72229         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72230         Needed for help2man.
72231
72232 2007-02-23  Karl Berry  <karl@gnu.org>
72233
72234         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72235         exists, foo.h should be cvs-ignored, not committed.
72236
72237 2007-02-23  Eric Blake  <ebb9@byu.net>
72238
72239         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72240         * lib/stat-time.h (includes): Likewise.
72241         * lib/utimecmp.c (includes): Likewise.
72242         * lib/utimens.h (includes): Likewise.
72243         * lib/getdate.y (includes): Also include "timespec.h" for use
72244         internal to the module.
72245         * modules/utimens (Depends-on): Revert yesterday's patch.
72246         * modules/nanosleep (Depends-on): Add missing dependency.
72247
72248 2007-02-22  Bruno Haible  <bruno@clisp.org>
72249
72250         * lib/glob.c: Don't include getlogin_r.h.
72251
72252 2007-02-22  Jim Meyering  <jim@meyering.net>
72253
72254         * modules/utimens (Depends-on): Add timespec, required for
72255         utimens.h's inclusion of timespec.h.
72256
72257 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72258
72259         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72260         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72261         Schwab in
72262         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72263         I'll try to think of a better way to fix the Solaris problem.
72264
72265         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72266         like glibc; on Solaris 10, it fails with errno == EINVAL.
72267         POSIX says the behavior is unspecified if the first argument is NULL,
72268         so play it safe and never pass NULL to the system getcwd.
72269
72270 2007-02-21  Jim Meyering  <jim@meyering.net>
72271
72272         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72273         of gettimeofday.  It would conflict with the one now always
72274         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72275         an IRIX 6.5 build failure.
72276
72277 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         Minor fixups to port to Solaris 10 with Sun C 5.8.
72280         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72281         * modules/getcwd (Depends-on): Add dirfd.
72282         * lib/putenv.c (putenv): #undef it.
72283         (rpl_putenv): New decl.
72284         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72285
72286 2007-02-20  Bruno Haible  <bruno@clisp.org>
72287
72288         * modules/stdio-tests: New file.
72289         * tests/test-stdio.c: New file.
72290
72291         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72292         (Depends-on): Add stdio.
72293         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72294         (Include): Use <stdio.h> instead of vsnprintf.h.
72295         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72296         HAVE_DECL_VSNPRINTF.
72297         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72298
72299         * modules/snprintf (Files): Remove lib/snprintf.h.
72300         (Depends-on): Add stdio.
72301         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72302         (Include): Use <stdio.h> instead of snprintf.h.
72303         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72304         HAVE_DECL_SNPRINTF.
72305         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72306         * lib/getaddrinfo.c: Likewise.
72307
72308         * modules/stdio: New file.
72309         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72310         * lib/snprintf.h: Remove file.
72311         * lib/vsnprintf.h: Remove file.
72312         * lib/.cppi-disable: Remove snprintf.h.
72313         * m4/stdio_h.m4: New file.
72314         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72315
72316 2007-02-20  Jim Meyering  <jim@meyering.net>
72317
72318         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72319         used by e.g., mingw.  From Bruno Haible.
72320
72321 2007-02-19  Bruno Haible  <bruno@clisp.org>
72322
72323         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72324         warnings.
72325         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72326
72327 2007-02-19  Bruno Haible  <bruno@clisp.org>
72328
72329         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72330         from mingw users.
72331
72332 2007-02-19  Bruno Haible  <bruno@clisp.org>
72333
72334         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72335         warnings.
72336         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72337
72338 2007-02-19  Jim Meyering  <jim@meyering.net>
72339
72340         Don't use FD after a successful "fdopendir (fd)".
72341         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72342         Reset it by calling dirfd on the just-obtained DIR*.
72343
72344         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72345         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72346
72347 2007-02-18  Bruno Haible  <bruno@clisp.org>
72348
72349         * lib/readlink.c: Include <unistd.h>.
72350         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72351         HAVE_READLINK.
72352         * modules/readlink (Depends-on): Add unistd.
72353         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72354         (Include): Add <unistd.h>.
72355
72356         * lib/getlogin_r.h: Remove file.
72357         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72358         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72359         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72360         HAVE_DECL_GETLOGIN_R.
72361         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72362         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72363         (Include): Use <unistd.h> instead of getlogin_r.h.
72364
72365         * lib/getcwd.h: Remove file.
72366         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72367         * lib/xgetcwd.c: Likewise.
72368         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72369         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72370         * modules/getcwd (Files): Remove lib/getcwd.h.
72371         (Depends-on): Add unistd.
72372         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72373         (Include): Use <unistd.h> instad of getcwd.h.
72374
72375         * lib/ftruncate.c: Include <unistd.h> first.
72376         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72377         Set HAVE_FTRUNCATE.
72378         * modules/ftruncate (Depends-on): Add unistd.
72379         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72380
72381         * lib/fchdir.c: Include <unistd.h> first.
72382         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72384         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72385         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72386         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72387
72388         * lib/dup2.c: Include <unistd.h> first.
72389         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72390         HAVE_DUP2.
72391         * modules/dup2 (Depends-on): Add unistd.
72392         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72393
72394         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72395         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72396         REPLACE_CHOWN. Don't define chown as a macro here.
72397         * modules/chown (Depends-on): Add unistd.
72398         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72399
72400         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72401         Add definition for GL_LINK_WARNING.
72402         (chown, dup2): New declarations.
72403         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72404         link warning.
72405         (ftruncate): New declaration.
72406         (getcwd): New declaration, taken from old getcwd.h.
72407         (getlogin_r): New declaration, taken from old getlogin_r.h.
72408         (readlink): New declaration.
72409         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72410         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72411         (gl_PREREQ_UNISTD): Remove macro.
72412         (gl_UNISTD_MODULE_INDICATOR): New macro.
72413         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72414         many new variables. Don't set UNISTD_H.
72415         * modules/unistd (Description): Change.
72416         (Depends-on): Add link-warning.
72417         (configure.ac): Update.
72418         (Makefile.am): Create unistd.h always. Substitute many new variables
72419         into it.
72420
72421 2007-02-18  Bruno Haible  <bruno@clisp.org>
72422
72423         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72424         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72425         HAVE_GETSUBOPT.
72426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72427         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72428         * lib/getsubopt.h: Remove file.
72429         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72430         (Depends-on): Add stdlib.
72431         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72432         (Includes): Use <stdlib.h> instead of getsubopt.h.
72433         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72434         Set HAVE_GETSUBOPT.
72435         * lib/getsubopt.c: Don't include getsubopt.h.
72436
72437 2007-02-18  Bruno Haible  <bruno@clisp.org>
72438
72439         * modules/fchdir (Depends-on): Add dup2.
72440
72441 2007-02-18  Bruno Haible  <bruno@clisp.org>
72442
72443         * lib/stdlib_.h: Handle glibc's special invocation convention
72444         specially.
72445
72446 2007-02-18  Bruno Haible  <bruno@clisp.org>
72447
72448         * modules/stdlib-tests: New file.
72449         * tests/test-stdlib.c: New file.
72450
72451         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72452         (Depends-on): Add stdlib.
72453         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72454         (Includes): Use <stdlib.h> instead of mkstemp.h.
72455         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72456         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72457         * lib/mkstemp.c: Don't include mkstemp.h.
72458         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72459         * lib/stdlib--.h: Don't include mkstemp.h.
72460
72461         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72462         (Depends-on): Add stdlib.
72463         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72464         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72465         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72466         HAVE_MKDTEMP.
72467         * lib/mkdtemp.c: Don't include mkdtemp.h.
72468         * lib/clean-temp.c: Don't include mkdtemp.h.
72469
72470         * modules/exit (Files): Remove lib/exit.h.
72471         (Depends-on): Add stdlib.
72472         (Makefile.am): Remove lib_SOURCES.
72473         (Include): Use <stdlib.h> instead of exit.h.
72474         * lib/argmatch.c: Don't include exit.h.
72475         * lib/execute.c: Likewise.
72476         * lib/pagealign_alloc.c: Likewise.
72477         * lib/pipe.c: Likewise.
72478         * lib/wait-process.c: Likewise.
72479         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72480         * lib/exitfail.c: Likewise.
72481         * lib/savewd.c: Likewise.
72482         * lib/xsetenv.c: Likewise.
72483
72484         * modules/stdlib: New file.
72485         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72486         and extra comments about mkstemp().
72487         * lib/exit.h: Remove file.
72488         * lib/mkdtemp.h: Remove file.
72489         * lib/mkstemp.h: Remove file.
72490         * m4/stdlib_h.m4: New file.
72491         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72492
72493 2007-02-18  Bruno Haible  <bruno@clisp.org>
72494
72495         * modules/math-tests: New file.
72496         * tests/test-math.c: New file.
72497
72498         * modules/math: New file.
72499         * modules/mathl (Files): Remove lib/mathl.h.
72500         (Depends-on): Add math.
72501         (Makefile.am): Don't mention mathl.h.
72502         (Include): Use <math.h> instead of mathl.h.
72503         * lib/math_.h: New file.
72504         * lib/mathl.h: Remove file.
72505         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72506         mathl.h.
72507         * lib/asinl.c: Likewise.
72508         * lib/atanl.c: Likewise.
72509         * lib/ceill.c: Likewise.
72510         * lib/cosl.c: Likewise.
72511         * lib/expl.c: Likewise.
72512         * lib/floorl.c: Likewise.
72513         * lib/frexpl.c: Likewise.
72514         * lib/ldexpl.c: Likewise.
72515         * lib/logl.c: Likewise.
72516         * lib/sincosl.c: Likewise.
72517         * lib/sinl.c: Likewise.
72518         * lib/sqrtl.c: Likewise.
72519         * lib/tanl.c: Likewise.
72520         * lib/trigl.c: Likewise.
72521         * m4/math_h.m4: New file.
72522         * MODULES.html.sh (Mathematics): Add math.
72523
72524 2007-02-17  Bruno Haible  <bruno@clisp.org>
72525
72526         * modules/wctype-tests: New file.
72527         * tests/test-wctype.c: New file.
72528
72529         * modules/wchar-tests: New file.
72530         * tests/test-wchar.c: New file.
72531
72532         * modules/unistd-tests: New file.
72533         * tests/test-unistd.c: New file.
72534
72535         * modules/time-tests: New file.
72536         * tests/test-time.c: New file.
72537
72538         * modules/sysexits-tests: New file.
72539         * tests/test-sysexits.c: New file.
72540
72541         * modules/sys_time-tests: New file.
72542         * tests/test-sys_time.c: New file.
72543
72544         * modules/sys_stat-tests: New file.
72545         * tests/test-sys_stat.c: New file.
72546
72547         * modules/sys_socket-tests: New file.
72548         * tests/test-sys_socket.c: New file.
72549
72550         * modules/sys_select-tests: New file.
72551         * tests/test-sys_select.c: New file.
72552
72553         * modules/string-tests: New file.
72554         * tests/test-string.c: New file.
72555
72556         * modules/stdbool-tests: New file.
72557         * tests/test-stdbool.c: New file.
72558
72559         * modules/netinet_in-tests: New file.
72560         * tests/test-netinet_in.c: New file.
72561
72562         * modules/inttypes-tests: New file.
72563         * tests/test-inttypes.c: New file.
72564
72565         * modules/fcntl-tests: New file.
72566         * tests/test-fcntl.c: New file.
72567
72568         * modules/byteswap-tests: New file.
72569         * tests/test-byteswap.c: New file.
72570
72571         * modules/arpa_inet-tests: New file.
72572         * tests/test-arpa_inet.c: New file.
72573
72574 2007-02-17  Bruno Haible  <bruno@clisp.org>
72575
72576         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72577         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72578         if the corresponding module is not enabled. Emit link warnings if
72579         the function is used nevertheless.
72580         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72581         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72582         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72583         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72584         * modules/inttypes (Depends-on): Add link-warning.
72585         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72586         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72587         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72588         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72589         * modules/imaxdiv (configure.ac): Likewise.
72590         * modules/strtoimax (configure.ac): Likewise.
72591         * modules/strtoumax (configure.ac): Likewise.
72592
72593 2007-02-17  Bruno Haible  <bruno@clisp.org>
72594
72595         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72596         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72597         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72598         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72599
72600 2007-02-17  Bruno Haible  <bruno@clisp.org>
72601
72602         * modules/link-warning: New file.
72603         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72604         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72605         * modules/string (Depends-on): Add link-warning.
72606         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72607         string.h.
72608         * MODULES.html.sh (Support for building libraries and executables): Add
72609         link-warning.
72610
72611 2007-02-17  Bruno Haible  <bruno@clisp.org>
72612
72613         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72614         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72615         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72616         long lines.
72617
72618 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72619             Bruno Haible  <bruno@clisp.org>
72620
72621         * modules/tmpfile: New file.
72622         * lib/tmpfile.c: New file.
72623         * m4/tmpfile.m4: New file.
72624         * MODULES.html.sh (func_all_modules): New section "Input/output".
72625
72626 2007-02-15  Bruno Haible  <bruno@clisp.org>
72627
72628         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72629         (supports_delete_on_close): New function.
72630         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72631
72632 2007-02-14  Bruno Haible  <bruno@clisp.org>
72633
72634         * modules/mbspcasecmp-tests: New file.
72635         * tests/test-mbspcasecmp.sh: New file.
72636         * tests/test-mbspcasecmp.c: New file.
72637
72638         New module mbspcasecmp.
72639         * modules/mbspcasecmp: New file.
72640         * lib/mbspcasecmp.c: New file.
72641         * lib/string_.h (strncasecmp): Change warning message.
72642         (mbspcasecmp): New declaration.
72643         * m4/mbspcasecmp.m4: New file.
72644         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72645         GNULIB_MBSPCASECMP.
72646         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72647         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72648
72649 2007-02-14  Bruno Haible  <bruno@clisp.org>
72650
72651         * modules/mbsncasecmp-tests: New file.
72652         * tests/test-mbsncasecmp.sh: New file.
72653         * tests/test-mbsncasecmp.c: New file.
72654
72655         New module mbsncasecmp.
72656         * modules/mbsncasecmp: New file.
72657         * lib/mbsncasecmp.c: New file.
72658         * lib/string_.h (mbsncasecmp): New declaration.
72659         * m4/mbsncasecmp.m4: New file.
72660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72661         GNULIB_MBSNCASECMP.
72662         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72663         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72664
72665 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72666
72667         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72668         Verify that it doesn't overlap with our flags.
72669         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72670         do not have the desired effect in multibyte locales; instead, use
72671         mbscasecmp.
72672         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72673         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72674         we don't require GNU fnmatch ourselves (if our users require it, they
72675         should do so explicitly).
72676
72677         Fix regex code so it doesn't rely on strcasecmp.
72678         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72679         Otherwise, include gnulib's langinfo.h.
72680         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72681         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72682         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72683         * modules/regex (FILES): Remove m4/codeset.m4.
72684         (Depends-on): Add localcharset.  Remove strcase.
72685
72686 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72687
72688         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72689         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72690
72691 2007-02-13  Bruno Haible  <bruno@clisp.org>
72692
72693         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72694         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72695
72696 2007-02-12  Bruno Haible  <bruno@clisp.org>
72697
72698         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72699         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72700         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72701         time warning rather than a link error.
72702
72703 2007-02-12  Bruno Haible  <bruno@clisp.org>
72704
72705         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72706         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72707         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72708
72709 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72710
72711         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
72712         args, not 2.
72713
72714 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72715
72716         New module 'time', so that apps can include <time.h> as per
72717         POSIX and GNU instead of separate include files like time_r.h
72718         and timegm.h.  This implementation tries out a simpler approach
72719         for replacing decls in standard include files (as compared to
72720         the string module), somewhat as an experiment.
72721
72722         * config/srclist.txt: Comment out mktime.c for now.
72723         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
72724         since it doesn't apply any more.  Use generic wording instead.
72725         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
72726         'time'.
72727         * lib/time_.h, m4/time_h.m4, modules/time: New files.
72728         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
72729         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
72730         Don't include <sys/types.h>; no longer needed since we assume C89.
72731         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
72732         * lib/strftime.c: Likewise.
72733         * lib/time_r.c: Likewise.
72734         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
72735         * lib/nanosleep.c: Include <time.h> first, to check interface.
72736         * lib/strptime.c: Likewise.
72737         * lib/time_r.c: Likewise.
72738         * lib/timegm.c: Likewise.
72739         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
72740         needed.
72741         * lib/timegm.c: Don't include timegm.h; no longer needed.
72742         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
72743         time.h now handles any problems in that area.
72744         (struct timespec, nanosleep): Remove; time.h now arranges for these.
72745         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
72746         that time.h defines struct timespec.
72747         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
72748         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
72749         handles that.
72750         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
72751         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
72752         needed.  Set REPLACE_LOCALTIME.
72753         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
72754         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
72755         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
72756         nanosleep; time_h.m4 now does that.  Don't require
72757         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
72758         module handles this now.
72759         * modules/getdate (Depends-on): Remove timespec.  Add time.
72760         * modules/nanosleep (Depends-on): Likewise.
72761         * modules/stat-time (Depends-on): Likewise.
72762         * modules/nanosleep (Include): Include time.h, not timespec.h.
72763         * modules/strptime (Files): Remove lib/strptime.h.
72764         (Depends-on): Add extensions, time.
72765         (Include): Include time.h, not strptime.h.
72766         * modules/time_r (Files): Remove lib/time_r.h.
72767         (Depends-on): Add time.
72768         (Include): Include time.h, not time_r.h.
72769         * modules/timegm: Likewise.
72770         * modules/timespec (Description): Now does timespec-related decls
72771         of our own, instead of struct timespec itself.
72772         (Depends-on): Add time; remove extensions.
72773         (Maintainer): Add self.
72774         * modules/utimecmp (Depends-on): Add time; remove timespec.
72775         * modules/utimens (Depends-on): Likewise.
72776         * modules/xnanosleep (Depends-on): Likewise.
72777
72778 2007-02-11  Bruno Haible  <bruno@clisp.org>
72779
72780         * lib/c-strstr.c: Include allocsa.h.
72781         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72782         * lib/c-strcasestr.c: Include allocsa.h.
72783         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72784         * lib/strcasestr.c: Include allocsa.h.
72785         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72786         * lib/mbsstr.c: Include allocsa.h.
72787         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72788         allocsa/freesa instead of malloc/free.
72789         * lib/mbscasestr.c: Include allocsa.h.
72790         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72791         allocsa/freesa instead of malloc/free.
72792         * modules/c-strstr (Depends-on): Add allocsa.
72793         * modules/c-strcasestr (Depends-on): Likewise.
72794         * modules/strcasestr (Depends-on): Likewise.
72795         * modules/mbsstr (Depends-on): Likewise.
72796         * modules/mbscasestr (Depends-on): Likewise.
72797
72798 2007-02-11  Bruno Haible  <bruno@clisp.org>
72799
72800         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
72801
72802         * modules/mbsspn-tests: New file.
72803         * tests/test-mbsspn.sh: New file.
72804         * tests/test-mbsspn.c: New file.
72805
72806 2007-02-11  Bruno Haible  <bruno@clisp.org>
72807
72808         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
72809
72810         * modules/mbspbrk-tests: New file.
72811         * tests/test-mbspbrk.sh: New file.
72812         * tests/test-mbspbrk.c: New file.
72813
72814 2007-02-11  Bruno Haible  <bruno@clisp.org>
72815
72816         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
72817         unneeded cast.
72818
72819         * modules/mbscspn-tests: New file.
72820         * tests/test-mbscspn.sh: New file.
72821         * tests/test-mbscspn.c: New file.
72822
72823 2007-02-11  Bruno Haible  <bruno@clisp.org>
72824
72825         * modules/mbscasecmp-tests: New file.
72826         * tests/test-mbscasecmp.sh: New file.
72827         * tests/test-mbscasecmp.c: New file.
72828
72829 2007-02-11  Bruno Haible  <bruno@clisp.org>
72830
72831         Ensure O(n) worst-case complexity of mbscasestr.
72832         * lib/mbscasestr.c: Include stdbool.h.
72833         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72834         functions.
72835         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
72836         the bookkeeping indicates that it's worth it.
72837         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
72838
72839         * modules/mbscasestr-tests: New file.
72840         * tests/test-mbscasestr1.c: New file.
72841         * tests/test-mbscasestr2.sh: New file.
72842         * tests/test-mbscasestr2.c: New file.
72843         * tests/test-mbscasestr3.sh: New file.
72844         * tests/test-mbscasestr3.c: New file.
72845         * tests/test-mbscasestr4.sh: New file.
72846         * tests/test-mbscasestr4.c: New file.
72847         * m4/locale-tr.m4: New file.
72848
72849 2007-02-11  Bruno Haible  <bruno@clisp.org>
72850
72851         Ensure O(n) worst-case complexity of mbsstr.
72852         * lib/mbsstr.c: Include stdbool.h.
72853         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72854         functions.
72855         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
72856         bookkeeping indicates that it's worth it.
72857         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
72858
72859         * modules/mbsstr-tests: New file.
72860         * tests/test-mbsstr1.c: New file.
72861         * tests/test-mbsstr2.sh: New file.
72862         * tests/test-mbsstr2.c: New file.
72863         * tests/test-mbsstr3.sh: New file.
72864         * tests/test-mbsstr3.c: New file.
72865         * m4/locale-fr.m4: New file.
72866
72867 2007-02-11  Bruno Haible  <bruno@clisp.org>
72868
72869         * lib/mbsrchr.c (mbsrchr): Fix bug.
72870
72871         * modules/mbsrchr-tests: New file.
72872         * tests/test-mbsrchr.sh: New file.
72873         * tests/test-mbsrchr.c: New file.
72874
72875 2007-02-11  Bruno Haible  <bruno@clisp.org>
72876
72877         * lib/mbschr.c (mbschr): Fix bug.
72878
72879         * modules/mbschr-tests: New file.
72880         * tests/test-mbschr.sh: New file.
72881         * tests/test-mbschr.c: New file.
72882         * m4/locale-zh.m4: New file.
72883
72884 2007-02-11  Bruno Haible  <bruno@clisp.org>
72885
72886         Support for copying multibyte string iterators.
72887         * lib/mbiter.h: Include <string.h>.
72888         (mbiter_multi_copy): New function.
72889         (mbi_copy): New macro.
72890         * lib/mbuiter.h: Include <string.h>.
72891         (mbuiter_multi_copy): New function.
72892         (mbui_copy): New macro.
72893
72894 2007-02-11  Bruno Haible  <bruno@clisp.org>
72895
72896         New module mbslen.
72897         * modules/mbslen: New file.
72898         * lib/mbslen.c: New file.
72899         * lib/string_.h (mbslen): New declaration.
72900         * m4/mbslen.m4: New file.
72901         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72902         GNULIB_MBSLEN.
72903         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
72904         * MODULES.html.sh (Internationalization functions): Add mbslen.
72905
72906 2007-02-11  Bruno Haible  <bruno@clisp.org>
72907
72908         Ensure O(n) worst-case complexity of strcasestr substitute.
72909         * lib/strcasestr.c: Include stdbool.h.
72910         (knuth_morris_pratt): New function.
72911         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72912         bookkeeping indicates that it's worth it.
72913         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
72914
72915         * modules/strcasestr-tests: New file.
72916         * tests/test-strcasestr.c: New file.
72917
72918 2007-02-11  Bruno Haible  <bruno@clisp.org>
72919
72920         Ensure O(n) worst-case complexity of c_strcasestr.
72921         * lib/c-strcasestr.c: Include stdbool.h, string.h.
72922         (knuth_morris_pratt): New function.
72923         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
72924         the bookkeeping indicates that it's worth it.
72925         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
72926
72927         * modules/c-strcasestr-tests: New file.
72928         * tests/test-c-strcasestr.c: New file.
72929
72930 2007-02-11  Bruno Haible  <bruno@clisp.org>
72931
72932         Ensure O(n) worst-case complexity of c_strstr.
72933         * lib/c-strstr.c: Include stdbool.h, string.h.
72934         (knuth_morris_pratt): New function.
72935         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72936         bookkeeping indicates that it's worth it.
72937         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
72938
72939         * lib/c-strstr.c: Complete rewrite for maintainability.
72940
72941         * modules/c-strstr-tests: New file.
72942         * tests/test-c-strstr.c: New file.
72943
72944 2007-02-11  Bruno Haible  <bruno@clisp.org>
72945
72946         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
72947         5.2.1 and earlier, whereby \055 was treated just like the range
72948         delimiter '-'.
72949         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
72950
72951 2007-02-08  Bruno Haible  <bruno@clisp.org>
72952
72953         * modules/regex (Depends-on): Add stdbool.
72954         Reported by Dalibor Topic <robilad@kaffe.org>.
72955
72956 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72957
72958         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
72959         Prefer returning from main to exiting from it.
72960         Remove unnecessary parens after sizeof.
72961
72962 2007-02-05  Bruno Haible  <bruno@clisp.org>
72963
72964         New module mbssep.
72965         * modules/mbssep: New file.
72966         * lib/mbssep.c: New file.
72967         * lib/string_.h (strsep): Add a conditional link warning.
72968         (mbssep): New declaration.
72969         * m4/mbssep.m4: New file.
72970         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72971         GNULIB_MBSSEP.
72972         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
72973         * MODULES.html.sh (Internationalization functions): Add mbssep.
72974
72975 2007-02-05  Bruno Haible  <bruno@clisp.org>
72976
72977         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
72978         Optimize search in case of 1 delimiter.
72979
72980 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72981
72982         * lib/acl.h: Include sys/types.h before sys/acl.h.
72983
72984 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72985
72986         Merge upstream fix for glibc bugzilla #3957:
72987
72988         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
72989
72990         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
72991         bit for RE_HAT_LISTS_NOT_NEWLINE.
72992         (build_charclass_op): Remove bogus comment.
72993
72994 2007-02-05  Simon Josefsson  <simon@josefsson.org>
72995
72996         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
72997
72998 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72999
73000         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73001         * lib/memmem.c [!defined _LIBC]: Include config.h.
73002
73003 2007-02-04  Bruno Haible  <bruno@clisp.org>
73004
73005         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73006         warning message.
73007
73008 2007-02-04  Bruno Haible  <bruno@clisp.org>
73009
73010         New module mbstok_r.
73011         * modules/mbstok_r: New file.
73012         * lib/mbstok_r.c: New file.
73013         * lib/string_.h (strtok_r): Change argument names to match the
73014         comments. Add a conditional link warning.
73015         (mbstok_r): New declaration.
73016         * m4/mbstok_r.m4: New file.
73017         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73018         GNULIB_MBSTOK_R.
73019         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73020         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73021
73022 2007-02-04  Bruno Haible  <bruno@clisp.org>
73023
73024         New module mbsspn.
73025         * modules/mbsspn: New file.
73026         * lib/mbsspn.c: New file.
73027         * lib/string_.h (strspn): Add a conditional link warning.
73028         (mbsspn): New declaration.
73029         * m4/mbsspn.m4: New file.
73030         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73031         GNULIB_MBSSPN.
73032         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73033         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73034
73035 2007-02-04  Bruno Haible  <bruno@clisp.org>
73036
73037         New module mbspbrk.
73038         * modules/mbspbrk: New file.
73039         * lib/mbspbrk.c: New file.
73040         * lib/string_.h (strpbrk): Add a conditional link warning.
73041         (mbspbrk): New declaration.
73042         * m4/mbspbrk.m4: New file.
73043         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73044         GNULIB_MBSPBRK.
73045         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73046         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73047
73048 2007-02-04  Bruno Haible  <bruno@clisp.org>
73049
73050         New module mbscspn.
73051         * modules/mbscspn: New file.
73052         * lib/mbscspn.c: New file.
73053         * lib/string_.h (strcspn): Add a conditional link warning.
73054         (mbscspn): New declaration.
73055         * m4/mbscspn.m4: New file.
73056         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73057         GNULIB_MBSCSPN.
73058         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73059         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73060
73061 2007-02-04  Bruno Haible  <bruno@clisp.org>
73062
73063         New module mbscasestr, reduced goal of strcasestr.
73064         * modules/mbscasestr: New file.
73065         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73066         (mbscasestr): Renamed from strcasestr.
73067         * lib/strcasestr.c: Don't include mbuiter.h.
73068         (strcasestr): Remove support for multibyte locales.
73069         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73070         Change the conditional link warning.
73071         (mbscasestr): New declaration.
73072         * m4/mbscasestr.m4: New file.
73073         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73074         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73075         REPLACE_STRCASESTR.
73076         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73077         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73078         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73079         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73080         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73081         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73082         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73083         (Depends-on): Remove mbuiter.
73084         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73085
73086 2007-02-04  Bruno Haible  <bruno@clisp.org>
73087
73088         Simplify handling of strncasecmp.
73089         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73090         the conditional link warning.
73091         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73092         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73093         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73094         * modules/strcase (configure.ac): Don't invoke
73095         gl_STRING_MODULE_INDICATOR.
73096         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73097
73098 2007-02-04  Bruno Haible  <bruno@clisp.org>
73099
73100         New module mbscasecmp, reduced goal of strcasecmp.
73101         * modules/mbscasecmp: New file.
73102         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73103         (mbscasecmp): Renamed from strcasecmp.
73104         * lib/strcasecmp.c: Don't include mbuiter.h.
73105         (strcasecmp): Remove support for multibyte locales.
73106         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73107         Change the conditional link warning.
73108         (mbscasecmp): New declaration.
73109         * m4/mbscasecmp.m4: New file.
73110         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73111         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73112         REPLACE_STRCASECMP.
73113         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73115         GNULIB_MBSCASECMP.
73116         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73117         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73118         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73119         (Depends-on): Remove mbuiter.
73120         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73121
73122 2007-02-04  Bruno Haible  <bruno@clisp.org>
73123
73124         New module mbsstr. Remove module strstr.
73125         * modules/mbsstr: New file.
73126         * modules/strstr: Remove file.
73127         * lib/mbsstr.c: Renamed from lib/strstr.c.
73128         (mbsstr): Renamed from strstr.
73129         * lib/string_.h (strstr): Remove declaration. Change the conditional
73130         link warning.
73131         (mbsstr): New declaration.
73132         * m4/mbsstr.m4: New file.
73133         * m4/strstr.m4: Remove file.
73134         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73135         REPLACE_STRSTR.
73136         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73137         Don't initialize GNULIB_STRSTR.
73138         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73139         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73140         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73141         (Support for systems lacking ANSI C 89): Remove strstr.
73142
73143 2007-02-04  Bruno Haible  <bruno@clisp.org>
73144
73145         New module mbsrchr.
73146         * modules/mbsrchr: New file.
73147         * lib/mbsrchr.c: New file.
73148         * lib/string_.h (strrchr): Add a conditional link warning.
73149         (mbsrchr): New declaration.
73150         * m4/mbsrchr.m4: New file.
73151         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73152         GNULIB_MBSRCHR.
73153         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73154         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73155
73156 2007-02-04  Bruno Haible  <bruno@clisp.org>
73157
73158         New module mbschr.
73159         * modules/mbschr: New file.
73160         * lib/mbschr.c: New file.
73161         * lib/string_.h (strchr): Add a conditional link warning.
73162         (mbschr): New declaration.
73163         * m4/mbschr.m4: New file.
73164         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73165         GNULIB_MBSCHR.
73166         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73167         * MODULES.html.sh (Internationalization functions): Add mbschr.
73168
73169 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73170
73171         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73172
73173         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73174
73175 2007-02-04  Bruno Haible  <bruno@clisp.org>
73176
73177         New module description section 'configure.ac-early'.
73178         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73179         (func_get_autoconf_early_snippet): New function.
73180         (func_import, func_create_testdir): Use it. Remove special cases for
73181         modules 'extensions' and 'lock'.
73182         * modules/extensions (configure.ac-early): Require
73183         gl_USE_SYSTEM_EXTENSIONS.
73184         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73185
73186 2007-02-04  Bruno Haible  <bruno@clisp.org>
73187
73188         Make use of gcj-4.3's -fsource and -ftarget option.
73189         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73190         and if so try the options -fsource and -ftarget.
73191         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73192         source_version, ftarget_option, target_version arguments.
73193         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73194         (is_envjavac_oldgcj_14_14_usable): Renamed from
73195         is_envjavac_gcj_14_14_usable.
73196         (is_envjavac_oldgcj_14_13_usable): Renamed from
73197         is_envjavac_gcj_14_13_usable.
73198         (is_gcj_present): Update.
73199         (is_gcj_43, is_gcj43_usable): New functions.
73200         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73201         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73202         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73203         try the options -fsource and -ftarget.
73204
73205 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73206
73207         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73208         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73209         larger value.
73210
73211 2007-02-03  Jim Meyering  <jim@meyering.net>
73212
73213         Give tools a better chance to allocate space for very large buffers.
73214         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73215
73216         Make pwd and readlink work also when run with an unreadable parent dir
73217         on systems with openat support.
73218         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73219         provided getcwd function, even when we have openat support.
73220         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73221
73222 2007-02-02  Bruno Haible  <bruno@clisp.org>
73223
73224         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73225         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73226         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73227         portability problems if one of these functions is only used on specific
73228         platforms.
73229         Reported by Paul Eggert.
73230
73231 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73232
73233         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73234         is causing more trouble than it's curing.
73235         * lib/regex_internal.h (__mempcpy): Remove.
73236         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73237         (and make the code a tad smaller to boot).
73238         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73239
73240 2007-02-02  Jim Meyering  <jim@meyering.net>
73241
73242         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73243         section, not in the Makefile.am: one.
73244
73245 2007-02-02  Eric Blake  <ebb9@byu.net>
73246
73247         * lib/strchrnul.c: Always include config.h first.
73248
73249         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73250         gnulib strstr is not necessary here.
73251
73252 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73253
73254         * m4/socklen.m4: Fix typo.
73255
73256 2007-02-02  Eric Blake  <ebb9@byu.net>
73257
73258         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73259         * modules/netinet_in (Makefile.am): Likewise.
73260
73261 2007-02-01  Bruno Haible  <bruno@clisp.org>
73262
73263         * lib/string_.h (GL_LINK_WARNING): New macro.
73264         (strcasecmp, strstr, strcasestr): If provided by the system,
73265         conditionally define as a macro that leads to a warning instead of to
73266         an error.
73267         (strncasecmp): Conditionally define as a macro that leads to a warning.
73268
73269 2007-02-01  Karl Berry  <karl@gnu.org>
73270
73271         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73272
73273 2007-02-01  Bruno Haible  <bruno@clisp.org>
73274
73275         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73276         renamings.
73277
73278 2007-02-01  Eric Blake  <ebb9@byu.net>
73279
73280         * modules/regex (Depends-on): Revert dependence on mempcpy.
73281         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73282         module's definition of mempcpy.
73283         Reported by Paul Eggert.
73284
73285 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73286
73287         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73288         the symbol XYZ before redefining it.  This fixes a problem with
73289         programs that don't use XYZ, when compiled on systems that define
73290         XYZ to something else.
73291
73292 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73293
73294         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73295         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73296         writeable to group or other and (2) is intended to have a special
73297         mode bit that is set or cleared.  In such a case, the directory
73298         should be neither group- nor other-writeable until the special
73299         mode bits are right.
73300
73301 2007-01-31  Eric Blake  <ebb9@byu.net>
73302
73303         * modules/mountlist (Depends-on): Add strstr.
73304
73305         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73306         bug.
73307         * modules/string (Makefile.am): Remove redundant replacement.
73308         * modules/regex (Depends-on): Add mempcpy.
73309
73310 2007-01-31  Bruno Haible  <bruno@clisp.org>
73311
73312         New module description field 'Link'.
73313         * gnulib-tool (func_usage): Document --extract-link-directive.
73314         (sed_extract_prog): Recognize 'Link' directive.
73315         (func_get_link_directive): New function.
73316         (func_import): Show summary of link directives.
73317         Handle --extract-link-directive option.
73318         * modules/acl (Link): New section.
73319         * modules/clock-time (Link): New section.
73320         * modules/euidaccess (Link): New section.
73321         * modules/gettext (Link): New section.
73322         * modules/iconv (Link): New section.
73323         * modules/lock (Link): New section.
73324         * modules/nanosleep (Link): New section.
73325         * modules/readline (Link): New section.
73326
73327 2007-01-27  Bruno Haible  <bruno@clisp.org>
73328
73329         Enforce the use of gnulib modules for unportable <string.h> functions.
73330         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73331         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73332         (gl_HEADER_STRING_H_BODY): Require it.
73333         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73334         the symbol XYZ to one that gives a link error.
73335         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73336         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73337         * modules/mempcpy (configure.ac): Likewise.
73338         * modules/memrchr (configure.ac): Likewise.
73339         * modules/stpcpy (configure.ac): Likewise.
73340         * modules/stpncpy (configure.ac): Likewise.
73341         * modules/strcase (configure.ac): Likewise.
73342         * modules/strcasestr (configure.ac): Likewise.
73343         * modules/strchrnul (configure.ac): Likewise.
73344         * modules/strdup (configure.ac): Likewise.
73345         * modules/strndup (configure.ac): Likewise.
73346         * modules/strnlen (configure.ac): Likewise.
73347         * modules/strpbrk (configure.ac): Likewise.
73348         * modules/strsep (configure.ac): Likewise.
73349         * modules/strstr (configure.ac): Likewise.
73350         * modules/strtok_r (configure.ac): Likewise.
73351
73352 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73353
73354         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73355
73356 2007-01-30  Jim Meyering  <jim@meyering.net>
73357
73358         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73359
73360 2007-01-29  Bruno Haible  <bruno@clisp.org>
73361
73362         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73363         * lib/execute.c: Likewise.
73364         * lib/pipe.c: Likewise.
73365         * lib/printf-args.h: Likewise.
73366         * lib/printf-args.c: Likewise.
73367         * lib/printf-parse.c: Likewise.
73368         * lib/vasnprintf.c: Likewise.
73369
73370 2007-01-29  Eric Blake  <ebb9@byu.net>
73371
73372         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73373         declaration.
73374
73375 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73376
73377         * lib/strptime.h (strptime): Use 'restrict' for args where
73378         POSIX requires this.
73379         * lib/strptime.c (strptime): Likewise.
73380         Change license notice from LGPL to GPL, since gnulib-tool will
73381         change this as needed.
73382         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73383         defined.
73384         Include "strptime.h" first, to check interface.
73385         Do not #undef _LIBC and _NL_CURRENT.
73386         Do not include <stdlib.h>; no longer needed.
73387         Include "time_r.h" and declare ptime_locale_status
73388         only if _LIBC is not defined.
73389         (__P): Remove unused macro.
73390         (match_string): Bring back glibc version, but use it only if _LIBC
73391         is defined.
73392         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73393         Remove unnecessary assertion and abort() call.
73394         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73395         * m4/strptime.m4: Fix serial number comment.
73396         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73397         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73398         (Depends-on): Add time_r.
73399
73400 2007-01-29  Bruno Haible  <bruno@clisp.org>
73401
73402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73403         strptime.
73404         * modules/strptime (Depends-on): Add stdbool.
73405         * lib/strptime.h: Include <time.h> always. Add comments.
73406
73407 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73408
73409         * modules/strptime: New file.
73410         * lib/strptime.h: New file.
73411         * lib/strptime.c: New file.
73412         * m4/strptime.m4: New file.
73413
73414 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73415
73416         * MODULES.html.sh: New module mpsort.
73417         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73418
73419         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73420         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73421         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73422         All uses changed.
73423         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73424         All uses changed.
73425         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73426         to _Restrict_.
73427         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73428         the parameter matches the prototype.
73429
73430 2007-01-28  Jim Meyering  <jim@meyering.net>
73431
73432         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73433         sys/time.h here, reverting that part of the previous patch:
73434         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73435
73436 2007-01-28  Bruno Haible  <bruno@clisp.org>
73437
73438         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73439         value of $(SYS_TIME_H).
73440         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73441         remove it conditionally, too. [added by Jim Meyering]
73442         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73443         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73444         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73445         GETTIMEOFDAY_REPLACEMENT to 1.
73446
73447 2007-01-28  Bruno Haible  <bruno@clisp.org>
73448
73449         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73450         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73451         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73452         Set UNISTD_H instead of UNISTD_H2.
73453         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73454
73455 2007-01-28  Bruno Haible  <bruno@clisp.org>
73456
73457         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73458         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73459
73460 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73461
73462         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73463         (func_create_testdir): Ensure C locale for `grep' and `tr'
73464         character ranges.
73465         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73466         ACLOCAL_AMFLAGS parsing state machine.
73467
73468 2007-01-27  Bruno Haible  <bruno@clisp.org>
73469
73470         * modules/unistr/base: Update.
73471
73472 2007-01-27  Bruno Haible  <bruno@clisp.org>
73473
73474         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73475         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73476         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73477         modules/unistr/u32-mbtouc.
73478         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73479         * lib/unistr.h: Update.
73480         * lib/linebreak.c: Update.
73481         * modules/unistr/u32-mbtouc: Renamed from
73482         modules/unistr/u32-mbtouc-safe.
73483         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73484         * lib/unistr.h: Update.
73485         * lib/unistr/u32-to-u8.c: Update.
73486         * lib/unistr/u32-to-u16.c: Update.
73487
73488 2007-01-27  Bruno Haible  <bruno@clisp.org>
73489
73490         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73491         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73492         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73493         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73494         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73495         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73496         modules/unistr/u16-mbtouc.
73497         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73498         * lib/unistr.h: Update.
73499         * lib/linebreak.c: Update.
73500         * modules/linebreak: Update.
73501         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73502         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73503         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73504         * modules/unistr/u16-mbtouc: Renamed from
73505         modules/unistr/u16-mbtouc-safe.
73506         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73507         * lib/unistr.h: Update.
73508         * lib/unistr/u16-to-u8.c: Update.
73509         * modules/unistr/u16-to-u8: Update.
73510         * lib/unistr/u16-to-u32.c: Update.
73511         * modules/unistr/u16-to-u32: Update.
73512
73513 2007-01-27  Bruno Haible  <bruno@clisp.org>
73514
73515         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73516         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73517         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73518         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73519         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73520         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73521         modules/unistr/u8-mbtouc.
73522         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73523         * lib/unistr.h: Update.
73524         * lib/striconveh.c: Update.
73525         * modules/striconveh: Update.
73526         * lib/linebreak.c: Update.
73527         * modules/linebreak: Update.
73528         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73529         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73530         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73531         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73532         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73533         * lib/unistr.h: Update.
73534         * lib/striconveh.c: Update.
73535         * modules/striconveh: Update.
73536         * lib/unistr/u8-to-u16.c: Update.
73537         * modules/unistr/u8-to-u16: Update.
73538         * lib/unistr/u8-to-u32.c: Update.
73539         * modules/unistr/u8-to-u32: Update.
73540
73541 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73542
73543         Sync from Libtool.
73544         * lib/argz.c: Do not include strings.h nor memory.h, include
73545         string.h unconditionally.  Patch by Simon Josefsson.
73546
73547 2007-01-27  Bruno Haible  <bruno@clisp.org>
73548
73549         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73550         from gl_HEADER_STRING_H_BODY.
73551         (gl_HEADER_STRING_H_BODY): Require it.
73552         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73553         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73554         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73555         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73556         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73557         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73559         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73560         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73561         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73562         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73563         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73564         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73565         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73566         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73567
73568 2007-01-27  Bruno Haible  <bruno@clisp.org>
73569
73570         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73571         check_PROGRAMS into noinst_PROGRAMS.
73572         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73573         check_PROGRAMS in this case.
73574         (func_import): Set for_test to false.
73575         (func_create_testdir): Set for_test to true.
73576
73577 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73578             Bruno Haible  <bruno@clisp.org>
73579
73580         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73581         (Depends-on): Add string.
73582         (Includes): Use <string.h> instead of strcasestr.h.
73583         * modules/string (Makefile.am): Also substitute the value of
73584         REPLACE_STRCASESTR.
73585         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73586         assume strcasestr is declared in <string.h> not <strings.h>. Also
73587         set REPLACE_STRCASESTR.
73588         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73589         REPLACE_STRCASESTR.
73590         * lib/strcasestr.h: Remove file.
73591         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73592         * lib/string_.h (strcasestr): New declaration.
73593
73594 2007-01-27  Bruno Haible  <bruno@clisp.org>
73595
73596         * lib/string_.h: Use 'extern'.
73597
73598 2007-01-27  Jim Meyering  <jim@meyering.net>
73599
73600         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73601         of set-but-not-used local, "q".
73602
73603         * lib/mempcpy.c: Include <config.h> before <string.h>.
73604         This fixes a compilation error on HP-UX, due to the system's
73605         "restrict"-using mempcpy prototype.
73606
73607 2007-01-26  Bruno Haible  <bruno@clisp.org>
73608
73609         Small optimization.
73610         * lib/javacomp.c: Include c-strstr.h.
73611          (is_envjavac_gcj): Use c_strstr instead of strstr.
73612         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73613
73614 2007-01-26  Bruno Haible  <bruno@clisp.org>
73615
73616         * MODULES.html.sh (Unicode string functions): Add the new modules.
73617
73618         * modules/uniconv/u32-strconv-to-locale: New file.
73619         * lib/uniconv/u32-strconv-to-locale.c: New file.
73620
73621         * modules/uniconv/u16-strconv-to-locale: New file.
73622         * lib/uniconv/u16-strconv-to-locale.c: New file.
73623
73624         * modules/uniconv/u8-strconv-to-locale: New file.
73625         * lib/uniconv/u8-strconv-to-locale.c: New file.
73626
73627         * modules/uniconv/u32-strconv-from-locale: New file.
73628         * lib/uniconv/u32-strconv-from-locale.c: New file.
73629
73630         * modules/uniconv/u16-strconv-from-locale: New file.
73631         * lib/uniconv/u16-strconv-from-locale.c: New file.
73632
73633         * modules/uniconv/u8-strconv-from-locale: New file.
73634         * lib/uniconv/u8-strconv-from-locale.c: New file.
73635
73636         * modules/uniconv/u32-strconv-to-enc: New file.
73637         * lib/uniconv/u32-strconv-to-enc.c: New file.
73638         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73639         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73640
73641         * modules/uniconv/u16-strconv-to-enc: New file.
73642         * lib/uniconv/u16-strconv-to-enc.c: New file.
73643         * lib/uniconv/u-strconv-to-enc.h: New file.
73644         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73645         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73646
73647         * modules/uniconv/u8-strconv-to-enc: New file.
73648         * lib/uniconv/u8-strconv-to-enc.c: New file.
73649         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73650         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73651
73652         * modules/uniconv/u32-strconv-from-enc: New file.
73653         * lib/uniconv/u32-strconv-from-enc.c: New file.
73654         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73655         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73656
73657         * modules/uniconv/u16-strconv-from-enc: New file.
73658         * lib/uniconv/u16-strconv-from-enc.c: New file.
73659         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73660         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73661
73662         * modules/uniconv/u8-strconv-from-enc: New file.
73663         * lib/uniconv/u8-strconv-from-enc.c: New file.
73664         * lib/uniconv/u-strconv-from-enc.h: New file.
73665         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73666         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73667
73668         * modules/uniconv/u32-conv-from-enc: New file.
73669         * lib/uniconv/u32-conv-from-enc.c: New file.
73670         * modules/uniconv/u32-conv-from-enc-tests: New file.
73671         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73672
73673         * modules/uniconv/u16-conv-from-enc: New file.
73674         * lib/uniconv/u16-conv-from-enc.c: New file.
73675         * lib/uniconv/u-conv-from-enc.h: New file.
73676         * modules/uniconv/u16-conv-from-enc-tests: New file.
73677         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73678
73679         * modules/uniconv/u8-conv-from-enc: New file.
73680         * lib/uniconv/u8-conv-from-enc.c: New file.
73681         * modules/uniconv/u8-conv-from-enc-tests: New file.
73682         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73683
73684         * modules/uniconv/base: New file.
73685         * lib/uniconv.h: New file.
73686
73687 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73688
73689         * doc/gnulib-tool.texi (Initial import): Update to match current
73690         behavior with strdup module.
73691         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73692         * lib/memmem.h: Remove; all uses removed.  This is now done
73693         by <string.h>.
73694         * lib/mempcpy.h: Likewise.
73695         * lib/memrchr.h: Likewise.
73696         * lib/stpcpy.h: Likewise.
73697         * lib/stpncpy.h: Likewise.
73698         * lib/strcase.h: Likewise.
73699         * lib/strchrnul.h: Likewise.
73700         * lib/strdup.h: Likewise.
73701         * lib/strndup.h: Likewise.
73702         * lib/strnlen.h: Likewise.
73703         * lib/strpbrk.h: Likewise.
73704         * lib/strsep.h: Likewise.
73705         * lib/strstr.h: Likewise.
73706         * lib/strtok_r.h: Likewise.
73707         * lib/string_.h: New file.
73708         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
73709         Rely on <string.h> instead.
73710         * lib/canon-host.c: Likewise.
73711         * lib/chdir-long.c: Likewise.
73712         * lib/concatpath.c: Likewise.
73713         * lib/exclude.c: Likewise.
73714         * lib/fchdir.c: Likewise.
73715         * lib/getaddrinfo.c: Likewise.
73716         * lib/getcwd.c: Likewise.
73717         * lib/getsubopt.c: Likewise.
73718         * lib/glob.c: Likewise.
73719         * lib/hard-locale.c: Likewise.
73720         * lib/iconvme.c: Likewise.
73721         * lib/javacomp.c: Likewise.
73722         * lib/mempcpy.c: Likewise.
73723         * lib/memrchr.c: Likewise.
73724         * lib/regex_internal.h: Likewise.
73725         * lib/stpncpy.c: Likewise.
73726         * lib/strcasecmp.c: Likewise.
73727         * lib/strchrnul.c: Likewise.
73728         * lib/strdup.c: Likewise.
73729         * lib/striconv.c: Likewise.
73730         * lib/striconveh.c: Likewise.
73731         * lib/striconveha.c: Likewise.
73732         * lib/strncasecmp.c: Likewise.
73733         * lib/strndup.c: Likewise.
73734         * lib/strnlen.c: Likewise.
73735         * lib/strsep.c: Likewise.
73736         * lib/strstr.c: Likewise.
73737         * lib/strtok_r.c: Likewise.
73738         * lib/userspec.c: Likewise.
73739         * lib/w32spawn.h: Likewise.
73740         * lib/xstrndup.c: Likewise.
73741         * lib/mountlist.c (strstr): Remove decl.
73742         * m4/string_h.m4: New file.
73743         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
73744         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
73745         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
73746         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
73747         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
73748         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
73749         Set REPLACE_STRCASECMP if necessary.
73750         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
73751         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
73752         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
73753         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
73754         HAVE_DECL_STRDUP if necessary.
73755         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
73756         since gl_FUNC_STRNDUP does that now.
73757         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
73758         Check for decl here...
73759         (gl_PREREQ_STRNLEN): ... not here.
73760         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
73761         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
73762         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
73763         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
73764         necessary.
73765         * modules/string: New file.
73766         * modules/memmem (Files): Remove special-purpose include file.
73767         (Depends-on): Add string.
73768         (Include): Include <string.h>, not the removed file.
73769         * modules/mempcpy: Likewise.
73770         * modules/memrchr: Likewise.
73771         * modules/stpcpy: Likewise.
73772         * modules/stpncpy: Likewise.
73773         * modules/strcase: Likewise.
73774         * modules/strchrnul: Likewise.
73775         * modules/strdup: Likewise.
73776         * modules/strndup: Likewise.
73777         * modules/strnlen: Likewise.
73778         * modules/strpbrk: Likewise.
73779         * modules/strsep: Likewise.
73780         * modules/strstr: Likewise.
73781         * modules/strtok_r: Likewise.
73782         * tests/test-dirname.c: Don't include "strdup.h", since
73783         <string.h> now suffices.
73784         * tests/test-memmem.c: Don't include "memmem.h", since
73785         <string.h> now suffices.
73786
73787 2007-01-25  Bruno Haible  <bruno@clisp.org>
73788
73789         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
73790         *resultp is 0.
73791
73792         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
73793         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
73794         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
73795         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
73796
73797         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
73798         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
73799         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
73800         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
73801         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
73802         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
73803
73804 2007-01-24  Bruno Haible  <bruno@clisp.org>
73805
73806         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
73807         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
73808         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
73809         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
73810         gl_FUNC_FTS_CORE.
73811         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
73812         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
73813         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73814         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
73815         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
73816         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
73817         gl_FUNC_FCHOWNAT.
73818         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
73819         gl_FUNC_STRFTIME.
73820         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
73821         Reported by Ralf Wildenhues.
73822
73823 2007-01-24  Bruno Haible  <bruno@clisp.org>
73824
73825         Drop AC_REQUIRE calls that are redundant with the module dependencies.
73826         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
73827         gl_GETADDRINFO.
73828         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
73829         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
73830         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
73831
73832 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
73833
73834         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
73835         Don't use 'exit'; just return from 'main'.
73836         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
73837
73838         * lib/fnmatch_.h: Readjust white space and comments to match
73839         glibc, to avoid spurious diffs.
73840
73841 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73842
73843         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
73844         2004-12-01 change by Jakub Jelinek, since this code won't compile
73845         if !LIBC.  Problem reported by Bob Proulx.
73846
73847 2007-01-23  Bruno Haible  <bruno@clisp.org>
73848
73849         * lib/striconveh.c: Include c-strcaseeq.h.
73850         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
73851         * modules/striconveh (Depends-on): Add c-strcaseeq.
73852
73853 2007-01-23  Bruno Haible  <bruno@clisp.org>
73854
73855         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
73856
73857         * modules/c-strcaseeq: New file.
73858         * lib/c-strcaseeq.h: New file.
73859
73860         * modules/streq: New file.
73861         * lib/streq.h: New file.
73862
73863 2007-01-23  Bruno Haible  <bruno@clisp.org>
73864
73865         * modules/striconveha-tests: New file.
73866         * tests/test-striconveha.c: New file.
73867
73868         * lib/striconveha.h: Include <stdbool.h>.
73869         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
73870         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
73871         (mem_iconveha_notranslit): Renamed from mem_iconveha.
73872         (mem_iconveha): New function.
73873         (str_iconveha_notranslit): Renamed from str_iconveha.
73874         (str_iconveha): New function.
73875         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73876         c-strcase.
73877
73878 2007-01-23  Bruno Haible  <bruno@clisp.org>
73879
73880         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73881         encodings without forgiving before trying any encoding with handler.
73882         (str_iconveha): Try all encodings without forgiving before trying any
73883         encoding with handler.
73884
73885 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73886
73887         Import the following changes from libc.
73888
73889         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73890
73891         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
73892
73893         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73894
73895         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
73896         normal_bracket label.
73897
73898         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
73899
73900         [BZ #361]
73901         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
73902         to normal_bracket after fetching the next character.
73903
73904 2007-01-22  Bruno Haible  <bruno@clisp.org>
73905
73906         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
73907         argument.
73908         * lib/striconveh.c (iconv_carefully_1): New function.
73909         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
73910         argument.
73911         (str_cd_iconveh): Update.
73912         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
73913         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
73914         * tests/test-striconveh.c (MAGIC): New macro.
73915         (new_offsets): New function.
73916         (main): Test call with and without offsets.
73917
73918 2007-01-22  Bruno Haible  <bruno@clisp.org>
73919
73920         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
73921         * modules/sys_select (Makefile.am): Likewise.
73922         * modules/sys_socket (Makefile.am): Likewise.
73923         * modules/sys_time (Makefile.am): Likewise.
73924
73925 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73926
73927         * modules/gettimeofday (License): Change from GPL to LGPL, since
73928         gettimeofday is a library function.
73929
73930 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73931
73932         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
73933
73934 2007-01-21  Bruno Haible  <bruno@clisp.org>
73935
73936         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
73937
73938 2007-01-21  Bruno Haible  <bruno@clisp.org>
73939
73940         * modules/striconveha: New file.
73941         * lib/striconveha.h: New file.
73942         * lib/striconveha.c: New file.
73943         * MODULES.html.sh (Internationalization functions): Add striconveha.
73944         * lib/striconv.c (str_iconv): Optimize the case of an empty input
73945         string.
73946         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
73947
73948 2007-01-21  Bruno Haible  <bruno@clisp.org>
73949
73950         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
73951         * lib/striconveh.c (str_iconveh): Likewise.
73952
73953 2007-01-21  Bruno Haible  <bruno@clisp.org>
73954
73955         * lib/striconveh.h (mem_iconveh): New declaration.
73956         * lib/striconveh.c (mem_iconveh): New function.
73957         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
73958
73959 2007-01-21  Bruno Haible  <bruno@clisp.org>
73960
73961         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
73962
73963         * lib/striconveh.h (mem_cd_iconveh): Change specification.
73964         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
73965         original result buffer.
73966         (str_cd_iconveh): Update.
73967         * tests/test-striconveh.c (main): Update.
73968
73969         * lib/striconv.h (mem_cd_iconv): Change specification.
73970         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
73971         result buffer.
73972         (str_cd_iconv): Update.
73973         * tests/test-striconv.c (main): Update.
73974
73975 2007-01-21  Bruno Haible  <bruno@clisp.org>
73976
73977         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
73978
73979 2007-01-20  Jim Meyering  <jim@meyering.net>
73980
73981         * lib/userspec.c (parse_with_separator): If a user or group string
73982         starts with "+", skip the corresponding name-to-ID look-up, since
73983         such a look-up must fail: user and group names may not include "+".
73984
73985 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73986
73987         * lib/poll.c: Include sys/time.h and time.h unconditionally,
73988         since we now assume the sys_time module.
73989         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
73990         check for sys/time.h; no longer needed.
73991         * modules/poll (Depends-on): Depend on sys_time.
73992
73993 2007-01-18  Bruno Haible  <bruno@clisp.org>
73994
73995         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
73996         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73997
73998         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
73999         gettimeofday.
74000
74001         * tests/test-gettimeofday.c: Include <time.h>.
74002         (dummy): Remove variable.
74003
74004         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74005         gl_HEADER_SYS_TIME_H.
74006         (gl_HEADER_SYS_TIME_H): New macro.
74007
74008         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74009         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74010         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74011         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74012         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74013         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74014         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74015         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74016         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74017         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74018         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74019
74020         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74021         last change; it caused a compilation error when cross-compiling to
74022         Cygwin.
74023
74024 2007-01-18  Jim Meyering  <jim@meyering.net>
74025
74026         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74027         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74028         than the race-prone "test -d sys || mkdir sys".
74029         (configure.ac): Use AC_PROG_MKDIR_P.
74030         * modules/sys_select: Likewise.
74031         * modules/sys_socket: Likewise.
74032         * modules/sys_time: Likewise.
74033
74034 2007-01-18  Eric Blake  <ebb9@byu.net>
74035
74036         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74037         replace gettimeofday.
74038         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74039         name, to avoid infinite recursion.
74040
74041 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74044         module sys_time.
74045         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74046         assume timespec.h defines struct timeval.
74047         * lib/settime.c: Likewise.
74048         * lib/utimens.c: Likewise.
74049         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74050         since we now assume the gettimeofday module.
74051         * lib/tempname.c (__gen_tempname): Likewise.
74052         * lib/gettimeofday.h: Remove.
74053         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74054         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74055         Include <time.h>, for 'time()'.
74056         (localtime_buffer_addr): Also use this workaround if
74057         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74058         to simplify the uses.  All uses changed.
74059         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74060         that #undef is inside {}, and 'const' follows type name consistently.
74061         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74062         (gettimeofday): Do not use the maximum possible value for
74063         tv->tv_usec, since that might break usages other than ls.c.
74064         Instead, we'll leave ls.c alone.  This undoes today's patch
74065         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74066         we've never observed the problem but might as well keep the
74067         canary.
74068         * lib/nanosleep.c: Include timespec.h first, for interface check.
74069         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74070         now assume the sys_time module.
74071         * lib/tempname.c: Likewise.
74072         * lib/timespec.h: Likewise.
74073         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74074         needed.
74075         * lib/strftime.c: Likewise.
74076         * lib/timespec.h: Likewise.
74077         * lib/posixtm.c: Include posixtm.h first, for interface check.
74078         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74079         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74080         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74081         * lib/sys_time_.h: New file.
74082         * lib/timespec.h (struct timespec): Use long int, not long.
74083         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74084         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74085         Remove obsolescent call to AC_HEADER_TIME.
74086         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74087         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74088         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74089         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74090         Likewise.
74091         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74092         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74093         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74094         into the sys_time module.  Check for gettimeofday just once.
74095         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74096         for gettimeofday signature to just check the signature.  Merely
74097         compile it, since linking doesn't test signature.  Improve test for
74098         whether gettimeofday.o is actually needed.
74099         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74100         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74101         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74102         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74103         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74104         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74105         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74106         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74107         than worrying about sys/time.h.
74108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74109         Don't bother worrying about TIME_WITH_SYS_TIME.
74110         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74111         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74112         * m4/sys_time_h.m4: New file.
74113         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74114         Don't include sys/time.h.  Return from main rather than exiting.
74115         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74116         all uses changed.
74117         * modules/gethrxtime (Depends-on): Add sys_time.
74118         * modules/gettime (Depends-on): Likewise.
74119         * modules/gettimeofday (Depends-on): Likewise.
74120         * modules/nanosleep (Depends-on): Likewise.
74121         * modules/settime (Depends-on): Likewise.
74122         * modules/tempname (Depends-on): Likewise.
74123         * modules/utimens (Depends-on): Likewise.
74124         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74125         (Include): Change back to <sys/time.h>.
74126         (Maintainer): Add self.
74127         * modules/sys_time: New file.
74128         * modules/tempname (Depends-on): Add gettimeofday.
74129         * tests/test-gettimeofday.c: Include <sys/time.h>
74130         rather than gettimeofday.h.
74131
74132 2007-01-17  Bruno Haible  <bruno@clisp.org>
74133
74134         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74135         the license default to GPL.
74136         (func_create_testdir): Don't complain if a module is LGPL and its
74137         tests module depends on GPLed modules.
74138
74139 2007-01-17  Bruno Haible  <bruno@clisp.org>
74140
74141         * lib/gettimeofday.c (gettimeofday): Add code for the case
74142         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74143         maximum possible value for tv->tv_usec, rather than the minimum one.
74144
74145 2005-10-08  Martin Lambers  <marlam@marlam.de>
74146 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74147 2007-01-16  Bruno Haible  <bruno@clisp.org>
74148
74149         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74150         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74151         gl_FUNC_GETTIMEOFDAY.
74152         (Include): Add gettimeofday.h.
74153         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74154         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74155         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74156         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74157         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74158         * lib/gettimeofday.h: New file.
74159         * lib/gettimeofday.c: Include <sys/timeb.h>.
74160         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74161         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74162         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74163         fall back on time().
74164
74165         * tests/test-gettimeofday.c: New file.
74166         * modules/gettimeofday-tests: New file.
74167
74168 2007-01-16  Eric Blake  <ebb9@byu.net>
74169
74170         * modules/fnmatch (Depends-on): Depend on wchar.
74171         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74172         * m4/fnmatch.m4: Likewise.
74173         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74174         * m4/mbchar.m4: Likewise.
74175         * modules/mbswidth (Depends-on): Depend on wchar.
74176         * lib/mbswidth.c: Assume <wchar.h>.
74177         * m4/mbswidth.m4: Likewise.
74178         * modules/quotearg (Depends-on): Depend on wchar.
74179         * lib/quotearg.c: Assume <wchar.h>.
74180         * m4/quotearg.m4: Likewise.
74181         * modules/regex (Depends-on): Depend on wchar.
74182         * lib/regex_internal.h: Assume <wchar.h>.
74183         * m4/regex.m4: Likewise.
74184         * modules/stdint (Depends-on): Depend on wchar.
74185         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74186         * m4/stdint.m4: Likewise.
74187         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74188         * modules/strftime (Depends-on): Depend on wchar.
74189         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74190         * modules/strtol (Depends-on): Depend on wchar.
74191         * lib/strtol.c: Assume <wchar.h>.
74192         * modules/wcwidth (Depends-on): Depend on wchar.
74193         * lib/wcwidth.h: Assume <wchar.h>.
74194         * m4/wcwidth.m4: Likewise.
74195
74196 2007-01-16  Bruno Haible  <bruno@clisp.org>
74197
74198         * modules/csharpexec-script: New, created from...
74199         * modules/csharpexec: ... this.
74200
74201 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74202
74203         * modules/javaexec-script: New, created from...
74204         * modules/javaexec: ... this.
74205
74206 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74207
74208         * modules/poll (Dependencies): Add sys_select.
74209
74210 2007-01-15  Jim Meyering  <jim@meyering.net>
74211
74212         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74213         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74214         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74215         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74216
74217 2007-01-15  Bruno Haible  <bruno@clisp.org>
74218
74219         * modules/striconveh: New file.
74220         * lib/striconveh.h: New file.
74221         * lib/striconveh.c: New file.
74222         * MODULES.html.sh (Internationalization functions): Add striconveh.
74223
74224         * modules/striconveh-tests: New file.
74225         * tests/test-striconveh.c: New file.
74226
74227 2007-01-15  Bruno Haible  <bruno@clisp.org>
74228
74229         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74230         not from GNU libiconv or GNU libc.
74231
74232 2007-01-15  Bruno Haible  <bruno@clisp.org>
74233
74234         * doc/gnulib-intro.texi (Copyright): Explain the different license
74235         terms for module descriptions, autoconf macros, tests, documentation.
74236
74237 2007-01-14  Bruno Haible  <bruno@clisp.org>
74238
74239         * modules/striconv-tests: New file.
74240         * tests/test-striconv.c: New file.
74241
74242 2007-01-14  Bruno Haible  <bruno@clisp.org>
74243
74244         * modules/iconv-tests: New file.
74245         * tests/test-iconv.c: New file.
74246
74247 2007-01-14  Bruno Haible  <bruno@clisp.org>
74248
74249         * gnulib-tool (func_get_license): For test modules, use the license of
74250         the main module.
74251
74252 2007-01-14  Bruno Haible  <bruno@clisp.org>
74253
74254         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74255         if iconv is found to exist.
74256
74257 2007-01-14  Bruno Haible  <bruno@clisp.org>
74258
74259         * modules/c-ctype-tests: New file.
74260         * tests/test-c-ctype.c: New file.
74261
74262 2007-01-14  Bruno Haible  <bruno@clisp.org>
74263
74264         * modules/binary-io-tests: New file.
74265         * tests/test-binary-io.sh: New file.
74266         * tests/test-binary-io.c: New file.
74267
74268 2007-01-14  Bruno Haible  <bruno@clisp.org>
74269
74270         * modules/array-oset-tests: New file.
74271         * tests/test-array_oset.c: New file.
74272
74273 2007-01-14  Bruno Haible  <bruno@clisp.org>
74274
74275         * modules/array-list-tests: New file.
74276         * tests/test-array_list.c: New file.
74277
74278 2007-01-14  Bruno Haible  <bruno@clisp.org>
74279
74280         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74281         and make.
74282         Reported by Simon Josefsson in
74283         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74284
74285 2007-01-14  Bruno Haible  <bruno@clisp.org>
74286
74287         * modules/allocsa-tests: New file.
74288         * tests/test-allocsa.c: New file.
74289
74290 2007-01-14  Bruno Haible  <bruno@clisp.org>
74291
74292         * modules/fchdir (Depends-on): Add absolute-header.
74293         * modules/unistd (Depends-on): Likewise.
74294
74295 2006-12-30  Bruno Haible  <bruno@clisp.org>
74296
74297         * modules/fchdir: New file.
74298         * modules/unistd (Files): Add lib/unistd_.h.
74299         (Makefile.am): Generate unistd.h from unistd_.h.
74300         * lib/fchdir.c: New file.
74301         * lib/dirent_.h: New file.
74302         * lib/unistd_.h: New file.
74303         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74304         * m4/fchdir.m4: New file.
74305         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74306         (gl_HEADER_UNISTD): Invoke it.
74307         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74308         function.
74309         * lib/backupfile.c (opendir, closedir): Undefine.
74310         * lib/chown.c (open, close): Undefine.
74311         * lib/clean-temp.c (open, close): Undefine.
74312         * lib/copy-file.c (open, close): Undefine.
74313         * lib/execute.c (open, close): Undefine.
74314         * lib/fsusage.c (open, close): Undefine.
74315         * lib/gc-gnulib.c (open, close): Undefine.
74316         * lib/getcwd.c (opendir, closedir): Undefine.
74317         * lib/glob.c (opendir, closedir): Undefine.
74318         * lib/javacomp.c (open, close): Undefine.
74319         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74320         * lib/openat-proc.c (open, close): Undefine.
74321         * lib/pagealign_alloc.c (open, close): Undefine.
74322         * lib/pipe.c (open, close): Undefine.
74323         * lib/progreloc.c (open, close): Undefine.
74324         * lib/savedir.c (opendir, closedir): Undefine.
74325         * lib/utime.c (open, close): Undefine.
74326         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74327
74328 2007-01-10  Bruno Haible  <bruno@clisp.org>
74329
74330         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74331
74332 2007-01-12  Eric Blake  <ebb9@byu.net>
74333
74334         Provide a robust <wchar.h>.  Further simplifications are now
74335         possible in other modules, but not included here.
74336         * modules/wchar: New module.
74337         * m4/wchar.m4: New file.
74338         * lib/wchar_.h: Likewise.
74339         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74340         of the new module.
74341         * MODULES.html.sh (Extended multibyte and wide character utilities):
74342         New section.
74343
74344 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74345
74346         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74347         to a reasonable default for memory allocation.
74348         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74349         file system that reports garbage st_size values for symlinks.
74350         Problem reported by Liyang Hu.
74351
74352 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74353
74354         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74355         Emacs .#* auto-save files).
74356
74357 2007-01-11  Bruno Haible  <bruno@clisp.org>
74358
74359         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74360         directory.
74361
74362 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74363
74364         Use @...@ consistently in lib/wctype_.h.
74365         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74366         on it being set to 1 or 0.
74367         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74368         go back to AC_SUBSTing it.
74369         * modules/wctype (Makefile.am): Undo previous change.
74370
74371 2007-01-10  Eric Blake  <ebb9@byu.net>
74372
74373         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74374         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74375         * modules/wctype (Makefile.am): Likewise.
74376         Reported by Chris McGuire.
74377
74378 2007-01-10  Jim Meyering  <jim@meyering.net>
74379
74380         fts.c: a small readability/maintainability improvement
74381         * lib/fts.c (fts_read): Make this code slightly more readable and
74382         maintainable by hoisting the "sp->fts_cur = p" assignments to
74383         immediately follow the statements that set P.  Derived from
74384         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74385
74386 2007-01-10  Eric Blake  <ebb9@byu.net>
74387
74388         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74389         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74390         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74391         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74392         Reported by Chris McGuire.
74393
74394 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74395
74396         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74397         in sed script.
74398
74399 2007-01-09  Bruno Haible  <bruno@clisp.org>
74400
74401         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74402         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74403         variables.
74404         (func_module): Use them.
74405
74406 2007-01-09  Bruno Haible  <bruno@clisp.org>
74407
74408         * modules/unistr/base: New file.
74409         * lib/unistr.h: New file.
74410
74411         * modules/unistr/u8-to-u16: New file.
74412         * lib/unistr/u8-to-u16.c: New file.
74413
74414         * modules/unistr/u8-to-u32: New file.
74415         * lib/unistr/u8-to-u32.c: New file.
74416
74417         * modules/unistr/u16-to-u8: New file.
74418         * lib/unistr/u16-to-u8.c: New file.
74419
74420         * modules/unistr/u16-to-u32: New file.
74421         * lib/unistr/u16-to-u32.c: New file.
74422
74423         * modules/unistr/u32-to-u8: New file.
74424         * lib/unistr/u32-to-u8.c: New file.
74425
74426         * modules/unistr/u32-to-u16: New file.
74427         * lib/unistr/u32-to-u16.c: New file.
74428
74429         * modules/unistr/u8-check: New file.
74430         * modules/unistr/u16-check: New file.
74431         * modules/unistr/u32-check: New file.
74432         * lib/unistr/u8-check.c: New file.
74433         * lib/unistr/u16-check.c: New file.
74434         * lib/unistr/u32-check.c: New file.
74435
74436         * modules/unistr/u8-chr: New file.
74437         * modules/unistr/u16-chr: New file.
74438         * modules/unistr/u32-chr: New file.
74439         * lib/unistr/u8-chr.c: New file.
74440         * lib/unistr/u16-chr.c: New file.
74441         * lib/unistr/u32-chr.c: New file.
74442
74443         * modules/unistr/u8-cmp: New file.
74444         * modules/unistr/u16-cmp: New file.
74445         * modules/unistr/u32-cmp: New file.
74446         * lib/unistr/u8-cmp.c: New file.
74447         * lib/unistr/u16-cmp.c: New file.
74448         * lib/unistr/u32-cmp.c: New file.
74449
74450         * modules/unistr/u8-cpy: New file.
74451         * modules/unistr/u16-cpy: New file.
74452         * modules/unistr/u32-cpy: New file.
74453         * lib/unistr/u8-cpy.c: New file.
74454         * lib/unistr/u16-cpy.c: New file.
74455         * lib/unistr/u32-cpy.c: New file.
74456         * lib/unistr/u-cpy.h: New file.
74457
74458         * modules/unistr/u8-cpy-alloc: New file.
74459         * modules/unistr/u16-cpy-alloc: New file.
74460         * modules/unistr/u32-cpy-alloc: New file.
74461         * lib/unistr/u8-cpy-alloc.c: New file.
74462         * lib/unistr/u16-cpy-alloc.c: New file.
74463         * lib/unistr/u32-cpy-alloc.c: New file.
74464         * lib/unistr/u-cpy-alloc.h: New file.
74465
74466         * modules/unistr/u8-endswith: New file.
74467         * modules/unistr/u16-endswith: New file.
74468         * modules/unistr/u32-endswith: New file.
74469         * lib/unistr/u8-endswith.c: New file.
74470         * lib/unistr/u16-endswith.c: New file.
74471         * lib/unistr/u32-endswith.c: New file.
74472         * lib/unistr/u-endswith.h: New file.
74473
74474         * modules/unistr/u8-mblen: New file.
74475         * modules/unistr/u16-mblen: New file.
74476         * modules/unistr/u32-mblen: New file.
74477         * lib/unistr/u8-mblen.c: New file.
74478         * lib/unistr/u16-mblen.c: New file.
74479         * lib/unistr/u32-mblen.c: New file.
74480
74481         * modules/unistr/u8-mbtouc: New file.
74482         * modules/unistr/u16-mbtouc: New file.
74483         * modules/unistr/u32-mbtouc: New file.
74484         * lib/unistr/u8-mbtouc.c: New file.
74485         * lib/unistr/u16-mbtouc.c: New file.
74486         * lib/unistr/u32-mbtouc.c: New file.
74487
74488         * modules/unistr/u8-mbtouc-safe: New file.
74489         * modules/unistr/u16-mbtouc-safe: New file.
74490         * modules/unistr/u32-mbtouc-safe: New file.
74491         * lib/unistr/u8-mbtouc-safe.c: New file.
74492         * lib/unistr/u16-mbtouc-safe.c: New file.
74493         * lib/unistr/u32-mbtouc-safe.c: New file.
74494
74495         * modules/unistr/u8-move: New file.
74496         * modules/unistr/u16-move: New file.
74497         * modules/unistr/u32-move: New file.
74498         * lib/unistr/u8-move.c: New file.
74499         * lib/unistr/u16-move.c: New file.
74500         * lib/unistr/u32-move.c: New file.
74501         * lib/unistr/u-move.h: New file.
74502
74503         * modules/unistr/u8-next: New file.
74504         * modules/unistr/u16-next: New file.
74505         * modules/unistr/u32-next: New file.
74506         * lib/unistr/u8-next.c: New file.
74507         * lib/unistr/u16-next.c: New file.
74508         * lib/unistr/u32-next.c: New file.
74509
74510         * modules/unistr/u8-prev: New file.
74511         * modules/unistr/u16-prev: New file.
74512         * modules/unistr/u32-prev: New file.
74513         * lib/unistr/u8-prev.c: New file.
74514         * lib/unistr/u16-prev.c: New file.
74515         * lib/unistr/u32-prev.c: New file.
74516
74517         * modules/unistr/u8-set: New file.
74518         * modules/unistr/u16-set: New file.
74519         * modules/unistr/u32-set: New file.
74520         * lib/unistr/u8-set.c: New file.
74521         * lib/unistr/u16-set.c: New file.
74522         * lib/unistr/u32-set.c: New file.
74523         * lib/unistr/u-set.h: New file.
74524
74525         * modules/unistr/u8-startswith: New file.
74526         * modules/unistr/u16-startswith: New file.
74527         * modules/unistr/u32-startswith: New file.
74528         * lib/unistr/u8-startswith.c: New file.
74529         * lib/unistr/u16-startswith.c: New file.
74530         * lib/unistr/u32-startswith.c: New file.
74531         * lib/unistr/u-startswith.h: New file.
74532
74533         * modules/unistr/u8-stpcpy: New file.
74534         * modules/unistr/u16-stpcpy: New file.
74535         * modules/unistr/u32-stpcpy: New file.
74536         * lib/unistr/u8-stpcpy.c: New file.
74537         * lib/unistr/u16-stpcpy.c: New file.
74538         * lib/unistr/u32-stpcpy.c: New file.
74539         * lib/unistr/u-stpcpy.h: New file.
74540
74541         * modules/unistr/u8-stpncpy: New file.
74542         * modules/unistr/u16-stpncpy: New file.
74543         * modules/unistr/u32-stpncpy: New file.
74544         * lib/unistr/u8-stpncpy.c: New file.
74545         * lib/unistr/u16-stpncpy.c: New file.
74546         * lib/unistr/u32-stpncpy.c: New file.
74547         * lib/unistr/u-stpncpy.h: New file.
74548
74549         * modules/unistr/u8-strcat: New file.
74550         * modules/unistr/u16-strcat: New file.
74551         * modules/unistr/u32-strcat: New file.
74552         * lib/unistr/u8-strcat.c: New file.
74553         * lib/unistr/u16-strcat.c: New file.
74554         * lib/unistr/u32-strcat.c: New file.
74555         * lib/unistr/u-strcat.h: New file.
74556
74557         * modules/unistr/u8-strchr: New file.
74558         * modules/unistr/u16-strchr: New file.
74559         * modules/unistr/u32-strchr: New file.
74560         * lib/unistr/u8-strchr.c: New file.
74561         * lib/unistr/u16-strchr.c: New file.
74562         * lib/unistr/u32-strchr.c: New file.
74563
74564         * modules/unistr/u8-strcmp: New file.
74565         * modules/unistr/u16-strcmp: New file.
74566         * modules/unistr/u32-strcmp: New file.
74567         * lib/unistr/u8-strcmp.c: New file.
74568         * lib/unistr/u16-strcmp.c: New file.
74569         * lib/unistr/u32-strcmp.c: New file.
74570
74571         * modules/unistr/u8-strcpy: New file.
74572         * modules/unistr/u16-strcpy: New file.
74573         * modules/unistr/u32-strcpy: New file.
74574         * lib/unistr/u8-strcpy.c: New file.
74575         * lib/unistr/u16-strcpy.c: New file.
74576         * lib/unistr/u32-strcpy.c: New file.
74577         * lib/unistr/u-strcpy.h: New file.
74578
74579         * modules/unistr/u8-strcspn: New file.
74580         * modules/unistr/u16-strcspn: New file.
74581         * modules/unistr/u32-strcspn: New file.
74582         * lib/unistr/u8-strcspn.c: New file.
74583         * lib/unistr/u16-strcspn.c: New file.
74584         * lib/unistr/u32-strcspn.c: New file.
74585         * lib/unistr/u-strcspn.h: New file.
74586
74587         * modules/unistr/u8-strdup: New file.
74588         * modules/unistr/u16-strdup: New file.
74589         * modules/unistr/u32-strdup: New file.
74590         * lib/unistr/u8-strdup.c: New file.
74591         * lib/unistr/u16-strdup.c: New file.
74592         * lib/unistr/u32-strdup.c: New file.
74593         * lib/unistr/u-strdup.h: New file.
74594
74595         * modules/unistr/u8-strlen: New file.
74596         * modules/unistr/u16-strlen: New file.
74597         * modules/unistr/u32-strlen: New file.
74598         * lib/unistr/u8-strlen.c: New file.
74599         * lib/unistr/u16-strlen.c: New file.
74600         * lib/unistr/u32-strlen.c: New file.
74601         * lib/unistr/u-strlen.h: New file.
74602
74603         * modules/unistr/u8-strmblen: New file.
74604         * modules/unistr/u16-strmblen: New file.
74605         * modules/unistr/u32-strmblen: New file.
74606         * lib/unistr/u8-strmblen.c: New file.
74607         * lib/unistr/u16-strmblen.c: New file.
74608         * lib/unistr/u32-strmblen.c: New file.
74609
74610         * modules/unistr/u8-strmbtouc: New file.
74611         * modules/unistr/u16-strmbtouc: New file.
74612         * modules/unistr/u32-strmbtouc: New file.
74613         * lib/unistr/u8-strmbtouc.c: New file.
74614         * lib/unistr/u16-strmbtouc.c: New file.
74615         * lib/unistr/u32-strmbtouc.c: New file.
74616
74617         * modules/unistr/u8-strncat: New file.
74618         * modules/unistr/u16-strncat: New file.
74619         * modules/unistr/u32-strncat: New file.
74620         * lib/unistr/u8-strncat.c: New file.
74621         * lib/unistr/u16-strncat.c: New file.
74622         * lib/unistr/u32-strncat.c: New file.
74623         * lib/unistr/u-strncat.h: New file.
74624
74625         * modules/unistr/u8-strncmp: New file.
74626         * modules/unistr/u16-strncmp: New file.
74627         * modules/unistr/u32-strncmp: New file.
74628         * lib/unistr/u8-strncmp.c: New file.
74629         * lib/unistr/u16-strncmp.c: New file.
74630         * lib/unistr/u32-strncmp.c: New file.
74631
74632         * modules/unistr/u8-strncpy: New file.
74633         * modules/unistr/u16-strncpy: New file.
74634         * modules/unistr/u32-strncpy: New file.
74635         * lib/unistr/u8-strncpy.c: New file.
74636         * lib/unistr/u16-strncpy.c: New file.
74637         * lib/unistr/u32-strncpy.c: New file.
74638         * lib/unistr/u-strncpy.h: New file.
74639
74640         * modules/unistr/u8-strnlen: New file.
74641         * modules/unistr/u16-strnlen: New file.
74642         * modules/unistr/u32-strnlen: New file.
74643         * lib/unistr/u8-strnlen.c: New file.
74644         * lib/unistr/u16-strnlen.c: New file.
74645         * lib/unistr/u32-strnlen.c: New file.
74646         * lib/unistr/u-strnlen.h: New file.
74647
74648         * modules/unistr/u8-strpbrk: New file.
74649         * modules/unistr/u16-strpbrk: New file.
74650         * modules/unistr/u32-strpbrk: New file.
74651         * lib/unistr/u8-strpbrk.c: New file.
74652         * lib/unistr/u16-strpbrk.c: New file.
74653         * lib/unistr/u32-strpbrk.c: New file.
74654         * lib/unistr/u-strpbrk.h: New file.
74655
74656         * modules/unistr/u8-strrchr: New file.
74657         * modules/unistr/u16-strrchr: New file.
74658         * modules/unistr/u32-strrchr: New file.
74659         * lib/unistr/u8-strrchr.c: New file.
74660         * lib/unistr/u16-strrchr.c: New file.
74661         * lib/unistr/u32-strrchr.c: New file.
74662
74663         * modules/unistr/u8-strspn: New file.
74664         * modules/unistr/u16-strspn: New file.
74665         * modules/unistr/u32-strspn: New file.
74666         * lib/unistr/u8-strspn.c: New file.
74667         * lib/unistr/u16-strspn.c: New file.
74668         * lib/unistr/u32-strspn.c: New file.
74669         * lib/unistr/u-strspn.h: New file.
74670
74671         * modules/unistr/u8-strstr: New file.
74672         * modules/unistr/u16-strstr: New file.
74673         * modules/unistr/u32-strstr: New file.
74674         * lib/unistr/u8-strstr.c: New file.
74675         * lib/unistr/u16-strstr.c: New file.
74676         * lib/unistr/u32-strstr.c: New file.
74677         * lib/unistr/u-strstr.h: New file.
74678
74679         * modules/unistr/u8-strtok: New file.
74680         * modules/unistr/u16-strtok: New file.
74681         * modules/unistr/u32-strtok: New file.
74682         * lib/unistr/u8-strtok.c: New file.
74683         * lib/unistr/u16-strtok.c: New file.
74684         * lib/unistr/u32-strtok.c: New file.
74685         * lib/unistr/u-strtok.h: New file.
74686
74687         * modules/unistr/u8-uctomb: New file.
74688         * modules/unistr/u16-uctomb: New file.
74689         * modules/unistr/u32-uctomb: New file.
74690         * lib/unistr/u8-uctomb.c: New file.
74691         * lib/unistr/u16-uctomb.c: New file.
74692         * lib/unistr/u32-uctomb.c: New file.
74693
74694         * MODULES.html.sh (Unicode string functions): Add the new modules.
74695
74696 2007-01-08  Bruno Haible  <bruno@clisp.org>
74697
74698         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74699         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74700         subdirectories.
74701
74702 2007-01-08  Karl Berry  <karl@gnu.org>
74703
74704         * doc/error.texi: mention that main() fns must set program_name
74705         when progname is used.
74706
74707 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74708
74709         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
74710         WCTYPE_H is empty, for the benefit of builds from non-distclean
74711         directories.  Problem reported by Eric Blake in
74712         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
74713
74714 2007-01-08  Bruno Haible  <bruno@clisp.org>
74715
74716         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
74717         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
74718         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
74719         PROVIDE_CANONICALIZE_FILENAME_MODE.
74720         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
74721
74722 2007-01-08  Bruno Haible  <bruno@clisp.org>
74723
74724         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
74725         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
74726         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
74727         * lib/fts.c: Likewise.
74728         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
74729
74730 2006-12-25  Bruno Haible  <bruno@clisp.org>
74731
74732         * modules/utf8-ucs4-safe: New file.
74733         * lib/utf8-ucs4-safe.h: New file.
74734         * lib/unistr/utf8-ucs4-safe.c: New file.
74735
74736         * modules/utf16-ucs4-safe: New file.
74737         * lib/utf16-ucs4-safe.h: New file.
74738         * lib/unistr/utf16-ucs4-safe.c: New file.
74739
74740         * MODULES.html.sh (Unicode string functions): Add the new modules.
74741
74742 2007-01-08  Bruno Haible  <bruno@clisp.org>
74743
74744         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
74745         (Depends-on): Add unitypes.
74746         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74747         (u8_mbtouc_aux): Move out to separate file.
74748         (u8_mbtouc): Use ucs4_t, uint8_t types.
74749         * lib/unistr/utf8-ucs4.c: New file.
74750
74751         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
74752         (Depends-on): Add unitypes.
74753         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74754         (u16_mbtouc_aux): Move out to separate file.
74755         (u16_mbtouc): Use ucs4_t, uint16_t types.
74756         * lib/unistr/utf16-ucs4.c: New file.
74757
74758         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
74759         (Depends-on): Add unitypes.
74760         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
74761         (u8_uctomb_aux): Move out to separate file.
74762         (u8_uctomb): Use ucs4_t, uint8_t types.
74763         * lib/unistr/ucs4-utf8.c: New file.
74764
74765         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
74766         (Depends-on): Add unitypes.
74767         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
74768         (u16_uctomb_aux): Move out to separate file.
74769         (u16_uctomb): Use ucs4_t, uint16_t types.
74770         * lib/unistr/ucs4-utf16.c: New file.
74771
74772 2006-12-25  Bruno Haible  <bruno@clisp.org>
74773
74774         * modules/unitypes: New file.
74775         * lib/unitypes.h: New file.
74776         * MODULES.html.sh (func_all_modules): New section "Unicode string
74777         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
74778         this section. Add unitypes.
74779
74780 2007-01-08  Bruno Haible  <bruno@clisp.org>
74781
74782         Avoid variable names that conflict with those from libtool.
74783         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
74784         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
74785         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
74786         library_names_spec to acl_library_names_spec, hardcode_* to
74787         acl_hardcode_*.
74788         Reported by Ralf Wildenhues.
74789
74790 2007-01-08  Bruno Haible  <bruno@clisp.org>
74791
74792         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
74793         definition.
74794         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
74795         definition.
74796         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
74797         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
74798         definition.
74799         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
74800         definition.
74801         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
74802         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
74803         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
74804         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
74805         definition.
74806         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
74807         definition.
74808         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
74809         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
74810         GC_USE_<algorithm>.
74811         * lib/gc-libgcrypt.c: Likewise.
74812         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
74813         * modules/gc-arctwo (configure.ac): Likewise.
74814         * modules/gc-des (configure.ac): Likewise.
74815         * modules/gc-hmac-md5 (configure.ac): Likewise.
74816         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74817         * modules/gc-md2 (configure.ac): Likewise.
74818         * modules/gc-md4 (configure.ac): Likewise.
74819         * modules/gc-md5 (configure.ac): Likewise.
74820         * modules/gc-random (configure.ac): Likewise.
74821         * modules/gc-rijndael (configure.ac): Likewise.
74822         * modules/gc-sha1 (configure.ac): Likewise.
74823
74824 2007-01-08  Bruno Haible  <bruno@clisp.org>
74825
74826         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
74827         macro definition.
74828         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
74829         definition.
74830         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
74831         definition.
74832         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
74833         * modules/fcntl-safer (configure.ac): Likewise.
74834         * modules/fopen-safer (configure.ac): Likewise.
74835         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
74836         GNULIB_FWRITEERROR macro definition.
74837
74838 2007-01-08  Bruno Haible  <bruno@clisp.org>
74839
74840         * m4/gnulib-common.m4: New file.
74841         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
74842         (func_get_filelist): Add m4/gnulib-common.m4.
74843
74844 2007-01-08  Bruno Haible  <bruno@clisp.org>
74845
74846         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
74847         command.
74848
74849 2007-01-08  Jim Meyering  <jim@meyering.net>
74850
74851         Use a more robust test for a "can't happen" condition.
74852         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
74853         narrowed the st_size value.  Presuming the "can't happen" condition
74854         is true, that narrowing could conceivably convert an invalid st_size
74855         value into a valid one.  Instead, use a change based on Matthew
74856         Woehlke's original patch.
74857
74858         Slight readability improvement: use an assert-like macro
74859         in place of literal "abort ()" uses.
74860         * lib/fts.c (fts_assert): Define.
74861         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
74862         Use this macro instead of a bare 'abort'.
74863
74864 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
74865
74866         Don't worry about using IRIX 5.3's wctype.h broken definitions;
74867         simply work around them.
74868         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
74869         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
74870         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
74871         declaring.
74872         Don't bother to define as macros, since the standard doesn't require it.
74873         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74874         longer worry about IRIX 5.3.
74875         (HAVE_WCTYPE_CTMP_BUG): Remove.
74876
74877 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74878
74879         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74880         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74881         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74882         Problems reported by Georg Schwarz for IRIX 5.3.
74883
74884         * gnulib-tool (autoconf_minversion): Take the maximum version number
74885         found, not the minimum.  Problem reported by James Youngman.
74886
74887 2007-01-03  Karl Berry  <karl@gnu.org>
74888
74889         * doc/error.texi: new file, explaining interaction with progname.
74890         * doc/gnulib.texi: include it.  Update copyright.
74891
74892 2007-01-03  Simon Josefsson  <simon@josefsson.org>
74893
74894         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
74895         AC_CANONICAL_HOST, to improve autobuild outputs.
74896
74897 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
74898             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74899
74900         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
74901         sockets, server sockets, and other file descriptors.  Count errors
74902         to compute the return value.  Reorder the code a bit to be easier
74903         to follow.  Don't set event bits that were not requested (except
74904         POLLERR and POLLHUP).
74905
74906 2007-01-01  Bruno Haible  <bruno@clisp.org>
74907
74908         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
74909
74910 2007-01-03  Jim Meyering  <jim@meyering.net>
74911
74912         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
74913
74914 2007-01-02  Bruno Haible  <bruno@clisp.org>
74915
74916         * modules/settime (Include): Require timespec.h.
74917         * modules/nanosleep (Include): Likewise.
74918
74919 2007-01-01  Bruno Haible  <bruno@clisp.org>
74920
74921         * gnulib-tool (func_emit_copyright_notice): Bump year.
74922         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
74923
74924 2007-01-01  Bruno Haible  <bruno@clisp.org>
74925
74926         Improve support for OpenBSD.
74927         * build-aux/config.rpath (libname_spec): Export.
74928         (library_names_spec): New variable. Export.
74929         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
74930         library_names_spec from the config.rpath output. Locate shared library
74931         through the name pattern in library_names_spec.
74932
74933 2007-01-01  Eric Blake  <ebb9@byu.net>
74934
74935         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
74936
74937 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
74938
74939         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
74940         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
74941         assume the C locale, and avoid an "eval" that could cause trouble.
74942         Problem with SORT reported by Bob Proulx.
74943
74944         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
74945         Define.  Trivial patch from Henning Nielsen Lund, originally
74946         sent to bug-grep@gnu.org today.
74947
74948 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
74949
74950         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
74951         struct stat.  Problem reported by Henning Nielsen Lund.
74952         * lib/acl.c: Include acl.h first, to check interface.  Don't
74953         bother to include sys/types.h and sys/stat.h again.
74954
74955 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74956
74957         Import the following change from libc; problem reported by
74958         Sven Verdoolaege.
74959
74960         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
74961
74962         [BZ #1373]
74963         * lib/argp.h: Remove __NTH for __argp_usage inline function.
74964
74965 2006-12-28  Jim Meyering  <jim@meyering.net>
74966
74967         * build-aux/announce-gen: Do not assume that the package
74968         builds any of tar.gz, tar.bz2, and .xdelta files.
74969         Suggestion from Simon Josefsson.
74970
74971 2006-12-28  Simon Josefsson  <simon@josefsson.org>
74972
74973         * modules/announce-gen: New file.
74974
74975 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
74976
74977         * lib/mbchar.h: Just include <wctype.h>; the wctype module
74978         handles its gotchas now.
74979         * lib/mbswidth.c: Likewise.
74980         * lib/wcwidth.h: Likewise.
74981         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
74982         and iswcntrl; the wctype module does this stuff now.
74983         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74984         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74985         * modules/mbchar (Depends-on): Add wctype.
74986         * modules/mbswidth (Depends-on): Likewise.
74987         * modules/wcwidth (Depends-on): Likewise.
74988
74989 2006-12-27  Eric Blake  <ebb9@byu.net>
74990
74991         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
74992         module uses more than what <wctype.h> is required to provide.
74993
74994 2006-12-26  Eric Blake  <ebb9@byu.net>
74995
74996         * gnulib-tool (sed_extract_prog): Avoid space-tab.
74997
74998 2006-12-26  Eric Blake  <ebb9@byu.net>
74999
75000         * modules/absolute-header: New module.
75001         * modules/fcntl (Depends-on): Depend on it.
75002         * modules/inttypes (Depends-on): Likewise.
75003         * modules/stdint (Depends-on): Likewise.
75004         * modules/sys_stat (Depends-on): Likewise.
75005         * modules/wctype (Depends-on): Likewise.
75006         * MODULES.html.sh (Support for building libraries and
75007         executables): Document it.
75008
75009 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75010
75011         * gnulib-tool (SED): Remove, undoing previous change.
75012         The problem was that it broke coreutils on Solaris, because
75013         "sed --posix" leaked into a makefile.
75014         (sed): New alias, if 'alias' and GNU sed.
75015
75016 2006-12-24  Jim Meyering  <jim@meyering.net>
75017
75018         Work around an fchownat bug in glibc-2.4:
75019         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75020         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75021         in spite of the -P option.
75022         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75023         New macros.
75024         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75025         * modules/openat (Files): Add lib/fchownat.c.
75026         * lib/openat.c (fchownat): Don't define here.  Move to...
75027         * lib/fchownat.c: ...this new file.
75028
75029 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75030
75031         Fix bug reported by Bruno Haible in
75032         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75033         where quotearg.c didn't compile on Mac OS X 10.2 because it
75034         lacks <wchar.h> and wint_t.
75035         * lib/wctype_.h (__wctype_wint_t): New type.
75036         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75037         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75038         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75039         Arg is now of type __wctype_wint_t, not wint_t.
75040         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75041         substitute HAVE_WINT_T.
75042         * modules/wctype (Files): Add m4/wint_t.m4.
75043         (wctype.h): Substitute HAVE_WINT_T.
75044
75045 2006-12-23  Bruno Haible  <bruno@clisp.org>
75046
75047         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75048
75049 2006-12-23  Bruno Haible  <bruno@clisp.org>
75050
75051         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75052         S_ISLNK.
75053         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75054         mingw.
75055
75056 2006-12-22  Bruno Haible  <bruno@clisp.org>
75057
75058         * lib/copy-file.c: Include acl.h.
75059         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75060         Close the file descriptors only after being done with copy_acl.
75061         * modules/copy-file (Depends-on): Add acl.
75062
75063 2006-12-22  Bruno Haible  <bruno@clisp.org>
75064
75065         * gnulib-tool (SED): New variable.
75066         Use $SED instead of sed everywhere.
75067
75068 2006-12-22  Bruno Haible  <bruno@clisp.org>
75069
75070         * modules/no-c++: New file.
75071         * m4/no-c++.m4: New file.
75072         * MODULES.html.sh (Support for building libraries and executables):
75073         Add no-c++.
75074
75075 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75076
75077         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75078         Include <limits.h>, and use its INT_MAX to rewrite the
75079         j loop so that it does not overflow 'int'.  Problem reported by
75080         Ralf Wildenhues in
75081         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75082         Play it safe by shifting left by 1 rather than multiplying by 2,
75083         as GCC is less likely to optimize this away when the value
75084         is signed (when it assumes overflow leads to undefined behavior).
75085         Also, don't assume time_t uses two's complement.
75086
75087 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75088
75089         * MODULES.html.sh: New module wctype.
75090         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75091         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75092         <wctype.h>, since the new wctype module should fix this.
75093         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75094         the wctype module should arrange for it.
75095         * lib/regex_internal.h: Likewise.
75096         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75097         since the wctype module should handle this now.
75098         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75099         * modules/fnmatch (Depends-on): Add wctype.
75100         * modules/quotearg (Depends-on): Likewise.
75101         * modules/regex (Depends-on): Likewise.
75102
75103 2006-12-19  Bruno Haible  <bruno@clisp.org>
75104
75105         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75106         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75107
75108 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75109
75110         * modules/savewd (Depends-on): Fix dependency on fcntl.
75111
75112 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75113
75114         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75115         conforms to C99, rather than relying on the user's environment
75116         setting of STDINT_H.
75117
75118 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75119         and Eric Blake  <ebb9@byu.net>
75120
75121         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75122         This is more consistent with the other defines here.
75123         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75124         Port to z/OS.  Problem reported by Paul Gilmartin.
75125         Change local vars to use gl_ prefix rather than ac_.
75126         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75127         with other defines.
75128         * modules/double-slash-root: New module.
75129         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75130         (Depends-on): Add double-slash-root.
75131         * MODULES.html.sh (File system functions): Mention new module.
75132
75133 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75134
75135         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75136         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75137         This is for the benefit of gzip, which doesn't do i18n.
75138
75139 2006-12-12  Jim Meyering  <jim@meyering.net>
75140
75141         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75142         Reported by Andreas Schwab <schwab@suse.de>.
75143
75144 2006-12-12  Bruno Haible  <bruno@clisp.org>
75145
75146         Merge these changes.
75147         2006-09-05  Bruno Haible  <bruno@clisp.org>
75148         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75149         iconv_alloc succeeded.
75150         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75151         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75152         test for " && dest " at the end - dest is always != NULL there. Call
75153         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75154         with 2xNULL arguments, also to flush the state storage. Handle the
75155         IRIX iconv behaviour. Realloc the final result, to throw away unused
75156         memory.
75157
75158 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75159
75160         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75161         and fchmodat unconditionally, since glibc 2.4 has them.
75162         Problem reported by Arkadiusz Miskiewicz.
75163
75164 2006-12-10  Bruno Haible  <bruno@clisp.org>
75165
75166         * gnulib-tool (func_import): Show the include files only for those
75167         modules that are copied and specified.
75168         Reported by Karl Berry.
75169
75170 2006-12-08  Jim Meyering  <jim@meyering.net>
75171
75172         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75173         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75174
75175         * build-aux/announce-gen: Add two new options, both optional:
75176         --bootstrap-tools=TOOL_LIST
75177               a comma-separated list of tools, e.g.,
75178               autoconf,automake,bison,gnulib
75179         --gnulib-snapshot-date=DATE
75180               if gnulib is in the bootstrap tool list,
75181               then report this as the snapshot date.
75182               If not specified, use the current date/time.
75183               If you specify a date here, be sure it's UTC.
75184
75185 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75186
75187         * tests/test-argp-2.sh: Fix test to match actual output.
75188         (func_compare): Fix sed script to be portable.
75189
75190 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75191
75192         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75193         workaround for this case.  It is not autoconfigured now; offhand
75194         it's hard to see how to autoconfigure it.
75195
75196 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75197
75198         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75199         a directory that is about to be chowned.  Such a directory's
75200         initial file permissions should permit the owner only and this
75201         should not be changed until after the chown, since the group and
75202         other bits would be incorrect if they granted permission before
75203         the chown.
75204
75205         Fix porting problem for iswctype reported by Georg Schwarz in:
75206         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75207         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75208         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75209         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75210         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75211
75212 2006-12-03  Jim Meyering  <jim@meyering.net>
75213
75214         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75215         p->fts_statp may not yet be defined.
75216         (fts_read): Instead, set it in the caller, once p->fts_statp is
75217         sure to be defined, and corresponds to a top-level directory.
75218         This bug made du -x fail.  Here's the coreutils test case:
75219         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75220         Reported by Mike Frysinger.
75221
75222 2006-12-01  Jim Meyering  <jim@meyering.net>
75223
75224         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75225         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75226         Reported by Simon Josefsson.
75227
75228 2006-11-30  Jim Meyering  <jim@meyering.net>
75229
75230         * m4/warning.m4: Use the all-permissive copyright notice
75231         recommended by RMS (rather than LGPL).
75232         * m4/vararrays.m4: Likewise.
75233         * m4/flexmember.m4: Likewise.
75234
75235 2006-11-29  Bruno Haible  <bruno@clisp.org>
75236
75237         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75238         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75239         using +=.
75240         Reported by Simon Josefsson <simon@josefsson.org>.
75241
75242 2006-11-28  James Youngman <jay@gnu.org>
75243
75244         * README: Advise users that they might find the bug-gnulib@gnu.org
75245         and autotools-announce@gnu.org mailing lists useful.
75246
75247 2006-11-28  Bruno Haible  <bruno@clisp.org>
75248
75249         * m4/ptrdiff_max.m4: Remove file.
75250
75251 2006-11-21  Bruno Haible  <bruno@clisp.org>
75252
75253         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75254         _AC_COMPUTE_INT.
75255         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75256         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75257         _AC_COMPUTE_INT.
75258         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75259         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75260         _AC_COMPUTE_INT.
75261         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75262
75263 2006-11-28  Jim Meyering  <jim@meyering.net>
75264
75265         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75266         warning from "gcc -Wshadow" about shadowing the builtin.
75267
75268 2006-11-27  Bruno Haible  <bruno@clisp.org>
75269
75270         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75271         _AC_COMPUTE_INT.
75272         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75273
75274 2006-11-27  Bruno Haible  <bruno@clisp.org>
75275             Paul Eggert  <eggert@cs.ucla.edu>
75276
75277         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75278
75279 2006-11-26  Bruno Haible  <bruno@clisp.org>
75280
75281         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75282         noinst_LTLIBRARIES.
75283
75284 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75285             Bruno Haible  <bruno@clisp.org>
75286
75287         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75288         if compiling with "gcc -ansi".
75289
75290 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75291
75292         Fix some incompatibilities with gcc -ansi -pedantic.
75293         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75294         if compiling pedantically with GCC, unless it's C99 or later.
75295         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75296         it mishandles gcc -ansi -pedantic as well.
75297         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75298         if gcc -pedantic.
75299         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75300         initializers for struct if -pedantic, unless it's C99 or later.
75301
75302 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75303
75304         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75305         Don't close an fd more than once. Identical atimes indicate
75306         success, not failure.
75307
75308 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75309
75310         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75311
75312 2006-11-23  Jim Meyering  <jim@meyering.net>
75313
75314         * build-aux/announce-gen: New file.  From coreutils.
75315
75316 2006-11-22  Jim Meyering  <jim@meyering.net>
75317
75318         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75319         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75320         (fts_read): Use a temporary to narrow the overused st_size member
75321         before using it in a switch statement.  Reported by Matthew Woehlke.
75322
75323         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75324         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75325
75326 2006-11-20  Bruno Haible  <bruno@clisp.org>
75327
75328         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75329         changequote instead of pairs of brackets.
75330         Reported by Andreas Schwab <schwab@suse.de>.
75331
75332 2006-11-21  Jim Meyering  <jim@meyering.net>
75333
75334         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75335         so as to remain compatible with older compilers.
75336         Patch from Michael Deutschmann.
75337
75338 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75339
75340         * MODULES.html.sh (File system functions): Add openat.
75341
75342         * lib/openat.h (rpl_fstatat): New macro, if
75343         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75344         (fstatat): Define to rpl_fstatat under the same conditions,
75345         unless COMPILING_FSTATAT.
75346         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75347         seems to have the bug.
75348         * lib/fstatat.c: New file.
75349         * modules/openat (Files): Add it.
75350
75351 2006-11-20  Bruno Haible  <bruno@clisp.org>
75352
75353         * Makefile: New file.
75354
75355 2006-11-20  Jim Meyering  <jim@meyering.net>
75356
75357         The beginnings of syntax-related checks for gnulib.
75358         * lib/Makefile: New file.
75359         * lib/t-idcache: New script.  Ensure that the two halves of
75360         idcache.c stay in sync.
75361
75362         * lib/idcache.c: Adjust comments in user- and group- portions to
75363         be more accurate, and to be consistent with one another.
75364
75365 2006-11-20  Jim Meyering  <jim@meyering.net>
75366
75367         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75368         continue using the flexible array member (thus, this module performs
75369         half as many malloc calls), with the addition that...
75370         (getgroup, getuser): Consistently record a non-match via an empty
75371         "name" string, and map an empty string match to a NULL return value.
75372         * modules/idcache (Depends-on): Re-add flexmember.
75373
75374         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75375         (getuidbyname, getgroup, getgidbyname): Likewise.
75376
75377         Use cleaner syntax: NULL rather than 0.
75378         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75379
75380 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75381
75382         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75383         It mishandled the case where the group was missing.
75384         Problem reported by Greg Schafer.
75385         * modules/idcache: Likewise.
75386
75387 2006-11-18  Jim Meyering  <jim@meyering.net>
75388
75389         * check-module (%exempt_header): Add exception for some
75390         conditionally-included headers.
75391
75392         * modules/i-ring (Depends-on): Add verify.
75393         (License): Change to LGPL.
75394
75395 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75396
75397         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75398         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75399         and inttostr.h.  Use snprintf rather than uinttostr, so that
75400         LGPLed code doesn't depend on GPLed.
75401
75402 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75403
75404         * modules/inline (License): Change from GPL to LGPL.
75405
75406 2006-11-17  Jim Meyering  <jim@meyering.net>
75407
75408         * modules/d-type (License): Switch to LGPL.
75409
75410 2006-11-15  Bruno Haible  <bruno@clisp.org>
75411
75412         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75413
75414 2006-11-15  Eric Blake  <ebb9@byu.net>
75415
75416         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75417         the module dependency.
75418
75419 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75420             Bruno Haible  <bruno@clisp.org>
75421
75422         * gnulib-tool (func_create_testdir): Add license consistency check.
75423
75424 2006-11-15  Eric Blake  <ebb9@byu.net>
75425
75426         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75427         random "(cached)" in configure output.
75428
75429 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75430
75431         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75432         test for conforming inttypes.h is both announced and cached.
75433
75434         * MODULES.html.sh (seen_modules, seen_files): New variables.
75435         (func_module): Rewrite to use a few less gnulib-tool and sed
75436         invocations.  Avoid a couple of quadratic algorithms for ...
75437         (missed_modules, missed_files): ... these, with ...
75438         (func_append, func_tmpdir): ... these new functions, from
75439         gnulib-tool.  Analogously, install traps for cleanup.
75440
75441         * tests/test-gc.c (main): Remove unused variables.
75442         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75443
75444 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75445
75446         * modules/inttostr (License): Change to LGPL.
75447
75448 2006-11-14  Eric Blake  <ebb9@byu.net>
75449
75450         * modules/tempname (License): Change to LGPL.
75451
75452 2006-11-14  Eric Blake  <ebb9@byu.net>
75453
75454         * doc/functions.texi (Function Portability): *printf functions on
75455         Cygwin now understand all POSIX size specifiers.
75456
75457 2006-11-14  Bruno Haible  <bruno@clisp.org>
75458
75459         * modules/c-ctype (License): Change to LGPL.
75460
75461 2006-11-12  Bruno Haible  <bruno@clisp.org>
75462
75463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75464         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75465         for GNOME libraries, for which the include files are installed in
75466         subdirectories of $prefix/include.
75467
75468 2006-11-12  Bruno Haible  <bruno@clisp.org>
75469
75470         * m4/lib-link.m4: Require at least autoconf-2.54.
75471         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75472         name to underscores for the --with option.
75473
75474 2006-11-13  Bruno Haible  <bruno@clisp.org>
75475
75476         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75477         the tests directory.
75478         Reported by Ralf Wildenhues.
75479
75480 2006-11-13  Bruno Haible  <bruno@clisp.org>
75481
75482         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75483         (func_emit_initmacro_end): Undo the override here.
75484         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75485         Works around the famous automake error in coreutils.
75486
75487 2006-11-13  Eric Blake  <ebb9@byu.net>
75488
75489         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75490         element, not its node.
75491
75492 2006-11-12  Bruno Haible  <bruno@clisp.org>
75493
75494         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75495         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75496
75497 2006-11-12  Bruno Haible  <bruno@clisp.org>
75498
75499         * gnulib-tool: New option --local-symlink.
75500         (func_usage): Document it.
75501         (lsymbolic): New variable.
75502         (func_import, func_create_testdir): If --symlink was not specified,
75503         test whether --local-symlink was specified and the file comes from
75504         the local_gnulib_dir.
75505
75506 2006-11-12  Bruno Haible  <bruno@clisp.org>
75507
75508         * gnulib-tool (func_ln): New function.
75509         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75510
75511 2006-11-12  Bruno Haible  <bruno@clisp.org>
75512
75513         Finish support for source files in subdirectories.
75514         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75515         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75516         AUTOMAKE_OPTIONS.
75517         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75518
75519 2006-11-12  Bruno Haible  <bruno@clisp.org>
75520
75521         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75522         EXTRA_lib_SOURCES augmentation.
75523         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75524
75525 2006-11-12  Jim Meyering  <jim@meyering.net>
75526
75527         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75528         file descriptors.  This also averts a failure on systems with
75529         native openat support when a traversed directory lacks "x" access.
75530         * lib/fts_.h: Include "i-ring.h"
75531         (struct FTS) [fts_fd_ring]: New member.
75532         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75533         (FCHDIR): Add parentheses.
75534         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75535         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75536         When descending, rather than simply closing the previous
75537         fts_cwd_fd value, push that file descriptor onto the ring.
75538         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75539         (fts_open): Initialize the new fd_ring member.
75540         (fts_close): Clear the ring.
75541         (fts_safe_changedir): When possible, use our new fd_ring to skip
75542         the diropen and fstat and dev/ino comparison that would normally
75543         accompany a virtual `chdir ("..")'.
75544
75545         * modules/fts (Depends-on): Add i-ring.
75546         * modules/i-ring: New module.
75547         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75548         * m4/i-ring.m4: New file.
75549
75550 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75551
75552         * gnulib-tool (func_create_testdir): Fix replacement of
75553         `build-aux' in configure.ac.  Run autotools in gltests
75554         subdirectory.
75555         (func_create_testdir, func_create_megatestdir, test): There is
75556         no need for '--force' in most autotool invocations in a new
75557         tree.  Actually fail the whole test if any of the tools, or the
75558         configure or make stages fail.
75559
75560         Sync from Automake.
75561         * build-aux/gnupload: Revert last change.  Add pointer to upload
75562         instructions of the GNU Maintenance Instructions.
75563         Suggestion by Karl Berry.
75564
75565 2006-11-10  Jim Meyering  <jim@meyering.net>
75566
75567         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75568
75569 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75570
75571         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75572         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75573         (bind_textdomain_codeset) [! ENABLE_NLS]:
75574         Evaluate all the arguments.  That way, callers get compatible behavior
75575         if the arguments have side effects.  Also, it avoids some GCC
75576         diagnostics in some cases; Joel E. Denny reported problems when Bison
75577         was configured with --enable-gcc-warnigs.
75578
75579 2006-11-10  Jim Meyering  <jim@meyering.net>
75580
75581         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75582         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75583         account.
75584
75585 2006-11-10  Jim Meyering  <jim@meyering.net>
75586
75587         * modules/inline: New file/module.
75588         * modules/xalloc (Files): Remove m4/inline.m4.
75589         (Depends-on): Add inline, instead.
75590         * modules/oset: Likewise.
75591         * modules/list: Likewise.
75592
75593 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75594
75595         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75596         Problem reported by Matthew Woehlke.
75597
75598 2006-11-09  Bruno Haible  <bruno@clisp.org>
75599
75600         * lib/tempname.c (gen_tempname): Remove variant that invokes
75601         __gen_tempname.
75602         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75603         __gen_tempname.
75604
75605 2006-11-08  Bruno Haible  <bruno@clisp.org>
75606
75607         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75608         to 'yes' instead of 'cross-compiling'.
75609
75610 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75611
75612         * lib/quotearg.h (quotearg_free): New decl.
75613         * lib/quotearg.c (quotearg_free): New function.
75614         (slot0, nslots, slotvec0, slotvec):
75615         Now file-scope so that quotearg_free can get at them.
75616
75617 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75618
75619         Sync from Automake.
75620         * build-aux/gnupload: Add missing 'gnu' to example URL.
75621         Report by Karl Berry.
75622
75623 2006-11-08  Bruno Haible  <bruno@clisp.org>
75624
75625         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75626         Suggested by Paul Eggert.
75627
75628 2006-11-08  Jim Meyering  <jim@meyering.net>
75629
75630         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75631         It's already included if !_LIBC.
75632         (fts_safe_changedir): Add a comment.
75633
75634 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75635
75636         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75637         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75638         Matthew Woehlke.
75639
75640         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75641         definitions up, to avoid colliding with change below.
75642         (static_inline) [HAVE_INLINE]: New macro.
75643         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75644         Provide extern decls when !HAVE_INLINE.  Do not define unless
75645         static_inline is defined, either by us or by xmalloc.c.  Use
75646         static_inline rather than static inline.
75647         (XCALLOC): Optimize sizeof(T) = 1 case.
75648         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75649
75650 2006-11-07  Bruno Haible  <bruno@clisp.org>
75651
75652         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75653         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75654         AC_C_INLINE.
75655         * modules/xalloc (Files): Add m4/inline.m4.
75656
75657 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75658
75659         * README: Fix typo.
75660         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75661         (Miscellanous Notes): ...from this.
75662
75663 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75664
75665         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75666         Mention that offsetof should be used instead of sizeof.
75667         From Bruno Haible.
75668
75669 2006-11-07  Bruno Haible  <bruno@clisp.org>
75670
75671         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75672
75673 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75674
75675         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75676         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75677         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75678         (gl_tree_add_before, gl_tree_add_after):
75679         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75680         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75681         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75682         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75683         (gl_linked_add_after, gl_linked_add_at): Likewise.
75684         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75685         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75686         (gl_tree_add_before, gl_tree_add_after): Likewise.
75687         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75688         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75689         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75690
75691 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75692
75693         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75694
75695 2006-11-06  Bruno Haible  <bruno@clisp.org>
75696
75697         * m4/inline.m4: New file.
75698         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75699         * modules/list (Files): Add m4/inline.m4.
75700         * modules/oset (Files): Likewise.
75701
75702 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75703
75704         * lib/idcache.c: Include <stddef.h>, for offsetof.
75705         (struct userid.name): Change from char * to a flexible array member.
75706         All uses changed.
75707         * modules/idcache (Depends-on): Add flexmember.
75708
75709         * MODULES.html.sh (Core language properties): New module flexmember.
75710         * modules/flexmember, m4/flexmember.m4: New files.
75711
75712         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
75713         inline functions that are identical with the old xnmalloc_inline,
75714         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
75715         that we can avoid some unnecessary integer multiplications and
75716         divisions in the common case where the element size is known at
75717         compile time.
75718         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
75719         needed.
75720         (xnboundedmalloc): Remove.
75721         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
75722         arguments, for consistency with rest of this header.
75723         (xcharalloc): Rewrite using XNMALLOC.
75724         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
75725         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
75726         versions have been moved to lib/xalloc.h and renamed to be the
75727         non-*_inline versions.
75728         (xmalloc, xrealloc): Implement without reference to the xnmalloc
75729         and xnrealloc functions, since those functions are now inline and
75730         now call us.
75731         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
75732         renaming described above.
75733         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
75734         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
75735         captures the dependency in AC_C_INLINE.
75736
75737         New module canonicalize-lgpl, proposed by Charles Wilson in
75738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
75739         with a few small changes afterwards.
75740         * MODULES.html.sh (File system functions): New module
75741         canonicalize-lgpl.
75742         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
75743         and canonicalize_file_name.
75744         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
75745         * modules/canonicalize-lgpl: New files.
75746
75747 2006-11-05  Bruno Haible  <bruno@clisp.org>
75748
75749         * gnulib-tool (func_import, func_create_testdir): Create directories
75750         also for files in subdirectories of lib/.
75751
75752 2006-11-05  Bruno Haible  <bruno@clisp.org>
75753
75754         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
75755         ANSI C compliant.
75756
75757 2006-11-03  Bruno Haible  <bruno@clisp.org>
75758
75759         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75760         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
75761         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
75762         (xnboundedmalloc): New inline function.
75763         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
75764         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
75765         xmalloc.
75766         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
75767         xmalloc.
75768         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
75769         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
75770         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
75771         xmalloc.
75772         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75773         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
75774         xmalloc.
75775         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
75776         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75777         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
75778         xmalloc.
75779         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75780         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
75781         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75782         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
75783         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
75784         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
75785         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
75786
75787 2006-11-03  Bruno Haible  <bruno@clisp.org>
75788
75789         * lib/c-ctype.h [C++]: Define functions without name mangling.
75790         * lib/fwriteerror.h [C++]: Likewise.
75791         * lib/gcd.h [C++]: Likewise.
75792         * lib/linebreak.h [C++]: Likewise.
75793
75794 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75795
75796         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
75797         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
75798         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
75799         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75800         Check for functions and headers just once.
75801         Check for declaration of canonicalize_file_name.
75802         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
75803
75804 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75805
75806         * gnulib-tool (func_import): Fix typo in actioncmd.
75807
75808 2006-11-02  Bruno Haible  <bruno@clisp.org>
75809
75810         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
75811         newline sequence in the Makefile.am snippet as a space, like "make"
75812         does.
75813         Reported by Roger Persson <perrog@gmail.com>.
75814
75815 2006-11-01  Bruno Haible  <bruno@clisp.org>
75816
75817         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
75818         already declared in <string.h>.
75819         * lib/strcase.h (strncasecmp): Don't declare it if yes.
75820
75821 2006-11-01  Bruno Haible  <bruno@clisp.org>
75822
75823         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
75824         * lib/strcase.h: Include <string.h>.
75825         (strcasecmp): Define to rpl_strcasecmp here.
75826
75827 2006-11-01  Bruno Haible  <bruno@clisp.org>
75828
75829         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
75830
75831 2006-11-01  Eric Blake  <ebb9@byu.net>
75832
75833         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
75834
75835         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
75836
75837 2006-10-29  Bruno Haible  <bruno@clisp.org>
75838
75839         Make it compile in C++ mode.
75840         * lib/full-write.c (full_rw): Add a cast.
75841
75842 2006-11-01  Bruno Haible  <bruno@clisp.org>
75843
75844         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
75845         be POSIX compliant.
75846         Reported by Roger Persson <perrog@gmail.com>.
75847
75848 2006-11-01  Eric Blake  <ebb9@byu.net>
75849
75850         * lib/getopt_.h: Fix comments.
75851
75852 2006-10-31  Eric Blake  <ebb9@byu.net>
75853
75854         * modules/tmpdir (Depends-on): Add sys_stat.
75855         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
75856         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
75857         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
75858         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
75859         tempname.
75860
75861 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
75862
75863         Avoid some C++ diagnostics reported by Bruno Haible.
75864         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
75865         xmalloc.
75866         (quotearg_alloc): Use xcharalloc rather than xmalloc.
75867         (struct slotvec): Move to top level.
75868         (quotearg_n_options): Rewrite to avoid xmalloc.
75869         * lib/xalloc.h (xcharalloc): New function.
75870         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
75871         [defined __cplusplus]: Add function template that provides result
75872         type propagation.  This part of the change is from Bruno Haible.
75873
75874 2006-10-29  Bruno Haible  <bruno@clisp.org>
75875
75876         Make it compile in C++ mode.
75877         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75878         * lib/strnlen1.c (strnlen1): Cast memchr result.
75879         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75880         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75881         (create_temp_dir): Rename local variable 'template'.
75882         (compile_csharp_using_sscli): Add cast.
75883         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
75884         * lib/findprog.c (find_in_path): Likewise.
75885         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
75886         * lib/wait-process.c (register_slave_subprocess): Likewise.
75887
75888 2006-10-22  Bruno Haible  <bruno@clisp.org>
75889
75890         * modules/tsearch: New file.
75891         * lib/tsearch.h: New file.
75892         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
75893         * m4/tsearch.m4: New file.
75894         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
75895
75896 2006-10-29  Eric Blake  <ebb9@byu.net>
75897
75898         * lib/arcfour.c: Assume config.h.
75899         * lib/arctwo.c: Likewise.
75900         * lib/base64.c: Likewise.
75901         * lib/check-version.c: Likewise.
75902         * lib/crc.c: Likewise.
75903         * lib/des.c: Likewise.
75904         * lib/gc-gnulib.c: Likewise.
75905         * lib/gc-libgcrypt.c: Likewise.
75906         * lib/gc-pbkdf2-sha1.c: Likewise.
75907         * lib/getaddrinfo.c: Likewise.
75908         * lib/getdelim.c: Likewise.
75909         * lib/getline.c: Likewise.
75910         * lib/hmac-md5.c: Likewise.
75911         * lib/hmac-sha1.c: Likewise.
75912         * lib/iconvme.c: Likewise.
75913         * lib/md2.c: Likewise.
75914         * lib/md4.c: Likewise.
75915         * lib/memxor.c: Likewise.
75916         * lib/read-file.c: Likewise.
75917         * lib/readline.c: Likewise.
75918         * lib/rijndael-alg-fst.c: Likewise.
75919         * lib/rijndael-api-fst.c: Likewise.
75920         * lib/xgetdomainname.c: Likewise.
75921
75922 2006-10-28  Eric Blake  <ebb9@byu.net>
75923
75924         * lib/xstrndup.c: Assume config.h.
75925
75926 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75927
75928         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
75929         stat-macros.h is now for our own macros, whereas stat_h is for
75930         macros in the <sys/stat.h> name space.
75931         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
75932         (STAT_MACROS_H): Remove.
75933         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
75934         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
75935         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
75936         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
75937         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
75938         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
75939         Move these macros to ...
75940         * lib/stat_.h: here.  Don't include stat-macros.h.
75941         * lib/canonicalize.c: Don't include stat-macros.h.
75942         * lib/chown.c: Likewise.
75943         * lib/euidaccess.c: Likewise.
75944         * lib/file-type.c: Likewise.
75945         * lib/filemode.c: Likewise.
75946         * lib/glob.c: Likewise.
75947         * lib/isapipe.c: Likewise.
75948         * lib/lchown.c: Likewise.
75949         * lib/lstat.c: Likewise.
75950         * lib/mkdir-p.c: Likewise.
75951         * lib/rmdir.c: Likewise.
75952         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
75953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
75954         unless mkdir isn't declared, to speed up 'configure'.
75955         Always create sys/stat.h, since it's unlikely any real sys/stat.h
75956         would define all the S_* symbols.
75957         * modules/canonicalize (Depends-on):
75958         Depend on sys_stat, not stat-macros.
75959         * modules/chown: Likewise.
75960         * modules/euidaccess: Likewise.
75961         * modules/filemode: Likewise.
75962         * modules/file-type: Likewise.
75963         * modules/glob: Likewise.
75964         * modules/isapipe: Likewise.
75965         * modules/lchown: Likewise.
75966         * modules/lstat: Likewise.
75967         * modules/mkancesdirs: Likewise.
75968         * modules/rmdir: Likewise.
75969         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
75970         * modules/modechange: Likewise.
75971         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
75972         (configure.ac): Remove gl_STAT_MACROS.
75973         * modules/sys_stat (Depends-on): Remove stat-macros.
75974
75975 2006-10-27  Bruno Haible  <bruno@clisp.org>
75976
75977         * m4/signed.m4: Remove file.
75978         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
75979         invocation.
75980         * modules/vasnprintf (Files): Remove m4/signed.m4.
75981
75982 2006-10-27  Bruno Haible  <bruno@clisp.org>
75983
75984         Update to GNU gettext 0.16.
75985         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
75986         m4/inttypes-h.m4, m4/signed.m4.
75987         * m4/gettext.m4: Update to GNU gettext 0.16.
75988         * m4/intl.m4: New file, from GNU gettext.
75989         * m4/intldir.m4: New file, from GNU gettext.
75990         * config/srclist.txt: Update
75991
75992 2006-10-27  Eric Blake  <ebb9@byu.net>
75993
75994         * MODULES.html.sh: Document tempname.
75995         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
75996         dependencies.
75997         (Files): Move lib/tempname.c...
75998         * modules/tempname: ...to this new module.
75999         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76000         (gl_PREREQ_TEMPNAME): Move...
76001         * m4/tempname.m4: ...to this new file.
76002         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76003         * modules/sys_stat (Depends-on): Add stat-macros.
76004         * lib/stat_.h (includes): Pick up stat macros.
76005         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76006         if stat macros are broken.
76007         * lib/tempname.c (includes): No need to include "stat-macros.h".
76008         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76009         (direxists, __path_search) [!_LIBC]: Don't compile these in
76010         gnulib; the tmpdir module covers that.
76011         * lib/tempname.h: New file.
76012
76013 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * COPYING: Explain how gnulib-tool converts licence headers.
76016         Almost all wording by Eric Blake.
76017
76018 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76019
76020         * lib/mbchar.h (is_basic_table): Make read-only.
76021         * lib/mbchar.c (is_basic_table): Likewise.
76022         Reported by John Darrington.
76023
76024 2006-10-25  Bruno Haible  <bruno@clisp.org>
76025
76026         * lib/progname.h (set_program_name): Undefine before defining.
76027
76028 2006-10-25  Bruno Haible  <bruno@clisp.org>
76029
76030         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76031         false for non-gcc C++ compilers.
76032         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76033
76034 2006-10-24  Bruno Haible  <bruno@clisp.org>
76035
76036         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76037         iconv implementations like Irix iconv.
76038
76039 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76040
76041         * modules/vararrays: New file.
76042         * m4/vararrays.m4: New file, taken from diffutils.
76043         * MODULES.html.sh: New module vararrays.
76044
76045 2006-10-24  Karl Berry  <karl@gnu.org>
76046
76047         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76048         Don't call GNU Unix.
76049
76050 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76051
76052         * users.txt: Add Libtool.
76053
76054         Sync from Libtool:
76055
76056         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76057
76058         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76059         to gnulib's policy of including config.h unconditionally.
76060
76061 2006-10-24  Bruno Haible  <bruno@clisp.org>
76062
76063         * modules/wcwidth (Files): Add m4/wint_t.m4.
76064         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76065         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76066
76067 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76068
76069         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76070         to pacify GCC with some -W flags enabled.  Problem reported by
76071         Bruno Haible.
76072
76073 2006-10-24  Jim Meyering  <jim@meyering.net>
76074
76075         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76076         Reported by Karl Berry.
76077
76078 2006-10-23  Bruno Haible  <bruno@clisp.org>
76079
76080         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76081
76082 2006-10-24  Bruno Haible  <bruno@clisp.org>
76083
76084         * lib/gl_list.h: Use C comment style, not C++ comment style.
76085
76086 2006-10-23  Eric Blake  <ebb9@byu.net>
76087
76088         * lib/getaddrinfo.c (includes): Add missing include.
76089
76090 2006-10-23  Bruno Haible  <bruno@clisp.org>
76091             Paul Eggert  <eggert@cs.ucla.edu>
76092
76093         Ability to rename obstack_free.
76094         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76095         obstack_free.
76096         (obstack_free): Invoke the __obstack_free macro.
76097         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76098
76099 2006-10-23  Bruno Haible  <bruno@clisp.org>
76100             Paul Eggert  <eggert@cs.ucla.edu>
76101
76102         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76103         __argc, __argv from the declaration. (They are defined as macros on
76104         mingw.)
76105
76106 2006-10-22  Bruno Haible  <bruno@clisp.org>
76107
76108         * doc/gnulib-intro.texi: New file.
76109         * doc/gnulib.texi: Include it.
76110
76111 2006-10-21  Bruno Haible  <bruno@clisp.org>
76112
76113         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76114         "Introduction", "Miscellanous Notes", "Particular Modules".
76115
76116 2006-10-21  Bruno Haible  <bruno@clisp.org>
76117
76118         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76119         Change mostlyclean-local rule to avoid sh syntax error from bash
76120         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76121
76122 2006-10-23  Jim Meyering  <jim@meyering.net>
76123
76124         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76125         in place of snprintf.
76126
76127         * modules/inttostr (Files): Add lib/uinttostr.c.
76128         * lib/uinttostr.c (inttostr): New file/function.
76129         * lib/inttostr.h (uinttostr): Declare.
76130         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76131         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76132         Add uinttostr.
76133         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76134
76135 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76136
76137         * lib/canonicalize.c (ELOOP): Define if not already defined.
76138         Problem reported by Bruno Haible in
76139         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76140
76141 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76142
76143         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76144         Problem reported by Perry Smith and Ville Laurikari.
76145
76146         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76147         uses.
76148
76149 2006-10-19  Bruno Haible  <bruno@clisp.org>
76150
76151         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76152         for mingw.
76153
76154 2006-10-19  Bruno Haible  <bruno@clisp.org>
76155
76156         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76157         Needed for mingw.
76158
76159 2006-10-19  Bruno Haible  <bruno@clisp.org>
76160
76161         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76162
76163 2006-10-19  Bruno Haible  <bruno@clisp.org>
76164
76165         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76166         it.
76167
76168 2006-10-19  Bruno Haible  <bruno@clisp.org>
76169
76170         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76171         invocation.
76172
76173 2006-10-19  Bruno Haible  <bruno@clisp.org>
76174
76175         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76176         mountlist by default.
76177
76178 2006-10-16  Bruno Haible  <bruno@clisp.org>
76179
76180         * lib/c-strstr.c: Include c-strstr.h.
76181
76182 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76183
76184         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76185         in a slash.
76186
76187 2006-10-18  Bruno Haible  <bruno@clisp.org>
76188
76189         * lib/lock.h [C++]: Wrap definitions in extern "C".
76190
76191 2006-10-18  Bruno Haible  <bruno@clisp.org>
76192
76193         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76194         gl_LIBOBJS list.
76195
76196 2006-10-18  Bruno Haible  <bruno@clisp.org>
76197
76198         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76199
76200 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76201
76202         * lib/xstrtol.h: Include gettext.h.
76203         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76204         Problem reported by Eric Blake.
76205         * modules/xstrtol (Depends-on): Add gettext-h.
76206
76207 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76208
76209         * lib/strftime.c (advance): New macro.
76210         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76211         incomplete type, so you can't add 0 to it.  Problem and patch
76212         reported by Eelco Dolstra for dietlibc.
76213
76214 2006-10-18  Jim Meyering  <jim@meyering.net>
76215
76216         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76217         type for a local, and rename it: s/up/user_proc/.
76218
76219 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76220
76221         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76222         READ_UTMP_USER_PROCESS.
76223         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76224
76225 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76226
76227         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76228         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76229
76230 2006-10-17  Eric Blake  <ebb9@byu.net>
76231
76232         * lib/sigprocmask.c (sigprocmask): Fix typo.
76233
76234         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76235
76236         * modules/clean-temp (Makefile.am): Don't add to make output...
76237         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76238         config.h.
76239
76240 2006-10-17  Bruno Haible  <bruno@clisp.org>
76241
76242         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76243         differently if DEFAULT_TEXT_DOMAIN is set.
76244
76245 2006-10-16  Bruno Haible  <bruno@clisp.org>
76246
76247         * lib/clean-temp.c: Include fwriteerror.h.
76248
76249 2006-10-16  Bruno Haible  <bruno@clisp.org>
76250
76251         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76252
76253 2006-10-16  Bruno Haible  <bruno@clisp.org>
76254
76255         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76256         * lib/sigprocmask.h: Include <sys/types.h>.
76257         (sigset_t): Use the system's definition if present.
76258
76259 2006-10-17  Eric Blake  <ebb9@byu.net>
76260
76261         * lib/xvasprintf.c (includes): Assume config.h.
76262         * lib/xasprintf.c (includes): Likewise.
76263
76264 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76265
76266         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76267         at least as wide as intmax_t.
76268
76269 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76270
76271         (Imported from Automake.)
76272         * build-aux/gnupload: Update to version 1.1 of directive file.
76273
76274 2006-10-16  Eric Blake  <ebb9@byu.net>
76275
76276         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76277         match Automake 1.10a.
76278
76279 2006-10-14  Bruno Haible  <bruno@clisp.org>
76280
76281         * modules/sigprocmask: New file.
76282         * lib/sigprocmask.h: New file.
76283         * lib/sigprocmask.c: New file.
76284         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76285         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76286         request sigprocmask.o.
76287         (gl_PREREQ_SIGPROCMASK): New macro.
76288         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76289         (Depends-on): Add sigprocmask.
76290         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76291         gt_SIGNALBLOCKING. Test for 'raise' only once.
76292         * lib/fatal-signal.c: Include sigprocmask.h.
76293         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76294         unblock_fatal_signals): Define always.
76295         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76296         sigprocmask.
76297
76298 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76299
76300         Sync from Automake.
76301         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76302         which incorrectly sets the mode of an existing destination
76303         directory.  In some cases the unpatched install-sh could do the
76304         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76305         system.  We hope this is rare in practice, but it's clearly worth
76306         fixing.  Problem reported by Alex Unleashed in
76307         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76308         Also, don't bother to check for -m bugs unless we're using -m;
76309         suggested by Stepan Kasal.
76310
76311 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76312
76313         Sync from Automake.
76314         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76315         `-c' flag, so they appear at the same position as in %FASTDEP%
76316         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76317         which ignores unknown options only after the first non-option.
76318         Bug report against M4 by Nelson H. F. Beebe.
76319
76320 2006-10-13  Jim Meyering  <jim@meyering.net>
76321
76322         Fix a bug in yesterday's change.
76323         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76324         p->fts_statp->st_dev would be used uninitialized.
76325         Ensures that we always call fts_stat on the very first entry.
76326         Miklos Szeredi reported that find -xdev stopped working.
76327
76328 2006-10-12  Bruno Haible  <bruno@clisp.org>
76329
76330         * gnulib-tool (func_get_automake_snippet): Append an automatically
76331         computed EXTRA_DIST augmentation.
76332         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76333         * modules/alloca-opt (Makefile.am): Likewise.
76334         * modules/allocsa (Makefile.am): Likewise.
76335         * modules/arcfour (Makefile.am): Likewise.
76336         * modules/arctwo (Makefile.am): Likewise.
76337         * modules/argmatch (Makefile.am): Likewise.
76338         * modules/argz (Makefile.am): Likewise.
76339         * modules/atexit (Makefile.am): Likewise.
76340         * modules/backupfile (Makefile.am): Likewise.
76341         * modules/byteswap (Makefile.am): Likewise.
76342         * modules/c-strtod (Makefile.am): Likewise.
76343         * modules/c-strtold (Makefile.am): Likewise.
76344         * modules/calloc (Makefile.am): Likewise.
76345         * modules/canon-host (Makefile.am): Likewise.
76346         * modules/canonicalize (Makefile.am): Likewise.
76347         * modules/chdir-long (Makefile.am): Likewise.
76348         * modules/chdir-safer (Makefile.am): Likewise.
76349         * modules/check-version (Makefile.am): Likewise.
76350         * modules/chown (Makefile.am): Likewise.
76351         * modules/cloexec (Makefile.am): Likewise.
76352         * modules/close-stream (Makefile.am): Likewise.
76353         * modules/closeout (Makefile.am): Likewise.
76354         * modules/crc (Makefile.am): Likewise.
76355         * modules/csharpexec (Makefile.am): Likewise.
76356         * modules/cycle-check (Makefile.am): Likewise.
76357         * modules/des (Makefile.am): Likewise.
76358         * modules/dev-ino (Makefile.am): Likewise.
76359         * modules/dirfd (Makefile.am): Likewise.
76360         * modules/dirname (Makefile.am): Likewise.
76361         * modules/dup2 (Makefile.am): Likewise.
76362         * modules/eealloc (Makefile.am): Likewise.
76363         * modules/error (Makefile.am): Likewise.
76364         * modules/euidaccess (Makefile.am): Likewise.
76365         * modules/exclude (Makefile.am): Likewise.
76366         * modules/exitfail (Makefile.am): Likewise.
76367         * modules/fcntl-safer (Makefile.am): Likewise.
76368         * modules/fcntl (Makefile.am): Likewise.
76369         * modules/file-type (Makefile.am): Likewise.
76370         * modules/fileblocks (Makefile.am): Likewise.
76371         * modules/filemode (Makefile.am): Likewise.
76372         * modules/filenamecat (Makefile.am): Likewise.
76373         * modules/fnmatch (Makefile.am): Likewise.
76374         * modules/fopen-safer (Makefile.am): Likewise.
76375         * modules/fpending (Makefile.am): Likewise.
76376         * modules/fprintftime (Makefile.am): Likewise.
76377         * modules/free (Makefile.am): Likewise.
76378         * modules/fsusage (Makefile.am): Likewise.
76379         * modules/ftruncate (Makefile.am): Likewise.
76380         * modules/fts (Makefile.am): Likewise.
76381         * modules/gc-arcfour (Makefile.am): Likewise.
76382         * modules/gc-des (Makefile.am): Likewise.
76383         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76384         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76385         * modules/gc-md4 (Makefile.am): Likewise.
76386         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76387         * modules/gc-sha1 (Makefile.am): Likewise.
76388         * modules/gc (Makefile.am): Likewise.
76389         * modules/getaddrinfo (Makefile.am): Likewise.
76390         * modules/getcwd (Makefile.am): Likewise.
76391         * modules/getdelim (Makefile.am): Likewise.
76392         * modules/getdomainname (Makefile.am): Likewise.
76393         * modules/getgroups (Makefile.am): Likewise.
76394         * modules/gethostname (Makefile.am): Likewise.
76395         * modules/gethrxtime (Makefile.am): Likewise.
76396         * modules/getline (Makefile.am): Likewise.
76397         * modules/getloadavg (Makefile.am): Likewise.
76398         * modules/getlogin_r (Makefile.am): Likewise.
76399         * modules/getndelim2 (Makefile.am): Likewise.
76400         * modules/getopt (Makefile.am): Likewise.
76401         * modules/getpagesize (Makefile.am): Likewise.
76402         * modules/getpass-gnu (Makefile.am): Likewise.
76403         * modules/getpass (Makefile.am): Likewise.
76404         * modules/getsubopt (Makefile.am): Likewise.
76405         * modules/gettime (Makefile.am): Likewise.
76406         * modules/gettimeofday (Makefile.am): Likewise.
76407         * modules/getugroups (Makefile.am): Likewise.
76408         * modules/getusershell (Makefile.am): Likewise.
76409         * modules/glob (Makefile.am): Likewise.
76410         * modules/group-member (Makefile.am): Likewise.
76411         * modules/hard-locale (Makefile.am): Likewise.
76412         * modules/hash (Makefile.am): Likewise.
76413         * modules/hmac-md5 (Makefile.am): Likewise.
76414         * modules/hmac-sha1 (Makefile.am): Likewise.
76415         * modules/human (Makefile.am): Likewise.
76416         * modules/idcache (Makefile.am): Likewise.
76417         * modules/imaxabs (Makefile.am): Likewise.
76418         * modules/imaxdiv (Makefile.am): Likewise.
76419         * modules/inet_ntop (Makefile.am): Likewise.
76420         * modules/inet_pton (Makefile.am): Likewise.
76421         * modules/intprops (Makefile.am): Likewise.
76422         * modules/inttostr (Makefile.am): Likewise.
76423         * modules/inttypes (Makefile.am): Likewise.
76424         * modules/isapipe (Makefile.am): Likewise.
76425         * modules/javaversion (Makefile.am): Likewise.
76426         * modules/lchmod (Makefile.am): Likewise.
76427         * modules/lchown (Makefile.am): Likewise.
76428         * modules/localcharset (Makefile.am): Likewise.
76429         * modules/long-options (Makefile.am): Likewise.
76430         * modules/lstat (Makefile.am): Likewise.
76431         * modules/malloc (Makefile.am): Likewise.
76432         * modules/mathl (Makefile.am): Likewise.
76433         * modules/mbchar (Makefile.am): Likewise.
76434         * modules/md2 (Makefile.am): Likewise.
76435         * modules/md4 (Makefile.am): Likewise.
76436         * modules/md5 (Makefile.am): Likewise.
76437         * modules/memcasecmp (Makefile.am): Likewise.
76438         * modules/memchr (Makefile.am): Likewise.
76439         * modules/memcmp (Makefile.am): Likewise.
76440         * modules/memcoll (Makefile.am): Likewise.
76441         * modules/memcpy (Makefile.am): Likewise.
76442         * modules/memmem (Makefile.am): Likewise.
76443         * modules/memmove (Makefile.am): Likewise.
76444         * modules/mempcpy (Makefile.am): Likewise.
76445         * modules/memrchr (Makefile.am): Likewise.
76446         * modules/memset (Makefile.am): Likewise.
76447         * modules/memxor (Makefile.am): Likewise.
76448         * modules/mkancesdirs (Makefile.am): Likewise.
76449         * modules/mkdir-p (Makefile.am): Likewise.
76450         * modules/mkdir (Makefile.am): Likewise.
76451         * modules/mkdtemp (Makefile.am): Likewise.
76452         * modules/mkstemp (Makefile.am): Likewise.
76453         * modules/mktime (Makefile.am): Likewise.
76454         * modules/modechange (Makefile.am): Likewise.
76455         * modules/mountlist (Makefile.am): Likewise.
76456         * modules/nanosleep (Makefile.am): Likewise.
76457         * modules/obstack (Makefile.am): Likewise.
76458         * modules/openat (Makefile.am): Likewise.
76459         * modules/pagealign_alloc (Makefile.am): Likewise.
76460         * modules/pathmax (Makefile.am): Likewise.
76461         * modules/physmem (Makefile.am): Likewise.
76462         * modules/poll (Makefile.am): Likewise.
76463         * modules/posixtm (Makefile.am): Likewise.
76464         * modules/posixver (Makefile.am): Likewise.
76465         * modules/putenv (Makefile.am): Likewise.
76466         * modules/quote (Makefile.am): Likewise.
76467         * modules/quotearg (Makefile.am): Likewise.
76468         * modules/raise (Makefile.am): Likewise.
76469         * modules/read-file (Makefile.am): Likewise.
76470         * modules/readline (Makefile.am): Likewise.
76471         * modules/readlink (Makefile.am): Likewise.
76472         * modules/readtokens (Makefile.am): Likewise.
76473         * modules/readutmp (Makefile.am): Likewise.
76474         * modules/realloc (Makefile.am): Likewise.
76475         * modules/regex (Makefile.am): Likewise.
76476         * modules/rename-dest-slash (Makefile.am): Likewise.
76477         * modules/rename (Makefile.am): Likewise.
76478         * modules/rijndael (Makefile.am): Likewise.
76479         * modules/rmdir (Makefile.am): Likewise.
76480         * modules/rpmatch (Makefile.am): Likewise.
76481         * modules/safe-read (Makefile.am): Likewise.
76482         * modules/safe-write (Makefile.am): Likewise.
76483         * modules/same-inode (Makefile.am): Likewise.
76484         * modules/same (Makefile.am): Likewise.
76485         * modules/save-cwd (Makefile.am): Likewise.
76486         * modules/savedir (Makefile.am): Likewise.
76487         * modules/setenv (Makefile.am): Likewise.
76488         * modules/settime (Makefile.am): Likewise.
76489         * modules/sha1 (Makefile.am): Likewise.
76490         * modules/sig2str (Makefile.am): Likewise.
76491         * modules/snprintf (Makefile.am): Likewise.
76492         * modules/stat-macros (Makefile.am): Likewise.
76493         * modules/stat-time (Makefile.am): Likewise.
76494         * modules/stdbool (Makefile.am): Likewise.
76495         * modules/stdint (Makefile.am): Likewise.
76496         * modules/stdlib-safer (Makefile.am): Likewise.
76497         * modules/stpcpy (Makefile.am): Likewise.
76498         * modules/stpncpy (Makefile.am): Likewise.
76499         * modules/strcase (Makefile.am): Likewise.
76500         * modules/strcasestr (Makefile.am): Likewise.
76501         * modules/strchrnul (Makefile.am): Likewise.
76502         * modules/strcspn (Makefile.am): Likewise.
76503         * modules/strdup (Makefile.am): Likewise.
76504         * modules/strerror (Makefile.am): Likewise.
76505         * modules/strftime (Makefile.am): Likewise.
76506         * modules/strndup (Makefile.am): Likewise.
76507         * modules/strnlen (Makefile.am): Likewise.
76508         * modules/strpbrk (Makefile.am): Likewise.
76509         * modules/strsep (Makefile.am): Likewise.
76510         * modules/strstr (Makefile.am): Likewise.
76511         * modules/strtod (Makefile.am): Likewise.
76512         * modules/strtoimax (Makefile.am): Likewise.
76513         * modules/strtok_r (Makefile.am): Likewise.
76514         * modules/strtol (Makefile.am): Likewise.
76515         * modules/strtoll (Makefile.am): Likewise.
76516         * modules/strtoul (Makefile.am): Likewise.
76517         * modules/strtoull (Makefile.am): Likewise.
76518         * modules/strtoumax (Makefile.am): Likewise.
76519         * modules/strverscmp (Makefile.am): Likewise.
76520         * modules/sys_socket (Makefile.am): Likewise.
76521         * modules/sys_stat (Makefile.am): Likewise.
76522         * modules/sysexits (Makefile.am): Likewise.
76523         * modules/time_r (Makefile.am): Likewise.
76524         * modules/timegm (Makefile.am): Likewise.
76525         * modules/timespec (Makefile.am): Likewise.
76526         * modules/tmpfile-safer (Makefile.am): Likewise.
76527         * modules/trim (Makefile.am): Likewise.
76528         * modules/unistd-safer (Makefile.am): Likewise.
76529         * modules/unlinkdir (Makefile.am): Likewise.
76530         * modules/unlocked-io (Makefile.am): Likewise.
76531         * modules/userspec (Makefile.am): Likewise.
76532         * modules/utime (Makefile.am): Likewise.
76533         * modules/utimecmp (Makefile.am): Likewise.
76534         * modules/utimens (Makefile.am): Likewise.
76535         * modules/vasnprintf (Makefile.am): Likewise.
76536         * modules/vasprintf (Makefile.am): Likewise.
76537         * modules/vsnprintf (Makefile.am): Likewise.
76538         * modules/xalloc (Makefile.am): Likewise.
76539         * modules/xgetcwd (Makefile.am): Likewise.
76540         * modules/xnanosleep (Makefile.am): Likewise.
76541         * modules/xreadlink (Makefile.am): Likewise.
76542         * modules/xstrtod (Makefile.am): Likewise.
76543         * modules/xstrtol (Makefile.am): Likewise.
76544         * modules/xstrtold (Makefile.am): Likewise.
76545         * modules/yesno (Makefile.am): Likewise.
76546         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76547
76548 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76549
76550         * modules/error (Makefile.am): Distribute files through
76551         EXTRA_DIST, not lib_SOURCES.
76552
76553 2006-10-12  Eric Blake  <ebb9@byu.net>
76554
76555         * modules/error (Makefile.am): Distribute files in /lib.
76556         * modules/obstack (Makefile.am): Likewise.
76557
76558 2006-10-12  Bruno Haible  <bruno@clisp.org>
76559
76560         * modules/acl (Makefile.am): Distribute all files in lib/ through
76561         EXTRA_DIST.
76562         * modules/arcfour (Makefile.am): Likewise.
76563         * modules/arctwo (Makefile.am): Likewise.
76564         * modules/argmatch (Makefile.am): Likewise.
76565         * modules/argz (Makefile.am): Likewise.
76566         * modules/atexit (Makefile.am): Likewise.
76567         * modules/backupfile (Makefile.am): Likewise.
76568         * modules/c-strtod (Makefile.am): Likewise.
76569         * modules/c-strtold (Makefile.am): Likewise.
76570         * modules/calloc (Makefile.am): Likewise.
76571         * modules/canon-host (Makefile.am): Likewise.
76572         * modules/canonicalize (Makefile.am): Likewise.
76573         * modules/chdir-long (Makefile.am): Likewise.
76574         * modules/chdir-safer (Makefile.am): Likewise.
76575         * modules/check-version (Makefile.am): Likewise.
76576         * modules/chown (Makefile.am): Likewise.
76577         * modules/cloexec (Makefile.am): Likewise.
76578         * modules/close-stream (Makefile.am): Likewise.
76579         * modules/closeout (Makefile.am): Likewise.
76580         * modules/crc (Makefile.am): Likewise.
76581         * modules/cycle-check (Makefile.am): Likewise.
76582         * modules/des (Makefile.am): Likewise.
76583         * modules/dirfd (Makefile.am): Likewise.
76584         * modules/dirname (Makefile.am): Likewise.
76585         * modules/dup2 (Makefile.am): Likewise.
76586         * modules/euidaccess (Makefile.am): Likewise.
76587         * modules/exclude (Makefile.am): Likewise.
76588         * modules/exitfail (Makefile.am): Likewise.
76589         * modules/fcntl-safer (Makefile.am): Likewise.
76590         * modules/file-type (Makefile.am): Likewise.
76591         * modules/fileblocks (Makefile.am): Likewise.
76592         * modules/filemode (Makefile.am): Likewise.
76593         * modules/filenamecat (Makefile.am): Likewise.
76594         * modules/fnmatch (Makefile.am): Likewise.
76595         * modules/fopen-safer (Makefile.am): Likewise.
76596         * modules/fpending (Makefile.am): Likewise.
76597         * modules/fprintftime (Makefile.am): Likewise.
76598         * modules/free (Makefile.am): Likewise.
76599         * modules/fsusage (Makefile.am): Likewise.
76600         * modules/ftruncate (Makefile.am): Likewise.
76601         * modules/fts (Makefile.am): Likewise.
76602         * modules/gc (Makefile.am): Likewise.
76603         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76604         * modules/getaddrinfo (Makefile.am): Likewise.
76605         * modules/getcwd (Makefile.am): Likewise.
76606         * modules/getdelim (Makefile.am): Likewise.
76607         * modules/getdomainname (Makefile.am): Likewise.
76608         * modules/getgroups (Makefile.am): Likewise.
76609         * modules/gethostname (Makefile.am): Likewise.
76610         * modules/gethrxtime (Makefile.am): Likewise.
76611         * modules/getline (Makefile.am): Likewise.
76612         * modules/getloadavg (Makefile.am): Likewise.
76613         * modules/getlogin_r (Makefile.am): Likewise.
76614         * modules/getopt (Makefile.am): Likewise.
76615         * modules/getpass (Makefile.am): Likewise.
76616         * modules/getpass-gnu (Makefile.am): Likewise.
76617         * modules/getsubopt (Makefile.am): Likewise.
76618         * modules/gettime (Makefile.am): Likewise.
76619         * modules/gettimeofday (Makefile.am): Likewise.
76620         * modules/getugroups (Makefile.am): Likewise.
76621         * modules/getusershell (Makefile.am): Likewise.
76622         * modules/glob (Makefile.am): Likewise.
76623         * modules/group-member (Makefile.am): Likewise.
76624         * modules/hard-locale (Makefile.am): Likewise.
76625         * modules/hash (Makefile.am): Likewise.
76626         * modules/hmac-md5 (Makefile.am): Likewise.
76627         * modules/hmac-sha1 (Makefile.am): Likewise.
76628         * modules/human (Makefile.am): Likewise.
76629         * modules/idcache (Makefile.am): Likewise.
76630         * modules/imaxabs (Makefile.am): Likewise.
76631         * modules/imaxdiv (Makefile.am): Likewise.
76632         * modules/inet_ntop (Makefile.am): Likewise.
76633         * modules/inet_pton (Makefile.am): Likewise.
76634         * modules/inttostr (Makefile.am): Likewise.
76635         * modules/isapipe (Makefile.am): Likewise.
76636         * modules/lchown (Makefile.am): Likewise.
76637         * modules/long-options (Makefile.am): Likewise.
76638         * modules/lstat (Makefile.am): Likewise.
76639         * modules/malloc (Makefile.am): Likewise.
76640         * modules/mathl (Makefile.am): Likewise.
76641         * modules/mbchar (Makefile.am): Likewise.
76642         * modules/md2 (Makefile.am): Likewise.
76643         * modules/md4 (Makefile.am): Likewise.
76644         * modules/md5 (Makefile.am): Likewise.
76645         * modules/memcasecmp (Makefile.am): Likewise.
76646         * modules/memchr (Makefile.am): Likewise.
76647         * modules/memcmp (Makefile.am): Likewise.
76648         * modules/memcoll (Makefile.am): Likewise.
76649         * modules/memcpy (Makefile.am): Likewise.
76650         * modules/memmem (Makefile.am): Likewise.
76651         * modules/memmove (Makefile.am): Likewise.
76652         * modules/mempcpy (Makefile.am): Likewise.
76653         * modules/memrchr (Makefile.am): Likewise.
76654         * modules/memset (Makefile.am): Likewise.
76655         * modules/memxor (Makefile.am): Likewise.
76656         * modules/mkancesdirs (Makefile.am): Likewise.
76657         * modules/mkdir (Makefile.am): Likewise.
76658         * modules/mkdir-p (Makefile.am): Likewise.
76659         * modules/mkdtemp (Makefile.am): Likewise.
76660         * modules/mkstemp (Makefile.am): Likewise.
76661         * modules/mktime (Makefile.am): Likewise.
76662         * modules/modechange (Makefile.am): Likewise.
76663         * modules/mountlist (Makefile.am): Likewise.
76664         * modules/nanosleep (Makefile.am): Likewise.
76665         * modules/openat (Makefile.am): Likewise.
76666         * modules/pagealign_alloc (Makefile.am): Likewise.
76667         * modules/physmem (Makefile.am): Likewise.
76668         * modules/poll (Makefile.am): Likewise.
76669         * modules/posixtm (Makefile.am): Likewise.
76670         * modules/posixver (Makefile.am): Likewise.
76671         * modules/putenv (Makefile.am): Likewise.
76672         * modules/quote (Makefile.am): Likewise.
76673         * modules/quotearg (Makefile.am): Likewise.
76674         * modules/raise (Makefile.am): Likewise.
76675         * modules/read-file (Makefile.am): Likewise.
76676         * modules/readline (Makefile.am): Likewise.
76677         * modules/readlink (Makefile.am): Likewise.
76678         * modules/readtokens (Makefile.am): Likewise.
76679         * modules/readutmp (Makefile.am): Likewise.
76680         * modules/realloc (Makefile.am): Likewise.
76681         * modules/regex (Makefile.am): Likewise.
76682         * modules/rename (Makefile.am): Likewise.
76683         * modules/rename-dest-slash (Makefile.am): Likewise.
76684         * modules/rijndael (Makefile.am): Likewise.
76685         * modules/rmdir (Makefile.am): Likewise.
76686         * modules/rpmatch (Makefile.am): Likewise.
76687         * modules/safe-read (Makefile.am): Likewise.
76688         * modules/safe-write (Makefile.am): Likewise.
76689         * modules/same (Makefile.am): Likewise.
76690         * modules/save-cwd (Makefile.am): Likewise.
76691         * modules/savedir (Makefile.am): Likewise.
76692         * modules/setenv (Makefile.am): Likewise.
76693         * modules/settime (Makefile.am): Likewise.
76694         * modules/sha1 (Makefile.am): Likewise.
76695         * modules/sig2str (Makefile.am): Likewise.
76696         * modules/snprintf (Makefile.am): Likewise.
76697         * modules/stdlib-safer (Makefile.am): Likewise.
76698         * modules/stpcpy (Makefile.am): Likewise.
76699         * modules/stpncpy (Makefile.am): Likewise.
76700         * modules/strcase (Makefile.am): Likewise.
76701         * modules/strcasestr (Makefile.am): Likewise.
76702         * modules/strchrnul (Makefile.am): Likewise.
76703         * modules/strcspn (Makefile.am): Likewise.
76704         * modules/strdup (Makefile.am): Likewise.
76705         * modules/strerror (Makefile.am): Likewise.
76706         * modules/strftime (Makefile.am): Likewise.
76707         * modules/strndup (Makefile.am): Likewise.
76708         * modules/strnlen (Makefile.am): Likewise.
76709         * modules/strpbrk (Makefile.am): Likewise.
76710         * modules/strsep (Makefile.am): Likewise.
76711         * modules/strstr (Makefile.am): Likewise.
76712         * modules/strtod (Makefile.am): Likewise.
76713         * modules/strtoimax (Makefile.am): Likewise.
76714         * modules/strtok_r (Makefile.am): Likewise.
76715         * modules/strtol (Makefile.am): Likewise.
76716         * modules/strtoll (Makefile.am): Likewise.
76717         * modules/strtoul (Makefile.am): Likewise.
76718         * modules/strtoull (Makefile.am): Likewise.
76719         * modules/strtoumax (Makefile.am): Likewise.
76720         * modules/strverscmp (Makefile.am): Likewise.
76721         * modules/time_r (Makefile.am): Likewise.
76722         * modules/timegm (Makefile.am): Likewise.
76723         * modules/tmpfile-safer (Makefile.am): Likewise.
76724         * modules/unistd-safer (Makefile.am): Likewise.
76725         * modules/unlinkdir (Makefile.am): Likewise.
76726         * modules/userspec (Makefile.am): Likewise.
76727         * modules/utime (Makefile.am): Likewise.
76728         * modules/utimecmp (Makefile.am): Likewise.
76729         * modules/utimens (Makefile.am): Likewise.
76730         * modules/vasnprintf (Makefile.am): Likewise.
76731         * modules/vasprintf (Makefile.am): Likewise.
76732         * modules/vsnprintf (Makefile.am): Likewise.
76733         * modules/xalloc (Makefile.am): Likewise.
76734         * modules/xgetcwd (Makefile.am): Likewise.
76735         * modules/xnanosleep (Makefile.am): Likewise.
76736         * modules/xreadlink (Makefile.am): Likewise.
76737         * modules/xstrtod (Makefile.am): Likewise.
76738         * modules/xstrtol (Makefile.am): Likewise.
76739         * modules/xstrtold (Makefile.am): Likewise.
76740         * modules/yesno (Makefile.am): Likewise.
76741
76742 2006-10-12  Jim Meyering  <jim@meyering.net>
76743
76744         * m4/getloadavg.m4: Revert the change below.
76745
76746         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
76747         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
76748         fail with a symlink, which is what coreutils' ./bootstrap now
76749         creates by default.
76750
76751 2006-10-12  Bruno Haible  <bruno@clisp.org>
76752
76753         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
76754         mingw.
76755         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
76756         MSVC and mingw explicitly.
76757
76758 2006-10-11  Simon Josefsson  <jas@extundo.com>
76759             Bruno Haible  <bruno@clisp.org>
76760
76761         Add support for multiple gnulib-tool invocations in the scope of a
76762         single configure.ac file.
76763         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
76764         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
76765         with the same contents as the _LIBADD variable.
76766         (func_emit_initmacro_start, func_emit_initmacro_end,
76767         func_emit_initmacro_done): New functions.
76768         (func_import, func_create_testdir): Invoke them. Allow the identifiers
76769         gl_LIBOBJS and gl_LTLIBOBJS.
76770
76771 2006-10-11  Bruno Haible  <bruno@clisp.org>
76772
76773         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
76774         (func_create_testdir): Don't create po/Makefile.am, don't invoke
76775         autoreconf. Instead, invoke autopoint explicitly but move back the
76776         *.m4 files from gnulib.
76777
76778 2006-10-11  Bruno Haible  <bruno@clisp.org>
76779
76780         * gnulib-tool (func_usage): Make module names after --create-testdir
76781         optional.
76782         (func_create_testdir): If no module was specified, use nearly all
76783         modules.
76784
76785 2006-10-12  Jim Meyering  <jim@meyering.net>
76786
76787         Big performance improvement for fts-based tools that use FTS_NOSTAT.
76788         Avoid spurious inode-mismatch problems on non-POSIX file systems.
76789         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
76790         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
76791         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
76792         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
76793         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
76794         (fts_set_stat_required): New function.
76795         (fts_open): Defer the calls to fts_stat, if possible or requested.
76796         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
76797         into fts_stat itself.
76798         (fts_read): Perform any required (deferred) fts_stat call.
76799         (fts_build): Likewise, for the directory we're about to open and read.
76800         In the readdir loop, carefully decide whether each entry will require
76801         an eventual call to fts_stat, using dirent.d_type info if available.
76802         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
76803         a command line argument into this function.  Update all callers.
76804         Map a return value of FTS_DOT to FTS_D for a command line argument.
76805         * modules/fts (Depends-on): Add d-type.  Alphabetize.
76806         Thanks to Miklos Szeredi for his tenacity and for the initial
76807         bug report about "find" failing on a FUSE-based file system.
76808
76809         * lib/fts.c (fts_open): Use consistent indentation.
76810
76811 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76812
76813         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
76814         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
76815         reported by Jim Meyering.  All uses of cache variables renamed
76816         to match Autoconf's.
76817         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
76818         the other one.
76819
76820         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
76821         Fix misspelling in diagnostic.
76822
76823 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76824
76825         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
76826         defined.  Problem reported by Matthew Woehlke.
76827
76828         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
76829         Add support for Tandem NonStop R series.
76830         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
76831         Use new macro.
76832
76833         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
76834         (has_trailing_slash): Omit size arg; all callers changed.
76835         Omit 'inline', since it doesn't help performance and we'd
76836         need to configure it.
76837         Don't count //, ///, etc. as having a trailing slash.
76838         As a side effect, this removes a C99ism reported by Matthew Woehlke.
76839         (rpl_rename_dest_slash): On failure, use rename's errno rather
76840         than (in some cases) an incorrect or junk errno.
76841         Simplify code by removing need to compute length; this does
76842         cause it to make two passes instead of one over the file name,
76843         but it's worth it.
76844
76845         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
76846         change, since Autoconf's version may no longer be appropriate now
76847         that we are using CVS Autoconf's version.  Add support for Tandem.
76848
76849 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76850             Bruno Haible  <bruno@clisp.org>
76851
76852         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76853         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
76854         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
76855         gl_AC_TYPE_LONG_LONG.
76856
76857         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
76858         instead of HAVE_LONG_LONG.
76859         * lib/printf-args.c (printf_fetchargs): Likewise.
76860         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
76861         * lib/vasnprintf.c (VASNPRINTF): Likewise.
76862         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
76863         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
76864         gl_AC_TYPE_LONG_LONG.
76865
76866 2006-10-11  Bruno Haible  <bruno@clisp.org>
76867
76868         * m4/longlong.m4: Add comments.
76869         * m4/ulonglong.m4: Likewise.
76870
76871 2006-10-10  Bruno Haible  <bruno@clisp.org>
76872
76873         Make it possible to #define stpcpy, strdup to aliases.
76874         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76875         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76876
76877 2006-10-10  Bruno Haible  <bruno@clisp.org>
76878
76879         Make it possible to #define gcd to an alias.
76880         * lib/gcd.c: Include config.h.
76881
76882 2006-10-10  Bruno Haible  <bruno@clisp.org>
76883
76884         Make it possible to #define c_isascii to an alias.
76885         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
76886         defined. Undefine the macros before defining them, to avoid gcc
76887         warnings.
76888         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
76889         define NO_C_CTYPE_MACROS early.
76890
76891 2006-10-10  Bruno Haible  <bruno@clisp.org>
76892
76893         Make it possible to #define set_program_name to an alias.
76894         * lib/progname.c: Don't undefine set_program_name; instead, undefine
76895         ENABLE_RELOCATABLE early.
76896
76897 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76898
76899         Port to Tandem NSK OSS, which has 64-bit signed int but at most
76900         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
76901         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
76902         More generally, don't assume that 64-bit signed int is available
76903         if unsigned int is, and vice versa.
76904         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
76905         unsigned symbols, not on their signed counterparts.
76906         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
76907         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
76908         (UINT64_C, UINTMAX_C):
76909         Likewise.
76910         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
76911         unsigned counterparts.
76912         (Have_long_long, Unsigned): New macros.
76913         (Int): Renamed from INT.
76914         (strtoimax): Use the new macros.
76915         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
76916         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
76917         * modules/inttypes (inttypes.h): Substitute
76918         HAVE_UNSIGNED_LONG_LONG_INT.
76919         * modules/stdint (stdint.h): Likewise.
76920         (Files): Add m4/ulonglong.m4.
76921
76922 2006-10-10  Bruno Haible  <bruno@clisp.org>
76923
76924         Fix a gcc -Wshadow warning.
76925         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
76926         to 'bucket'.
76927         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
76928         gl_linked_indexof_from_to): Likewise.
76929         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
76930         Likewise.
76931         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
76932         Likewise.
76933         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
76934         Reported by Eric Blake.
76935
76936 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
76937
76938         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
76939         for NetBSD.  Problem reported by Bruno Haible.
76940
76941 2006-10-09  Jim Meyering  <jim@meyering.net>
76942
76943         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
76944         Patch from Bruno Haible.
76945
76946 2006-10-09  Jim Meyering  <jim@meyering.net>
76947
76948         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
76949         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
76950         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
76951
76952 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
76953
76954         Don't include <config.h> twice; this doesn't work in some cases,
76955         e.g., when config.h has "#define intmax_t long long int" and
76956         we include <config.h>, <inttypes.h>, <config.h> in that order.
76957         Problem reported by Matthew Woehlke in:
76958         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
76959         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
76960         * lib/fts-cycle.c: Don't include config.h.
76961         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
76962         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
76963         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
76964         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
76965         inttypes.h.
76966         * lib/xstrtoumax.c: Likewise.
76967         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
76968         __strtol and the like, so that this module is more like its siblings.
76969         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
76970         Remove; no longer needed now that we assume gnulib inttypes.h.
76971
76972 2006-10-08  Bruno Haible  <bruno@clisp.org>
76973
76974         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
76975         option.
76976
76977 2006-10-07  Jim Meyering  <jim@meyering.net>
76978
76979         * modules/inttypes (inttypes.h): Revert what seems to have been
76980         an inadvertent part of today's change: use "|", not "/" in the
76981         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
76982
76983 2006-10-07  Bruno Haible  <bruno@clisp.org>
76984
76985         * modules/sublist: New file.
76986
76987 2006-10-07  Bruno Haible  <bruno@clisp.org>
76988
76989         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
76990         * modules/argz (argz.h): Likewise.
76991         * modules/arpa_inet (arpa/inet.h): Likewise.
76992         * modules/byteswap (byteswap.h): Likewise.
76993         * modules/configmake (configmake.h): Likewise.
76994         * modules/fcntl (fcntl.h): Likewise.
76995         * modules/fnmatch (fnmatch.h): Likewise.
76996         * modules/getopt (getopt.h): Likewise.
76997         * modules/glob (glob.h): Likewise.
76998         * modules/inttypes (inttypes.h): Likewise.
76999         * modules/netinet_in (netinet/in.h): Likewise.
77000         * modules/poll (poll.h): Likewise.
77001         * modules/stdbool (stdbool.h): Likewise.
77002         * modules/stdint (stdint.h): Likewise.
77003         * modules/sys_select (sys/select.h): Likewise.
77004         * modules/sys_socket (sys/socket.h): Likewise.
77005         * modules/sys_stat (sys/stat.h): Likewise.
77006         * modules/sysexits (sysexits.h): Likewise.
77007         * modules/unistd (unistd.h): Likewise.
77008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77009         Add a "DO NOT EDIT" comment to the generated file.
77010         (func_import): Likewise for gnulib-comp.m4.
77011
77012 2006-10-07  Bruno Haible  <bruno@clisp.org>
77013
77014         * lib/gl_sublist.h: New file.
77015         * lib/gl_sublist.c: New file.
77016
77017 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77018
77019         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77020         name (relative to the original working directory) and the file
77021         name component (relative to the temporary working directory).  All
77022         callers changed.
77023         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77024         * lib/mkdir-p.c (make_dir_parents): Likewise.
77025         * lib/mkdir-p.h (make_dir_parents): Likewise.
77026
77027 2006-10-06  Eric Blake  <ebb9@byu.net>
77028
77029         Define several macros for use by the clean-temp module.
77030         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77031         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77032         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77033
77034         * lib/clean-temp.h (close_stream_temp): New declaration.
77035         * lib/clean-temp.c (includes): Pull in headers according to what
77036         other modules are in use.
77037         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77038
77039 2006-10-06  Bruno Haible  <bruno@clisp.org>
77040
77041         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77042         instead of fopen, fwriteerror.
77043
77044 2006-10-06  Bruno Haible  <bruno@clisp.org>
77045
77046         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77047         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77048         int.
77049         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77050         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77051         Return an error indicator.
77052         Suggested by Eric Blake.
77053
77054 2006-10-06  Bruno Haible  <bruno@clisp.org>
77055
77056         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77057         Reported by Eric Blake.
77058
77059 2006-10-06  Bruno Haible  <bruno@clisp.org>
77060
77061         * modules/closeout (Description): Mention stderr too.
77062
77063 2006-10-06  Bruno Haible  <bruno@clisp.org>
77064         and Paul Eggert  <eggert@cs.ucla.edu>
77065
77066         * lib/closeout.c (close_stdout): Also close stderr.
77067         * lib/closeout.h: Update comment.
77068
77069 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77070
77071         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77072         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77073         * lib/dirchownmod.c: Include lchown.h.
77074         * lib/lchown.c: Don't include files that lchown.h now includes.
77075         Don't declare chown, since lchown.h now does that.
77076         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77077         (lchown): Define to rpl_chown if lchown is declared but
77078         does not exist.  Declare using a prototype if lchown is not
77079         declared.  Add a copyright notice.
77080         * lib/mkstemp.h: Include <unistd.h>.
77081         * lib/openat.c: Include lchown.h.
77082
77083         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77084         we now test for that separately.
77085         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77086         rather than O_NOFOLLOW, when testing whether it's possible to
77087         avoid a race condition reliably.
77088         * lib/savewd.c (savewd_chdir): Likewise.
77089
77090         Remove macros that are no longer needed now that stdint.h is
77091         reliable.
77092         * lib/fsusage.c (UINTMAX_MAX): Remove.
77093         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77094         * lib/utimecmp.c (SIZE_MAX): Remove.
77095
77096         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77097
77098         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77099         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77100         O_NOATIME works.
77101
77102 2006-10-05  Bruno Haible  <bruno@clisp.org>
77103
77104         * lib/gl_list.h (gl_sortedlist_search_from_to,
77105         gl_sortedlist_indexof_from_to): New declarations.
77106         (gl_list_implementation): New fields sortedlist_search_from_to,
77107         sortedlist_indexof_from_to.
77108         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77109         inline functions.
77110         * lib/gl_list.c (gl_sortedlist_search_from_to,
77111         gl_sortedlist_indexof_from_to): New functions.
77112         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77113         function.
77114         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77115         (gl_array_sortedlist_search_from_to): New function.
77116         (gl_array_list_implementation): Update.
77117         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77118         function.
77119         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77120         (gl_carray_sortedlist_search_from_to): New function.
77121         (gl_carray_list_implementation): Update.
77122         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77123         gl_linked_sortedlist_indexof_from_to): New functions.
77124         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77125         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77126         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77127         gl_tree_sortedlist_indexof_from_to): New functions.
77128         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77129         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77130         Update.
77131         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77132         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77133         Update.
77134
77135 2006-10-05  Bruno Haible  <bruno@clisp.org>
77136
77137         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77138         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77139         (struct gl_list_implementation): Add fields search_from_to,
77140         indexof_from_to. Remove fields search, indexof.
77141         (gl_list_search): Use the search_from_to method.
77142         (gl_list_search_from, gl_list_search_from_to): New functions.
77143         (gl_list_indexof): Use the indexof_from_to method.
77144         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77145         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77146         (gl_list_search_from, gl_list_search_from_to): New functions.
77147         (gl_list_indexof): Use the indexof_from_to method.
77148         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77149         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77150         gl_array_indexof. Add start_index, end_index arguments.
77151         (gl_array_search_from_to): Renamed from gl_array_search. Add
77152         start_index, end_index arguments.
77153         (gl_array_remove, gl_array_list_implementation): Update.
77154         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77155         gl_carray_indexof. Add start_index, end_index arguments.
77156         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77157         start_index, end_index arguments.
77158         (gl_carray_remove, gl_carray_list_implementation): Update.
77159         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77160         gl_linked_search. Add start_index, end_index arguments.
77161         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77162         start_index, end_index arguments.
77163         (gl_linked_remove): Update.
77164         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77165         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77166         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77167         field to 'size_t'.
77168         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77169         gl_tree_search. Add start_index, end_index arguments.
77170         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77171         start_index, end_index arguments.
77172         (gl_tree_remove): Update.
77173         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77174         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77175         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77176         function.
77177         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77178         gl_tree_search. Add start_index, end_index arguments.
77179         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77180         start_index, end_index arguments.
77181         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77182         Update.
77183         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77184
77185 2006-10-05  Bruno Haible  <bruno@clisp.org>
77186
77187         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77188
77189         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77190         fwriteerror_temp): New declarations.
77191         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77192         (descriptors): New variable.
77193         (cleanup): First, close the descriptors.
77194         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77195         fclose_temp, fwriteerror_temp): New functions.
77196
77197 2006-10-04  Jim Meyering  <jim@meyering.net>
77198
77199         * lib/fts.c (fts_open): Tiny comment change.
77200
77201 2006-10-04  Bruno Haible  <bruno@clisp.org>
77202
77203         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77204         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77205         gl_LOCK_BODY.
77206         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77207         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77208         gl_LOCK_EARLY_BODY.
77209         (gl_LOCK): Require gl_LOCK_BODY.
77210
77211 2006-10-04  Bruno Haible  <bruno@clisp.org>
77212
77213         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77214         (gl_oset_search_atleast): New declaration.
77215         (struct gl_oset_implementation): Add field 'search_atleast'.
77216         (gl_oset_search_atleast): New inline function.
77217         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77218         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77219         (gl_array_oset_implementation): Update.
77220         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77221         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77222         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77223
77224 2006-10-04  Bruno Haible  <bruno@clisp.org>
77225
77226         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77227
77228 2006-10-03  Bruno Haible  <bruno@clisp.org>
77229
77230         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77231         from gl_avltreehash_list_implementation.
77232
77233 2006-10-03  Bruno Haible  <bruno@clisp.org>
77234
77235         * lib/gl_oset.c (gl_oset_add): Fix return type.
77236
77237 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77238
77239         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77240
77241 2006-10-02  Eric Blake  <ebb9@byu.net>
77242
77243         * modules/strnlen (Depends-on): Add extensions.
77244
77245 2006-10-02  Eric Blake  <ebb9@byu.net>
77246
77247         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77248         definition in 2.60+.
77249
77250 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77251
77252         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77253         checks.
77254
77255 2006-10-02  Bruno Haible  <bruno@clisp.org>
77256
77257         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77258         to the AUTOMAKE_OPTIONS.
77259         Reported by Jim Meyering.
77260
77261 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77262
77263         Work around bug in Solaris 10 /proc file system:
77264         /proc/self/fd/NNN/.. isn't the parent directory of
77265         the directory whose file descriptor is NNN.  This needs to
77266         be worked around at run time, not compile time, since a
77267         program might be built on Solaris 8, where things work, and
77268         run on Solaris 10.
77269         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77270         to use the following interface instead:
77271         (OPENAT_BUFFER_SIZE): New macro.
77272         (openat_proc_name): New function.
77273         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77274         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77275         Likewise.
77276         * lib/openat-proc.c: New file.
77277         * modules/openat (Files): Add lib/openat-proc.c.
77278         (Depends-on): Add same-inode, stdbool.
77279         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77280
77281 2006-09-29  Bruno Haible  <bruno@clisp.org>
77282
77283         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77284         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77285         argument. Set stdout_closed before testing for ferror, not after.
77286         (fwriteerror, fwriteerror_no_ebadf): New functions.
77287
77288 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77289
77290         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77291
77292 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77293
77294         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77295         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77296
77297 2006-09-28  Jim Meyering  <jim@meyering.net>
77298
77299         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77300         Include <unistd.h>.
77301
77302 2006-09-28  Bruno Haible  <bruno@clisp.org>
77303
77304         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77305         * modules/linkedhash-list (Depends-on): Likewise.
77306         * modules/rbtreehash-list (Depends-on): Likewise.
77307
77308 2006-09-28  Bruno Haible  <bruno@clisp.org>
77309
77310         * lib/strndup.h: Simplify the redefinition of strndup.
77311         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77312         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77313
77314 2006-09-28  Bruno Haible  <bruno@clisp.org>
77315
77316         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77317         * lib/gl_linkedhash_list.c: Likewise.
77318         * lib/gl_rbtreehash_list.c: Likewise.
77319
77320 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77321
77322         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77323         getaddrinfo.
77324
77325         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77326         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77327         it causes <stdio_ext.h> to cause a compile-time error.
77328         Problem reported by Nelson H. F. Beebe.
77329         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77330         of HAVE_DECL___PENDING.
77331
77332         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77333         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77334         declaration.
77335
77336 2006-09-27  Jim Meyering  <jim@meyering.net>
77337
77338         This file could end up with a definition for a function
77339         named __strndup, rather than rpl_strndup on a system with
77340         incomplete weak_alias support.
77341         * lib/strndup.c (strndup): Rename from __strndup.
77342         Remove #defines that used to map __strndup to strndup.
77343         Don't use K&R prototypes.
77344         Remove LIBC-related code, since this file is not sync'd with glibc.
77345         * lib/strndup.h: Revamp, accordingly.
77346         * m4/strndup.m4: Modernize.
77347
77348 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77349
77350         * modules/savewd (Depends-on): Add 'raise'.
77351         * lib/savewd.c: Include <signal.h>, for 'raise'.
77352
77353 2006-09-26  Jim Meyering  <jim@meyering.net>
77354
77355         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77356         when we detect Darwin 8.7.0's acl_get_file bug.
77357         Rearrange to perform the new (below) run-test while $LIBS
77358         contains any acl-related library.  Set USE_ACL at the end.
77359         (gl_ACL_GET_FILE): New function.
77360
77361 2006-09-26  Eric Blake  <ebb9@byu.net>
77362
77363         * lib/verror.c: Include <config.h> unconditionally.
77364
77365 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77366
77367         * modules/clock-time (Maintainer): Add self.
77368         * modules/getlogin_r (Depends-on): Add extensions.
77369
77370 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77371
77372         * modules/clock-time: New module.
77373         * modules/nanosleep (Depends-on): Add clock-time.
77374         * modules/gethrxtime (Depends-on): Likewise.
77375         * modules/gettime (Depends-on): Likewise.
77376         * modules/settime (Depends-on): Likewise.
77377
77378         * modules/fts-lgpl: Depend on openat.
77379         * modules/mkancesdirs: Depend on savewd.
77380         * modules/mkdir-p: Likewise.
77381
77382 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77383
77384         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77385
77386         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77387         `gl_have_arbitrary_file_name_length_limit' to
77388         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77389         actually works between configure runs.
77390
77391 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77392             Bruno Haible  <bruno@clisp.org>
77393
77394         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77395
77396 2006-09-25  Jim Meyering  <jim@meyering.net>
77397
77398         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77399         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77400
77401 2006-09-25  Eric Blake  <ebb9@byu.net>
77402
77403         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77404         exec's in 2006-09-18 patch when shuffling fds.
77405
77406 2006-09-25  Bruno Haible  <bruno@clisp.org>
77407
77408         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77409         Reported by Jim Meyering.
77410
77411 2006-09-24  Jim Meyering  <jim@meyering.net>
77412
77413         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77414         compare a pointer against a literal "0".  That caused failures with
77415         at least HP-UX's hpcc.
77416
77417 2006-09-22  Simon Josefsson  <jas@extundo.com>
77418
77419         * modules/gc-sha1:
77420         * modules/gc-md4:
77421         * modules/gc-hmac-sha1:
77422         * modules/gc-hmac-md5:
77423         * modules/gc-des:
77424         * modules/gc-arcfour: Distribute more files.
77425
77426 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77427
77428         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77429         (gl_linked_iterator_from_to): Initialize struct completely.
77430         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77431         (gl_tree_iterator_from_to): Likewise
77432         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77433         * lib/gl_array_list.c [lint] (gl_array_iterator)
77434         (gl_array_iterator_from_to): Likewise.
77435         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77436         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77437         (gl_carray_iterator_from_to): Likewise.
77438
77439         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77440         * lib/md4.c (md4_process_block): Remove unused variable.
77441         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77442         parentheses for clarity.
77443
77444 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77445
77446         * modules/bison-i18n (Depends-on): Add gettext.
77447
77448 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77449
77450         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77451         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77452         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77453         also add missing comma that caused broken test.
77454         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77455         stdlib.h, for `abort'.
77456         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77457         variables.
77458         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77459         include unistd.h if present, for `rmdir'.
77460         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77461         variables.
77462         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77463         in the process include standard headers for prototypes.
77464         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77465         gets declared on GNU/Linux.
77466         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77467         unistd.h, for `rmdir'.
77468         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77469
77470         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77471         always true.
77472         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77473
77474         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77475
77476 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77477
77478         * gnulib-tool (func_version): Create output all at once.  This
77479         may help avoid triggering unnecessary SIGPIPEs, and at any
77480         rate it doesn't hurt.
77481
77482 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77483             Bruno Haible  <bruno@clisp.org>
77484
77485         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77486         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77487         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77488
77489         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77490         (gl_FUNC_VASPRINTF): Invoke it.
77491
77492 2006-09-22  Bruno Haible  <bruno@clisp.org>
77493
77494         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77495         getloadavg.c as first argument.
77496
77497 2006-09-22  Bruno Haible  <bruno@clisp.org>
77498
77499         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77500         at the beginning of the gl_INIT macro.
77501         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77502         gl_GETLOADAVG.
77503
77504 2006-09-22  Bruno Haible  <bruno@clisp.org>
77505
77506         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77507         module.
77508         Suggested by Ralf Wildenhues.
77509
77510 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77511
77512         Import this patch from libc:
77513
77514         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77515
77516         * lib/regex_internal.c (re_string_reconstruct): Handle
77517         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77518         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77519         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77520         re_string_context_at.
77521
77522         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77523         now requires it.
77524         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77525         gl_REGEX now does it for us.
77526         (gl_REGEX): Add test taken from
77527         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77528
77529         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77530         Check that large offsets work.  Modernize Autoconf usages.
77531         Prefer "yes" to mean a good thing rather than a bad.
77532         Don't put "#define mkstemp" in config.h, as this might interfere
77533         with standard system headers that "#define mkstemp mkstemp64".
77534
77535         * modules/mkstemp (Depends-on): Add extensions, so that
77536         mkstemp is visible on some platforms.
77537         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77538         (Include): Change to "mkstemp.h" from <stdlib.h>.
77539         (Files): Add mkstemp.h.
77540
77541         * lib/mkstemp.h: New file, since some standard headers
77542         #define mkstemp.
77543         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77544         Include "mkstemp.h".
77545         Make the _LIBC code resemble glibc original more,
77546         e.g., use K&R style.
77547         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77548         (mkstemp): Remove, since mkstemp.h does this for us.
77549         * lib/stdlib--.h: Include mkstemp.h.
77550
77551         Import this patch from libc:
77552
77553         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77554
77555         * lib/tempname.c (__gen_tempname): Change attempts_min
77556         into a macro.  Use preprocessor to decide how to initialize
77557         attempts [Coverity CID 67].
77558
77559 2006-09-20  Bruno Haible  <bruno@clisp.org>
77560
77561         * lib/mkdtemp.c: Import from libc.
77562         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77563                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77564                 attempts_min into a macro.  Use preprocessor to decide how to
77565                 initialize attempts [Coverity CID 67].
77566         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77567                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77568                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77569
77570 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77571
77572         * gnulib-tool (func_exit): New function, to allow to pass the
77573         exit status portably through the trap.  Use everywhere.
77574         (--help, --version): Signal a write error.
77575         (trap): catch SIGPIPE, for write errors.
77576         Exit at the end of the trap, with the correct exit status.
77577
77578 2006-09-19  Karl Berry  <karl@gnu.org>
77579
77580         * doc/gnulib.texi: note about the license texinfo files.
77581
77582 2006-09-19  Eric Blake  <ebb9@byu.net>
77583
77584         * gnulib-tool: Avoid space-tab.
77585
77586 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77587
77588         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77589         that prevented coreutils 6.1 from building.  Problem reported
77590         by Petter Reinholdtsen.
77591
77592 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77593
77594         * gnulib-tool (avoidlist): Fix typo that broke options like
77595         --avoid=lock that are used by coreutils bootstrap.
77596
77597 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77598
77599         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77600         more systematically.
77601
77602 2006-09-18  Jim Meyering  <jim@meyering.net>
77603
77604         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77605
77606 2006-09-18  Bruno Haible  <bruno@clisp.org>
77607
77608         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77609
77610 2006-09-18  Bruno Haible  <bruno@clisp.org>
77611
77612         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77613         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77614         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77615         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77616         * m4/gettext.m4: Require autoconf >= 2.52.
77617         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77618         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77619         of gl_cv_header_inttypes_h.
77620
77621 2006-09-18  Bruno Haible  <bruno@clisp.org>
77622
77623         * lib/javaversion.c: Include configmake.h.
77624
77625 2006-09-18  Bruno Haible  <bruno@clisp.org>
77626
77627         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77628         avoid that the while loops be executed in a subshell.
77629
77630 2006-09-18  Bruno Haible  <bruno@clisp.org>
77631
77632         * MODULES.html.sh (func_module): Break long lines.
77633         Suggested by Bruce Korb <bkorb@gnu.org>.
77634
77635 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77636
77637         Speed up by a factor of 1.12.
77638         * gnulib-tool (nl): New variable.
77639         (func_import): Rewrite include directive extraction to only read each
77640         directive once.
77641
77642 2006-09-17  Bruno Haible  <bruno@clisp.org>
77643
77644         * modules/javaversion (Makefile.am): Remove DEFS setting.
77645         (Depends-on): Add configmake, for PKGDATADIR definition.
77646
77647 2006-09-17  Bruno Haible  <bruno@clisp.org>
77648
77649         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77650
77651 2006-09-17  Bruno Haible  <bruno@clisp.org>
77652
77653         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77654         (func_modules_transitive_closure, func_modules_add_dummy,
77655         func_modules_to_filelist, func_import, func_create_testdir,
77656         func_create_megatestdir, ...): Use it wherever possible.
77657         Suggested by Ralf Wildenhues.
77658
77659 2006-09-16  Karl Berry  <karl@gnu.org>
77660
77661         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77662         to avoid sectioning errors.
77663         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77664         [ifinfo]: blank line after @center-ed titles.
77665         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77666         Spell FSF address consistently with others.
77667         (These changes approved by rms.)
77668
77669 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77670
77671         Speed up by a factor of 1.61.
77672         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77673         already checked module names again.
77674
77675 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77676
77677         Speed up by a factor of 1.13.
77678         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77679         for new_files, and the input to func_add_or_update.
77680
77681 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77682
77683         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77684         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77685
77686 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77687
77688         * modules/mkancesdirs (Depends-on): Add fcntl.
77689         * modules/savewd: New file.
77690         * MODULES.html.sh (File system functions): Add savewd.
77691
77692         * modules/configmake (Makefile.am): Add support for the
77693         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77694
77695 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77696
77697         * m4/savewd.m4: New file.
77698
77699 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77700
77701         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77702         (dirchownmod): New arg FD.  All callers changed.
77703         Use FD rather than opening the directory ourself, as opening is
77704         now the caller's responsibility.
77705         * lib/dirchownmod.h: Likewise.
77706         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77707         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77708         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
77709         (test_dir): Remove.
77710         (mkancesdirs): Return length of prefix of FILE that has already
77711         been made, or -2 if there is a child doing the work.  Redo
77712         algorithm so that it is O(N) rather than O(N**2).  Optimize away
77713         ".", and treat ".." specially since it might stray back into
77714         already-created areas.  Use a subprocess if necessary.  New arg
77715         WD; all users changed.  MAKE_DIR function should now return 1
77716         if it creates a directory that is not readable.  Return -2 if
77717         a child process is spun off.
77718         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
77719         Adjust signature to match code.
77720         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
77721         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
77722         all users changed.
77723         * lib/savewd.c, lib/savewd.h: New files.
77724
77725 2006-09-15  Jim Meyering  <jim@meyering.net>
77726
77727         * modules/rename-dest-slash: New module.
77728         * MODULES.html.sh (posix_compat): Add it here.
77729
77730         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
77731
77732 2006-09-15  Jim Meyering  <jim@meyering.net>
77733
77734         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
77735         file.
77736
77737         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
77738
77739 2006-09-15  Jim Meyering  <jim@meyering.net>
77740
77741         * lib/rename-dest-slash.c (has_trailing_slash): Use
77742         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
77743         (rpl_rename_dest_slash): Perform the cheaper trailing slash
77744         test before testing whether SRC is a directory.
77745         Suggestions from Bruno Haible.
77746
77747         Avoid a warning about an unused variable.
77748         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
77749         into the #ifdef block where it's used.
77750
77751         * lib/rename-dest-slash.c: New file.
77752
77753 2006-09-14  Bruno Haible  <bruno@clisp.org>
77754
77755         * lib/allocsa.c: Include <config.h> unconditionally.
77756         * lib/asnprintf.c: Likewise.
77757         * lib/asprintf.c: Likewise.
77758         * lib/c-strcasecmp.c: Likewise.
77759         * lib/c-strcasestr.c: Likewise.
77760         * lib/c-strncasecmp.c: Likewise.
77761         * lib/c-strstr.c: Likewise.
77762         * lib/classpath.c: Likewise.
77763         * lib/clean-temp.c: Likewise.
77764         * lib/concatpath.c: Likewise.
77765         * lib/copy-file.c: Likewise.
77766         * lib/csharpcomp.c: Likewise.
77767         * lib/csharpexec.c: Likewise.
77768         * lib/execute.c: Likewise.
77769         * lib/fatal-signal.c: Likewise.
77770         * lib/findprog.c: Likewise.
77771         * lib/fwriteerror.c: Likewise.
77772         * lib/gl_array_list.c: Likewise.
77773         * lib/gl_array_oset.c: Likewise.
77774         * lib/gl_avltree_list.c: Likewise.
77775         * lib/gl_avltree_oset.c: Likewise.
77776         * lib/gl_avltreehash_list.c: Likewise.
77777         * lib/gl_carray_list.c: Likewise.
77778         * lib/gl_linked_list.c: Likewise.
77779         * lib/gl_linkedhash_list.c: Likewise.
77780         * lib/gl_list.c: Likewise.
77781         * lib/gl_oset.c: Likewise.
77782         * lib/gl_rbtree_list.c: Likewise.
77783         * lib/gl_rbtree_oset.c: Likewise.
77784         * lib/gl_rbtreehash_list.c: Likewise.
77785         * lib/imaxabs.c: Likewise.
77786         * lib/imaxdiv.c: Likewise.
77787         * lib/javacomp.c: Likewise.
77788         * lib/javaexec.c: Likewise.
77789         * lib/javaversion.c: Likewise.
77790         * lib/linebreak.c: Likewise.
77791         * lib/localcharset.c: Likewise.
77792         * lib/lock.c: Likewise.
77793         * lib/mbchar.c: Likewise.
77794         * lib/mbswidth.c: Likewise.
77795         * lib/mkdtemp.c: Likewise.
77796         * lib/pipe.c: Likewise.
77797         * lib/printf-args.c: Likewise.
77798         * lib/printf-parse.c: Likewise.
77799         * lib/progname.c: Likewise.
77800         * lib/progreloc.c: Likewise.
77801         * lib/readlink.c: Likewise.
77802         * lib/sh-quote.c: Likewise.
77803         * lib/stpcpy.c: Likewise.
77804         * lib/stpncpy.c: Likewise.
77805         * lib/strcasecmp.c: Likewise.
77806         * lib/strcasestr.c: Likewise.
77807         * lib/strcspn.c: Likewise.
77808         * lib/striconv.c: Likewise.
77809         * lib/strncasecmp.c: Likewise.
77810         * lib/strnlen1.c: Likewise.
77811         * lib/strstr.c: Likewise.
77812         * lib/strtok_r.c: Likewise.
77813         * lib/tls.c: Likewise.
77814         * lib/tmpdir.c: Likewise.
77815         * lib/unicodeio.c: Likewise.
77816         * lib/unsetenv.c: Likewise.
77817         * lib/vasnprintf.c: Likewise.
77818         * lib/vasprintf.c: Likewise.
77819         * lib/wait-process.c: Likewise.
77820         * lib/xallocsa.c: Likewise.
77821         * lib/xsetenv.c: Likewise.
77822         * lib/xstriconv.c: Likewise.
77823
77824 2006-09-13  Simon Josefsson  <jas@extundo.com>
77825
77826         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
77827         that internally, suggested by Ralf Wildenhues
77828         <Ralf.Wildenhues@gmx.de>.
77829
77830 2006-09-13  Simon Josefsson  <jas@extundo.com>
77831
77832         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
77833         @LIBOBJS@.
77834         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77835
77836 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77837
77838         * lib/_fpending.c: Include <config.h> unconditionally, since we no
77839         longer worry about uses that don't define HAVE_CONFIG_H.
77840         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
77841         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
77842         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
77843         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
77844         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
77845         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
77846         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
77847         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
77848         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
77849         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
77850         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
77851         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
77852         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
77853         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
77854         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
77855         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
77856         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
77857         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
77858         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
77859         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
77860         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
77861         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
77862         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
77863         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
77864         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
77865         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
77866         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
77867         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
77868         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
77869         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
77870         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
77871         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
77872         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
77873         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77874         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77875         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77876         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77877         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77878         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77879         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77880         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77881         Likewise.
77882
77883 2006-09-13  Eric Blake  <ebb9@byu.net>
77884
77885         * lib/getopt.c: Fix typo in last commit.
77886
77887 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77888
77889         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
77890         dgettext.
77891
77892 2006-09-12  Jim Meyering  <jim@meyering.net>
77893
77894         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
77895         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
77896         Reported by Nelson H. F. Beebe.
77897
77898 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77899
77900         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
77901         program_invocation_name and program_invocation_short_name are
77902         initialized.
77903         * lib/argp-namefrob.h: Move declarations of program_invocation_name
77904         and program_invocation_short_name to argp.h, so they are visible
77905         to user programs.
77906         * lib/argp.h: Likewise
77907
77908 2006-09-10  Bruno Haible  <bruno@clisp.org>
77909
77910         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77911         m4/inttypes_h.m4, m4/uintmax_t.m4.
77912
77913 2006-09-10  Bruno Haible  <bruno@clisp.org>
77914
77915         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
77916         gl_AC_TYPE_UINTMAX_T.
77917
77918 2006-09-10  Bruno Haible  <bruno@clisp.org>
77919
77920         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
77921
77922 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77923
77924         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
77925         convention.  Text proposed by Bruno Haible.
77926         (struct argp_option): Document the use of N_() wrappers.
77927
77928         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
77929         '\v', and translate the two parts separately, instead of feeding
77930         the whole string to gettext.  This allows to exclude
77931         '\v' from the strings visible to the translator by writing doc
77932         strings as N_("..") "\v" N_("..").
77933
77934 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
77935
77936         * config/srclist.txt: Undo latest change; the bug was fixed.
77937
77938 2006-09-09  Bruno Haible  <bruno@clisp.org>
77939
77940         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
77941         assignments if building a library without libtool.
77942         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
77943         in func_emit_lib_Makefile_am.
77944         (func_import): When building a static library libfoo.a, arrange to
77945         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
77946         (func_create_testdir): Likewise.
77947         * modules/gc (configure.ac, Makefile.am): If building statically,
77948         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
77949         * modules/iconvme (configure.ac, Makefile.am): Likewise.
77950         * modules/striconv (configure.ac, Makefile.am): Likewise.
77951         Based on a suggestion by Ralf Wildenhues.
77952
77953 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77954
77955         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
77956         Check for unistd.h too, since Autoconf doesn't assume POSIX.
77957         Also:
77958
77959         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77960         Add year_2050_test to catch glibc bug 2821
77961         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77962
77963         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77964         Prefer #ifdef to #if.
77965
77966         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
77967         Return from 'main' instead of calling 'exit'.
77968
77969 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * lib/mktime.c (guess_time_tm): Fix bug where mktime
77972         returned the maximum time_t value rather than (time_t) -1.
77973         Problem originally reported by William Bardwell
77974         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77975
77976         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77977         Moved to here ...
77978         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77979         ... from here.
77980
77981 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77982
77983         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
77984         2821 is fixed.
77985
77986 2006-09-08  Jim Meyering  <jim@meyering.net>
77987
77988         Don't make generated files read-only.  That would bother too many
77989         people.  However, do retain the ability to work when targets are
77990         read-only: remove the destination and temporary files before writing
77991         them (when generated via sed or echo), or by using the -f option for
77992         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
77993         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77994         * modules/byteswap, modules/configmake, modules/fcntl:
77995         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77996         * modules/localcharset, modules/netinet_in, modules/poll:
77997         * modules/stdbool, modules/stdint, modules/sys_select:
77998         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77999
78000 2006-09-08  Jim Meyering  <jim@meyering.net>
78001
78002         Avoid new build failure on FreeBSD 6.0.
78003         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78004         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78005         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78006
78007 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78008
78009         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78010
78011 2006-09-07  Jim Meyering  <jim@meyering.net>
78012
78013         Fix global typo in last change: use chmod u-w, not chmod u-x.
78014         Spotted by Paul Eggert and Bruce Korb.
78015         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78016         * modules/byteswap, modules/configmake, modules/fcntl:
78017         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78018         * modules/localcharset, modules/netinet_in, modules/poll:
78019         * modules/stdbool, modules/stdint, modules/sys_select:
78020         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78021
78022 2006-09-06  Jim Meyering  <jim@meyering.net>
78023
78024         Make generated files be read-only.
78025         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78026         Ensure that each generated file is now read-only.
78027         * modules/argz: Likewise.
78028         * modules/arpa_inet: Likewise.
78029         * modules/byteswap: Likewise.
78030         * modules/configmake: Likewise.
78031         * modules/fcntl: Likewise.
78032         * modules/fnmatch: Likewise.
78033         * modules/getopt: Likewise.
78034         * modules/glob: Likewise.
78035         * modules/inttypes: Likewise.
78036         * modules/netinet_in: Likewise.
78037         * modules/poll: Likewise.
78038         * modules/stdbool: Likewise.
78039         * modules/stdint: Likewise.
78040         * modules/sys_select: Likewise.
78041         * modules/sys_socket: Likewise.
78042         * modules/sys_stat: Likewise.
78043         * modules/sysexits: Likewise.
78044         * modules/localcharset: Same as above, but continue using temporary
78045         file named "t-$@" (why different?) rather than the "$@-t" used
78046         everywhere else.
78047
78048         * modules/sysexits (Makefile.am): Replace literal occurrences
78049         of "sysexit.h" more readable, and more consistent, "$@".
78050
78051 2006-09-06  Bruno Haible  <bruno@clisp.org>
78052
78053         * modules/striconv: New file.
78054         * modules/xstriconv: New file.
78055         * MODULES.html.sh (Internationalization functions): Add striconv,
78056         xstriconv.
78057
78058 2006-09-06  Bruno Haible  <bruno@clisp.org>
78059
78060         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78061         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78062         not using libtool correctly.
78063
78064 2006-09-06  Bruno Haible  <bruno@clisp.org>
78065
78066         * lib/striconv.h: New file.
78067         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78068         iconvstring.c.
78069         * lib/xstriconv.h: New file.
78070         * lib/xstriconv.c: New file.
78071
78072 2006-09-06  Bruno Haible  <bruno@clisp.org>
78073
78074         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78075         lib_..._LDFLAGS.
78076
78077 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78078
78079         * lib/argz_.h: Sync from Libtool.
78080
78081         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78082                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78083
78084         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78085
78086 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78087
78088         * modules/trim: New file.
78089
78090 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78091
78092         * lib/trim.h: New file.
78093         * lib/trim.c: New file.
78094
78095 2006-09-05  Bruno Haible  <bruno@clisp.org>
78096
78097         * MODULES.html.sh (String handling): Add trim.
78098
78099 2006-09-04  Karl Berry  <karl@gnu.org>
78100
78101         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78102         until next release.
78103
78104 2006-09-03  Bruno Haible  <bruno@clisp.org>
78105
78106         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78107         correctly.
78108
78109 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78110
78111         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78112         not gl_GETLOADAVG.  Omit unneeded semicolons.
78113         Problems reported by Ralf Wildenhues in
78114         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78115         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78116         at the end, which is the usual gnulib style.
78117
78118         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78119         of doing all the work ourselves.
78120         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78121         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78122
78123 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78124
78125         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78126         Problem reported by Ralf Wildenhues in
78127         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78128
78129         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78130         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78131
78132 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78133
78134         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78135         yesterday's patch by changing test -n to test -z.
78136
78137 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78138
78139         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78140         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78141         the former is now obsolescent.
78142
78143         * modules/chdir-long (Depends-on): Add fcntl.
78144
78145 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78146
78147         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78148         obsolescent, and programs should use gnulib instead.
78149         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78150         but with prefixes changed.
78151
78152 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78153
78154         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78155         or stdbool.h, because they might not exist while configuring.
78156
78157         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78158         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78159         does that for us.
78160         (O_DIRECTORY): Remove.
78161
78162 2006-08-31  Eric Blake  <ebb9@byu.net>
78163
78164         * gnulib-tool: Don't let emacs change spaces to TAB.
78165
78166 2006-08-31  Bruno Haible  <bruno@clisp.org>
78167
78168         * gnulib-tool: When calling func_import more than once, do it in a
78169         subshell.
78170         Reported by Eric Blake <ebb9@byu.net>.
78171
78172 2006-08-31  Bruno Haible  <bruno@clisp.org>
78173
78174         * gnulib-tool (nl): Remove variable.
78175         (sed_transform_lib_file): Use more robust test for config-h module.
78176         (func_import): Fix typo in 2006-08-25 patch.
78177
78178 2006-08-31  Bruno Haible  <bruno@clisp.org>
78179
78180         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78181         specified, augment Makefile.am variables instead of assigning them.
78182
78183 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78184
78185         Work around a bug in both the Linux and SunOS 64-bit kernels:
78186         nanosleep mishandles sleeps for longer than 2**31 seconds.
78187         Problem reported by Frank v Waveren in
78188         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78190         Check for nanosleep bug.
78191         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78192
78193 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78194
78195         Work around a bug in both the Linux and SunOS 64-bit kernels:
78196         nanosleep mishandles sleeps for longer than 2**31 seconds.
78197         Problem reported by Frank v Waveren in
78198         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78199         * lib/nanosleep.c (BILLION): New constant.
78200         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78201         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78202         implementation.
78203
78204 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78205
78206         * modules/nanosleep (Depends-on): Add gettime.
78207
78208 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78209         and Simon Josefsson  <jas@extundo.com>
78210         and Oskar Liljeblad  <oskar@osk.mine.nu>
78211
78212         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78213         * gnulib-tool (func_import): New license type 'unmodifiable license
78214         text'.
78215         * modules/fdl: Use it.  Longer description.
78216         * module/gpl, module/lgpl: New files.
78217
78218 2006-08-30  Jim Meyering  <jim@meyering.net>
78219
78220         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78221         shadowing the parameter.
78222
78223 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78224
78225         Sync from Libtool:
78226
78227         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78228
78229         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78230         sharing with gnulib.  Report by Eric Blake.
78231
78232 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78233
78234         * modules/isapipe: New file.
78235         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78236
78237 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78238
78239         * modules/configmake (Makefile.am): Add a comment, and omit
78240         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78241         by Bruno Haible.
78242
78243 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * m4/isapipe.m4: New file.
78246
78247 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78248
78249         * lib/isapipe.c, lib/isapipe.h: New files.
78250
78251 2006-08-29  Jim Meyering  <jim@meyering.net>
78252
78253         * modules/configmake (Makefile.am): Make configmake.h depend on
78254         Makefile.  Otherwise, a stale configmake.h could hang around.
78255
78256 2006-08-29  Eric Blake  <ebb9@byu.net>
78257
78258         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78259         resolution of upstream bug 3044.
78260
78261 2006-08-29  Bruno Haible  <bruno@clisp.org>
78262
78263         * modules/localcharset (Depends-on): Add configmake.
78264         (Makefile.am): Remove setting of LIBDIR through DEFS.
78265
78266 2006-08-29  Bruno Haible  <bruno@clisp.org>
78267
78268         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78269         defined.
78270
78271 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78272
78273         * modules/fcntl: New file.
78274         * modules/chdir-safer (Depends-on): Add fcntl.
78275         * modules/fts: Likewise.
78276         * modules/mkdir-p: Likewise.
78277
78278         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78279         This undoes the most recent change, since we're now addressing the
78280         problem in a different way.
78281
78282         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78283         into output, since the output might be called Makefile.am even
78284         if $makefile_name is something different.
78285         (func_import): Use $makefile_am rather than
78286         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78287         empty.
78288
78289         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78290
78291 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78294         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78295         recent change to stdint.m4, since we're now addressing the problem in a
78296         different way.
78297
78298 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78299
78300         * m4/fcntl_h.m4: New file.
78301
78302 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78303
78304         * lib/fcntl_.h: New file.
78305         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78306         the fcntl module.
78307         * lib/dirchownmod.c: Likewise.
78308         * lib/fts.c: Likewise.
78309
78310         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78311         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78312         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78313         just before including <inttypes.h>, to avoid circular inclusion.
78314
78315 2006-08-28  Jim Meyering  <jim@meyering.net>
78316
78317         * doc/visibility.texi: Actually read and correct the grammar of the
78318         sentence affected by yesterday's change.
78319
78320 2006-08-28  Eric Blake  <ebb9@byu.net>
78321
78322         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78323         needs wrapper.
78324
78325 2006-08-28  Eric Blake  <ebb9@byu.net>
78326
78327         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78328
78329 2006-08-28  Eric Blake  <ebb9@byu.net>
78330
78331         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78332
78333 2006-08-28  Bruno Haible  <bruno@clisp.org>
78334
78335         * modules/c-strstr: New file, from GNU gettext.
78336         * MODULES.html.sh (String handling): Add c-strstr.
78337
78338 2006-08-28  Bruno Haible  <bruno@clisp.org>
78339
78340         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78341         macros.
78342         Reported by Eric Blake.
78343
78344 2006-08-28  Bruno Haible  <bruno@clisp.org>
78345
78346         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78347         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78348         * lib/vasprintf.c: Include errno.h, limits.h.
78349         (EOVERFLOW): New fallback definition.
78350         (vasprintf): Test here whether the string length is > INT_MAX.
78351         * lib/vsnprintf.c: Include errno.h, limits.h.
78352         (EOVERFLOW): New fallback definition.
78353         (vsnprintf): Fix bug when generated string was too long for the buffer.
78354         Test here whether the string length is > INT_MAX.
78355
78356 2006-08-28  Bruno Haible  <bruno@clisp.org>
78357
78358         * lib/inttypes_.h (SCNX*): Remove definitions.
78359         Reported by Eric Blake.
78360
78361 2006-08-28  Bruno Haible  <bruno@clisp.org>
78362
78363         * lib/c-strstr.h: New file, from GNU gettext.
78364         * lib/c-strstr.c: New file, from GNU gettext.
78365
78366 2006-08-28  Bruno Haible  <bruno@clisp.org>
78367
78368         * gnulib-tool: Reorder some statements.
78369
78370 2006-08-28  Bruno Haible  <bruno@clisp.org>
78371
78372         * gnulib-tool: New option --makefile-name.
78373         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78374         $makefile_name.
78375         (func_import): Write $makefile_name to the cache file, and read it from
78376         there unless explicitly specified. Use $makefile_name as file name
78377         instead of Makefile.am. Adjust the recommendations accordingly.
78378
78379 2006-08-28  Bruno Haible  <bruno@clisp.org>
78380
78381         * gnulib-tool (func_verify_module): Check against misapplying patch.
78382
78383 2006-08-28  Bruno Haible  <bruno@clisp.org>
78384
78385         * gnulib-tool (func_relativize, func_relconcat): New functions.
78386         Give an error if --local-dir is given with --update.
78387         Remove trailing slashes from $local_gnulib_dir.
78388         (func_import): Store the relativized $local_gnulib_dir in
78389         gnulib-cache.m4, and read it from there if not specified explicitly.
78390
78391 2006-08-28  Bruno Haible  <bruno@clisp.org>
78392
78393         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78394         is the current directory. Respect also $local_gnulib_dir.
78395
78396 2006-08-28  Bruno Haible  <bruno@clisp.org>
78397             Simon Josefsson  <jas@extundo.com>
78398
78399         BeOS portability.
78400         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78401
78402 2006-08-27  Jim Meyering  <jim@meyering.net>
78403
78404         * doc/visibility.texi: Remove duplicate word: "pointer".
78405
78406 2006-08-26  Bruno Haible  <bruno@clisp.org>
78407
78408         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78409         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78410         (Makefile.am): Create inttypes.h from inttypes_.h.
78411         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78412
78413         * modules/imaxabs: New file.
78414
78415         * modules/imaxdiv: New file.
78416
78417 2006-08-26  Bruno Haible  <bruno@clisp.org>
78418
78419         * m4/inttypes.m4: New file.
78420         * m4/_inttypes_h.m4: Remove file.
78421         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78422         PRI_MACROS_BROKEN.
78423         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78424
78425         * m4/imaxabs.m4: New file.
78426
78427         * m4/imaxdiv.m4: New file.
78428
78429 2006-08-26  Bruno Haible  <bruno@clisp.org>
78430
78431         * lib/inttypes_.h: New file.
78432         * lib/inttypes.h: Remove file.
78433         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78434
78435         * lib/imaxabs.c: New file.
78436
78437         * lib/imaxdiv.c: New file.
78438
78439 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78440
78441         New config-h module, so that "make" output needn't be cluttered
78442         by -DHAVE_CONFIG_H.
78443         * MODULES.html.sh (Support for building libraries and executables):
78444         Add config-h.
78445         * modules/config-h: New file.
78446         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78447         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78448         the config-h module is used.
78449
78450         New configmake module, so that "make" output needn't be cluttered
78451         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78452         * MODULES.html.sh (Support for building libraries and executables):
78453         Add configmake.
78454         * modules/configmake: New file.
78455
78456 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78457
78458         * m4/config-h.m4: New file.
78459
78460 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78461
78462         * config/srclist.txt: Add elisp-comp.
78463
78464 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78465
78466         * MODULES.html.sh (Support for building libraries and executables):
78467         Add elisp-comp.
78468         * build-aux/elisp-comp: New file.
78469         * modules/elisp-comp: New file.
78470
78471 2006-08-24  Bruno Haible  <bruno@clisp.org>
78472
78473         * gnulib-tool (func_create_testdir): Use non-default values of
78474         sourcebase and m4base.
78475
78476 2006-08-24  Bruno Haible  <bruno@clisp.org>
78477
78478         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78479         HTML structure.
78480
78481 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * modules/openat (Depends-on): Add lchown.
78484
78485 2006-08-23  Bruno Haible  <bruno@clisp.org>
78486
78487         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78488         of gl_LOCK_EARLY instead of gl_LOCK.
78489
78490 2006-08-23  Bruno Haible  <bruno@clisp.org>
78491
78492         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78493         on OSF/1 to no.
78494         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78495
78496 2006-08-23  Bruno Haible  <bruno@clisp.org>
78497
78498         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78499         as unusable.
78500
78501         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78502         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78503         (gl_LOCK): New macro.
78504
78505 2006-08-22  Simon Josefsson  <jas@extundo.com>
78506
78507         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78508         to md5 module.
78509
78510 2006-08-22  Simon Josefsson  <jas@extundo.com>
78511
78512         * MODULES.html.sh: Add "Support for maintaining and release
78513         projects".
78514
78515         * build-aux/gnupload: New file, from coreutils.
78516
78517 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78518
78519         Avoid the need for AC_LIBSOURCES in m4 macros.
78520         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78521         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78522         * modules/check-version (EXTRA_DIST): Add check-version.h.
78523         * modules/crc (EXTRA_DIST): Add crc.h.
78524         * modules/des (EXTRA_DIST): Add des.h.
78525         * modules/gc (EXTRA_DIST): Add gc.h.
78526         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78527         * modules/getline (EXTRA_DIST): Add getline.h.
78528         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78529         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78530         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78531         * modules/md2 (EXTRA_DIST): Add md2.h.
78532         * modules/md4 (EXTRA_DIST): Add md4.h.
78533         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78534         * modules/read-file (EXTRA_DIST): Add read-file.h.
78535         * modules/readline (EXTRA_DIST): Add readline.h.
78536         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78537         rijndael-api-fst.h.
78538
78539 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78540
78541         * m4/rijndael.m4 (gl_ARCFOUR):
78542         * m4/arctwo.m4 (gl_ARCTWO):
78543         * m4/check-version.m4 (gl_CHECK_VERSION):
78544         * m4/crc.m4 (gl_CRC):
78545         * m4/des.m4 (gl_DES):
78546         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78547         * m4/gc.m4 (gl_GC):
78548         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78549         * m4/getline.m4 (gl_FUNC_GETLINE):
78550         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78551         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78552         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78553         * m4/md2.m4 (gl_MD2):
78554         * m4/md4.m4 (gl_MD4):
78555         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78556         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78557         * m4/readline.m4 (gl_FUNC_READLINE):
78558         * m4/rijndael.m4 (gl_RIJNDAEL):
78559         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78560         to get the necessary .h files and whatnot.
78561
78562 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78563
78564         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78565         gnulib rather than the other way around.
78566         * config/srclistvars.sh (COREUTILS): Remove.
78567
78568 2006-08-22  Jim Meyering  <jim@meyering.net>
78569
78570         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78571
78572         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78573
78574 2006-08-22  Eric Blake  <ebb9@byu.net>
78575
78576         * modules/regexprops-generic: New file.
78577         * MODULES.html.sh (Support for building documentation): List it.
78578
78579 2006-08-22  Eric Blake  <ebb9@byu.net>
78580
78581         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78582         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78583         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78584         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78585
78586 2006-08-22  Bruno Haible  <bruno@clisp.org>
78587
78588         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78589         and lib_LTLIBRARIES like the other lib_* variables.
78590
78591 2006-08-22  Bruno Haible  <bruno@clisp.org>
78592
78593         * build-aux/x-to-1.in: New file, from GNU gettext.
78594
78595 2006-08-22  Bruno Haible  <bruno@clisp.org>
78596
78597         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78598         <utmpx.h> exists.
78599
78600 2006-08-22  Bruno Haible  <bruno@clisp.org>
78601
78602         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78603         <utmpx.h> exists.
78604
78605 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78606
78607         BeOS portability.
78608         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78609         exist.
78610         Problem reported by Bruno Haible.
78611
78612 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78613
78614         Avoid the need for AC_LIBSOURCES in m4 macros.
78615         * modules/acl (EXTRA_DIST): Add acl.h.
78616         * modules/argmatch (Files): Add m4/argmatch.m4.
78617         (configure.ac): Add gl_ARGMATCH.
78618         (EXTRA_DIST): Renamed from lib_SOURCES, for
78619         consistency with the other modules.  Remove argmatch.c.
78620         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78621         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78622         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78623         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78624         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78625         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78626         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78627         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78628         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78629         * modules/closeout (EXTRA_DIST): Add closeout.h.
78630         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78631         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78632         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78633         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78634         dirname.h; remove basename.c and stripslash.c.
78635         * modules/exclude (EXTRA_DIST): Add exclude.h.
78636         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78637         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78638         * modules/file-type (EXTRA_DIST): Add file-type.h.
78639         * modules/filemode (EXTRA_DIST): Add filemode.h.
78640         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78641         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78642         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78643         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78644         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78645         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78646         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78647         * modules/getdate (EXTRA_DIST): Add getdate.c.
78648         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78649         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78650         * modules/getpass (EXTRA_DIST): Add getpass.h.
78651         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78652         * modules/group-member (EXTRA_DIST): Add group-member.h.
78653         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78654         * modules/hash (EXTRA_DIST): Add hash.h.
78655         * modules/human (EXTRA_DIST): Add human.h.
78656         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78657         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78658         * modules/lchown (EXTRA_DIST): Add lchown.h.
78659         * modules/long-options (EXTRA_DIST): Add long-options.h.
78660         * modules/lstat (EXTRA_DIST): Add lstat.h.
78661         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78662         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78663         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78664         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78665         * modules/memxor (EXTRA_DIST): Add memxor.h.
78666         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78667         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78668         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78669         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78670         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78671         * modules/physmem (EXTRA_DIST): Add physmem.h.
78672         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78673         * modules/posixver (EXTRA_DIST): Add posixver.h.
78674         * modules/quote (EXTRA_DIST): Add quote.h.
78675         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78676         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78677         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78678         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78679         regex_internal.h regexec.c.
78680         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78681         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78682         * modules/same (EXTRA_DIST): Add same.h.
78683         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78684         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78685         * modules/savedir (EXTRA_DIST): Add savedir.h.
78686         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78687         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78688         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78689         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78690         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78691         * modules/strdup (EXTRA_DIST): Add strdup.h.
78692         * modules/strftime (EXTRA_DIST): Add strftime.h.
78693         * modules/strndup (EXTRA_DIST): Add strndup.h.
78694         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78695         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78696         * modules/time_r (EXTRA_DIST): Add time_r.h.
78697         * modules/timespec (EXTRA_DIST): Add timespec.h.
78698         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78699         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78700         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78701         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78702         * modules/userspec (EXTRA_DIST): Add userspec.h.
78703         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78704         * modules/utimens (EXTRA_DIST): Add utimens.h.
78705         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78706         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78707         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78708         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
78709         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
78710         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
78711         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
78712         * modules/yesno (EXTRA_DIST): Add yesno.h.
78713
78714 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78715
78716         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
78717
78718         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
78719         * m4/dev-ino.m4, same-inode.m4: Remove.
78720
78721         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
78722         * m4/acl.m4 (AC_FUNC_ACL):
78723         * m4/backupfile.m4 (gl_BACKUPFILE):
78724         * m4/c-strtod.m4 (gl_C99_STRTOLD):
78725         * m4/canon-host.m4 (gl_CANON_HOST):
78726         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
78727         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
78728         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
78729         * m4/cloexec.m4 (gl_CLOEXEC):
78730         * m4/close-stream.m4 (gl_CLOSE_STREAM):
78731         * m4/closeout.m4 (gl_CLOSEOUT):
78732         * m4/dirfd.m4 (gl_FUNC_DIRFD):
78733         * m4/dirname.m4 (gl_DIRNAME):
78734         * m4/exclude.m4 (gl_EXCLUDE):
78735         * m4/exitfail.m4 (gl_EXITFAIL):
78736         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
78737         * m4/file-type.m4 (gl_FILE_TYPE):
78738         * m4/filemode.m4 (gl_FILEMODE):
78739         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
78740         * m4/fpending.m4 (gl_FUNC_FPENDING):
78741         * m4/fprintftime.m4 (gl_FPRINTFTIME):
78742         * m4/fts.m4 (gl_FUNC_FTS):
78743         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
78744         * m4/getdate.m4 (gl_GETDATE):
78745         * m4/gethrxtime.m4 (gl_GETHRXTIME):
78746         * m4/getpagesize.m4 (gl_GETPAGESIZE):
78747         * m4/getpass.m4 (gl_FUNC_GETPASS):
78748         * m4/gettime.m4 (gl_GETTIME):
78749         * m4/getugroups.m4 (gl_GETUGROUPS):
78750         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
78751         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
78752         * m4/hard-locale.m4 (gl_HARD_LOCALE):
78753         * m4/hash.m4 (gl_HASH):
78754         * m4/idcache.m4 (gl_IDCACHE):
78755         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
78756         * m4/lchown.m4 (gl_FUNC_LCHOWN):
78757         * m4/long-options.m4 (gl_LONG_OPTIONS):
78758         * m4/lstat.m4 (gl_FUNC_LSTAT):
78759         * m4/md5.m4 (gl_MD5):
78760         * m4/memcasecmp.m4 (gl_MEMCASECMP):
78761         * m4/memcoll.m4 (gl_MEMCOLL):
78762         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
78763         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
78764         * m4/memxor.m4 (gl_MEMXOR):
78765         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
78766         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
78767         * m4/modechange.m4 (gl_MODECHANGE):
78768         * m4/mountlist.m4 (gl_MOUNTLIST):
78769         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
78770         * m4/openat.m4 (gl_FUNC_OPENAT):
78771         * m4/pathmax.m4 (gl_PATHMAX):
78772         * m4/physmem.m4 (gl_PHYSMEM):
78773         * m4/posixtm.m4 (gl_POSIXTM):
78774         * m4/posixver.m4 (gl_POSIXVER):
78775         * m4/quote.m4 (gl_QUOTE):
78776         * m4/quotearg.m4 (gl_QUOTEARG):
78777         * m4/readtokens.m4 (gl_READTOKENS):
78778         * m4/readutmp.m4 (gl_READUTMP):
78779         * m4/regex.m4 (gl_REGEX):
78780         * m4/safe-read.m4 (gl_SAFE_READ):
78781         * m4/safe-write.m4 (gl_SAFE_WRITE):
78782         * m4/same.m4 (gl_SAME):
78783         * m4/save-cwd.m4 (gl_SAVE_CWD):
78784         * m4/savedir.m4 (gl_SAVEDIR):
78785         * m4/settime.m4 (gl_SETTIME):
78786         * m4/sha1.m4 (gl_SHA1):
78787         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
78788         * m4/stat-macros.m4 (gl_STAT_MACROS):
78789         * m4/stat-time.m4 (gl_STAT_TIME):
78790         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
78791         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
78792         * m4/strdup.m4 (gl_FUNC_STRDUP):
78793         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
78794         * m4/strndup.m4 (gl_FUNC_STRNDUP):
78795         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
78796         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
78797         * m4/time_r.m4 (gl_TIME_R):
78798         * m4/timespec.m4 (gl_TIMESPEC):
78799         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
78800         * m4/unlinkdir.m4 (gl_UNLINKDIR):
78801         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
78802         * m4/userspec.m4 (gl_USERSPEC):
78803         * m4/utimecmp.m4 (gl_UTIMECMP):
78804         * m4/utimens.m4 (gl_UTIMENS):
78805         * m4/xalloc.m4 (gl_XALLOC):
78806         * m4/xgetcwd.m4 (gl_XGETCWD):
78807         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
78808         * m4/xreadlink.m4 (gl_XREADLINK):
78809         * m4/xstrtod.m4 (gl_XSTRTOD):
78810         * m4/yesno.m4 (gl_YESNO):
78811         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78812         to get the necessary .h files and whatnot.
78813
78814 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
78815             Bruno Haible  <bruno@clisp.org>
78816
78817         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
78818         /bin/sh understanding of '!' conditional negation.
78819
78820 2006-08-21  Jim Meyering  <jim@meyering.net>
78821
78822         * modules/openat (Depends-on): Really alphabetize.
78823
78824         * modules/acl (Depends-on): Add error and quote.
78825
78826         * check-module (find_included_lib_files): Add at-func.c to the
78827         ok-to-include-more-than-once white list.
78828
78829         * modules/openat (Depends-on): Add lstat.  Alphabetize.
78830
78831 2006-08-21  Bruno Haible  <bruno@clisp.org>
78832
78833         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78834         Emit a pkgdata_DATA variable only if some snippets add contents to it.
78835         Reported by Martin Lambers <marlam@marlam.de>.
78836
78837 2006-08-21  Bruno Haible  <bruno@clisp.org>
78838
78839         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
78840         specify an installation location, don't emit a noinst_LIBRARIES or
78841         noinst_LTLIBRARIES assignment.
78842
78843 2006-08-21  Bruno Haible  <bruno@clisp.org>
78844
78845         BeOS portability.
78846         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
78847         BeOS has mbrtowc() but no <wctype.h>.
78848
78849 2006-08-21  Bruno Haible  <bruno@clisp.org>
78850
78851         BeOS portability.
78852         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
78853         exist.
78854
78855 2006-08-21  Bruno Haible  <bruno@clisp.org>
78856
78857         BeOS portability.
78858         * lib/mbchar.h: Include <wctype.h> only if it exists.
78859
78860 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78861
78862         Remove files that are no longer needed by their respective modules.
78863         * m4/obstack.m4: Remove.
78864         * m4/strerror_r.m4: Remove.
78865         * m4/uint32_t.m4: Remove.
78866         * m4/uintptr_t.m4: Remove.
78867         * m4/ullong_max.m4: Remove.
78868         * m4/xstrtoimax.m4: Remove.
78869         * m4/xstrtoumax.m4: Remove.
78870
78871         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
78872         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
78873         dependencies now capture this.
78874
78875         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78876         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78877         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78878         * m4/human.m4 (gl_HUMAN): Likewise.
78879         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78880         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78881
78882         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78883
78884         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
78885         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
78886         stdint.
78887         * m4/human.m4 (gl_HUMAN): Likewise.
78888         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
78889         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
78890         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78891         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78892         * m4/xstrtol (gl_XSTRTOL): Likewise.
78893
78894         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
78895         AC_TYPE_LONG_LONG_INT.
78896         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78897         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
78898         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
78899         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78900
78901         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
78902         on stdbool.
78903
78904         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
78905         (gl_PREREQ_XSTRTOUL): Remove.
78906
78907         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
78908
78909         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
78910         mode.
78911
78912 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78913
78914         Add and change modules to make it easier for coreutils to use
78915         gnulib-tool.
78916         * modules/backupfile (Files): Remove m4/d-ino.m4.
78917         (Depends-on): Add d-ino.
78918         * modules/cycle-check (Depends-on): Add stdint.
78919         (lib_SOURCES): Add cycle-check.h.
78920         * modules/d-ino: New module.
78921         * modules/d-type: New module.
78922         * modules/error (Files): Remove m4/strerror_r.m4.
78923         * modules/filemode (Files): Add m4/st_dm_mode.m4.
78924         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78925         m4/inttypes_h.m4, m4/uintmax_t.m4.
78926         (Depends-on): Add stdint.
78927         (lib_SOURCES): Add fsusage.h.
78928         * modules/getcwd (Files): Remove d-ino.m4.
78929         (Depends-on): Add d-ino.
78930         * modules/getndelim2 (Depends-on): Add stdint.
78931         * modules/glob (Files): Remove m4/d-type.m4.
78932         (Depends-on): Add d-type.
78933         * modules/host-os: New module.
78934         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
78935         m4/inttypes_h.m4, m4/uintmax_t.m4.
78936         * Depends-on: Add stdint.
78937         (lib_SOURCES): Add human.h.
78938         * modules/inttostr (Files): Remove m4/intmax_t.m4,
78939         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
78940         m4/uintmax_t.m4, m4/ulonglong.m4.
78941         (Depends-on): Add stdint.
78942         (EXTRA_DIST): Add inttostr.h.
78943         * modules/lchmod: New module.
78944         * modules/link-follow: New module.
78945         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
78946         (Depends-on): Add lchmod.
78947         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
78948         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
78949         (Depends-on): Add stdint.
78950         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
78951         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
78952         (Depends-on): Add stdint.
78953         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
78954         * modules/perl: New module.
78955         * modules/regex (Depends-on): Add stdint.
78956         * modules/rmdir-errno: New module.
78957         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78958         m4/intmax_t.m4.
78959         (Depends-on): Add stdint.
78960         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78961         m4/uintmax_t.m4.
78962         (Depends-on): Add stdint.
78963         * modules/unlink-busy: New module.
78964         * modules/utimecmp (Depends-on): Add stdint.
78965         * modules/uptime: New module.
78966         * modules/winsz-ioctl: New module.
78967         * modules/winsz-termios: New module.
78968         * modules/xnanosleep (Depends-on): Add nanosleep.
78969         * modules/ullong_max: Remove.
78970         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
78971         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
78972         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
78973         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
78974         (Depends-on): Add inttypes.
78975         (lib_SOURCES): Add xstrtol.h.
78976         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
78977         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
78978         * MODULES.html.sh: Move 'assert' into the assert section.
78979         Move 'dummy' into the linking section.
78980         Remove ullong_max.
78981         Add section for compatibility checks for POSIX:2001 functions,
78982         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
78983         winsz-ioctl, and winsz-termios into it.
78984         Add lchmod.
78985         Add top-level Misc section and put host-os, perl, and uptime
78986         into it.
78987
78988 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78989
78990         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
78991         now assume the stdint module.  Do not include inttypes.h.
78992         * lib/fsusage.h: Likewise.
78993         * lib/getndelim2.c: Likewise.
78994         * lib/human.h: Likewise.
78995         * lib/inttostr.h: Likewise.
78996         * lib/obstack.c: Likewise.
78997         * lib/regex_internal.h: Likewise.
78998         * lib/tempname.c: Likewise.
78999         * lib/utimecmp.c: Likewise.
79000         * lib/xstrtol.h: Likewise.
79001
79002         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79003
79004         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79005         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79006         * lib/xtime.h: Likewise.
79007
79008 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79009
79010         * modules/openat (Files): Add lib/fchmodat.c.
79011         Fixes problem reported by Jay Youngman.
79012
79013 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79014
79015         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79016         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79017
79018 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79019             Bruno Haible  <bruno@clisp.org>
79020
79021         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79022         and is a script that invokes bison. Tighten the code. Add comments.
79023
79024 2006-08-18  Jim Meyering  <jim@meyering.net>
79025
79026         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79027         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79028         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79029         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79030
79031 2006-08-18  Bruno Haible  <bruno@clisp.org>
79032
79033         * modules/bison-i18n: New file.
79034         * MODULES.html.sh (Internationalization functions): Add it.
79035
79036 2006-08-18  Bruno Haible  <bruno@clisp.org>
79037
79038         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79039         sys/statvfs.h. When getmntinfo was found, check its declaration and
79040         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79041
79042 2006-08-18  Bruno Haible  <bruno@clisp.org>
79043
79044         * m4/bison-i18n.m4: New file, from bison.
79045
79046 2006-08-18  Bruno Haible  <bruno@clisp.org>
79047
79048         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79049         (ME_DUMMY): Treat "kernfs" as a dummy.
79050         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79051
79052 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79053
79054         Update from coreutils.
79055
79056         2006-08-15  Jim Meyering  <jim@meyering.net>
79057
79058         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79059
79060         2006-01-17  Jim Meyering  <jim@meyering.net>
79061
79062         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79063
79064         2006-01-11  Jim Meyering  <jim@meyering.net>
79065
79066         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79067         Check for the lchmod function.
79068
79069 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79070
79071         Update from coreutils.
79072
79073         * lib/__fpending.h: Add copyright notice.
79074         * lib/fprintftime.h: Likewise.
79075         * lib/savedir.c: Use (C) in copyright notice.
79076         * lib/savedir.h: Likewise.
79077
79078         2006-08-15  Jim Meyering  <jim@meyering.net>
79079
79080         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79081         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79082         in support of the EXPECTED_ERRNO macro.
79083         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79084         definitions.  Instead, define the appropriate symbols and include
79085         "at-func.c".
79086         * lib/mkdirat.c (mkdirat): Likewise.
79087         * lib/fchmodat.c (fchmodat): Likewise.
79088         (ENOSYS): Remove definition.
79089         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79090         it.  Don't include "unistd--.h" -- it wasn't ever used.
79091
79092         2006-01-17  Jim Meyering  <jim@meyering.net>
79093
79094         Rewrite fts.c not to change the current working directory,
79095         by using openat, fstatat, fdopendir, etc..
79096
79097         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79098         (HAVE_OPENAT_SUPPORT): Define.
79099         [_LIBC] (fchdir): Don't undef or define; no longer used.
79100         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79101         Now, this `function' always succeeds, and consumes its file descriptor
79102         parameter -- so callers must not close such FDs.  Update callers.
79103         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79104         (diropen): Add parameter, SP.  Adjust all callers.
79105         Implement using diropen_fd, rather than open.
79106         (fts_open): Initialize new member, fts_cwd_fd.
79107         Remove fts_rft-setting code.
79108         (fts_close): Close fts_cwd_fd, if necessary.
79109         (__opendir2): Define in terms of opendir or opendirat,
79110         depending on whether the FST_NOCHDIR flag is set.
79111         (fts_build): Since fts_safe_changedir consumes its FD, and since
79112         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79113         and close the dup'd file descriptor upon failure.
79114         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79115         (fts_safe_changedir): Tweak semantics to reflect that this function
79116         now calls cwd_advance_fd and hence consumes its FD argument.
79117         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79118         [struct FTS] (fts_rft): Remove now-unused member.
79119         [struct FTS] (fts_cycle.state): Improve comment.
79120
79121         * lib/openat.c (openat_needs_fchdir): New function.
79122         * lib/openat.h (openat_needs_fchdir): Declare it.
79123
79124 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79127         Problem and fix reported by Pádraig Brady in
79128         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79129
79130 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79131
79132         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79133
79134 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * lib/memcoll.c (memcoll): Optimize for the common case where the
79137         arguments are bytewise equal.
79138
79139 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79140
79141         * doc/regexprops-generic.texi: Add a copyright notice.
79142
79143 2006-08-15  Bruno Haible  <bruno@clisp.org>
79144
79145         * modules/tmpdir (License): Change to LGPL.
79146
79147 2006-08-15  Bruno Haible  <bruno@clisp.org>
79148
79149         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79150         module.
79151
79152 2006-08-14  Simon Josefsson  <jas@extundo.com>
79153
79154         * config/srclist.txt: Add gnupload.
79155
79156 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79157
79158         Change copyright notice from LGPL 2 to GPL 2, since that's the
79159         standard form used in the gnulib repository.
79160         * tests/test-lock.c: Likewise.
79161         * tests/test-stdint.c: Likewise.
79162         * tests/test-tls.c: Likewise.
79163
79164         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79165         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79166         Add copyright notice.
79167
79168         * check-module: Add copyright notice.  Output a copyright
79169         notice if "--version" is specified.
79170         * modules/COPYING: New file.
79171         * tests/test-getaddrinfo.c: Add copyright notice.
79172         * tests/test-verify.c: Likewise.
79173
79174 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79175
79176         Change copyright notice from LGPL 2 to GPL 2, since that's the
79177         standard form used in the gnulib repository.
79178         * lib/lock.c: LGPL -> GPL.
79179         * lib/lock.h: Likewise.
79180         * lib/strnlen1.c: Likewise.
79181         * lib/strnlen1.h: Likewise.
79182         * lib/tls.c: Likewise.
79183         * lib/tls.h: Likewise.
79184         * lib/tmpdir.c: Likewise.
79185
79186         * lib/TODO: Remove; this belongs only in coreutils.
79187
79188 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79189
79190         Add copyright notices to long-enough files that lack them, since
79191         otherwise the files aren't clearly free.  Use the same notice that
79192         getdate.texi already uses.
79193         * doc/alloca-opt.texi: Add copyright notice.
79194         * doc/alloca.texi: Likewise.
79195         * doc/ctime.texi: Likewise.
79196         * doc/functions.texi: Likewise.
79197         * doc/gcd.texi: Likewise.
79198         * doc/gnulib-tool.texi: Likewise.
79199         * doc/inet_ntoa.texi: Likewise.
79200         * doc/visibility.texi: Likewise.
79201
79202         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79203         * doc/quote.texi: Add copyright notice.
79204
79205         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79206         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79207         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79208         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79209         is now obsolete, and give a pointer to the Sun list.
79210         Add copyright notice.
79211
79212 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79213
79214         * config/srclistvars.sh: Add copyright notice.
79215
79216 2006-08-14  Eric Blake  <ebb9@byu.net>
79217
79218         Import the following change from libc:
79219
79220         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79221
79222         Upstream bug 2997.
79223         * lib/misc/error.c: Add space between program name and message if file
79224         name is missing.
79225
79226 2006-08-12  Karl Berry  <karl@gnu.org>
79227
79228         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79229         remove, these originate in gnulib now.
79230
79231 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79232
79233         * doc/Makefile (standards.info standards.html standards.dvi):
79234         Also depend on make-stds.texi.
79235
79236 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79237
79238         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79239         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79240
79241         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79242         in wchar_t.  Problem reported by Eric Blake.
79243
79244         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79245         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79246         Also, help the compiler to keep LEN in a register.
79247
79248 2006-08-11  Eric Blake  <ebb9@byu.net>
79249
79250         * users.txt: Sort.  Add tar.
79251
79252 2006-08-11  Bruno Haible  <bruno@clisp.org>
79253
79254         * users.txt: New file.
79255
79256 2006-08-11  Bruno Haible  <bruno@clisp.org>
79257
79258         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79259         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79260
79261 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * modules/snprintf (Depends-on): Remove minmax.
79264         (Maintainer): Add self and Bruno.
79265
79266 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79267
79268         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79269         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79270         (EOVERFLOW): Define if the system does not.
79271         Do not include "minmax.h"; it wasn't used.
79272         (snprintf): Don't assume size_t promotes to an unsigned type.
79273         Fix bug when generated string was too long for the buffer: the
79274         buffer's contents are supposed to be the initial prefix of the
79275         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79276         exceeds INT_MAX; do the check ourselves.
79277
79278         Import the following changes from libc:
79279
79280         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79281
79282         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79283         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79284         set wc to the byte which couldn't be converted.
79285         (re_string_reconstruct): Don't clear valid_raw_len before calling
79286         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79287         tip_context using re_string_context_at.
79288
79289         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79290
79291         * lib/posix/regex.h: g++ still cannot handled [restrict].
79292
79293         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79294
79295         * lib/posix/regex.h: Remove special handling for VMS.
79296
79297 2006-08-10  Jim Meyering  <jim@meyering.net>
79298
79299         * modules/same-inode: New module.
79300         * modules/dev-ino: New module.
79301         * modules/cycle-check: Depend on these modules, rather than simply
79302         including their .h files.
79303         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79304         required via m4/cycle-check.m4.
79305         * modules/same: Depend on new same-inode module, rather than
79306         including same-inode.h.
79307         * modules/chdir-safer: New file.
79308
79309         * modules/chown (Depends-on): Add stat-macros.
79310
79311 2006-08-10  Jim Meyering  <jim@meyering.net>
79312
79313         * m4/cycle-check.m4: New file.
79314         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79315         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79316
79317 2006-08-10  Eric Blake  <ebb9@byu.net>
79318
79319         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79320         in from original proposal.
79321
79322 2006-08-10  Eric Blake  <ebb9@byu.net>
79323         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79324
79325         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79326         namespace.
79327
79328 2006-08-10  Bruno Haible  <bruno@clisp.org>
79329
79330         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79331         as well.
79332
79333 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79334
79335         Sync from coreutils.
79336
79337         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79338
79339         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79340         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79341
79342 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79343
79344         * modules/restrict: Remove; no longer needed now that we assume
79345         Autoconf 2.59 or later.
79346         * MODULES.html.sh: Remove 'restrict'.
79347         * modules/argp (Depends-on): Remove 'restrict'.
79348         * modules/base64 (Depends-on): Likewise.
79349         * modules/gc (Depends-on): Likewise.
79350         * modules/getaddrinfo (Depends-on): Likewise.
79351         * modules/glob (Depends-on): Likewise.
79352         * modules/inet_ntop (Depends-on): Likewise.
79353         * modules/inet_pton (Depends-on): Likewise.
79354         * modules/memxor (Depends-on): Likewise.
79355         * modules/regex (Depends-on): Likewise.
79356         * modules/strtok_r (Depends-on): Likewise.
79357         * modules/time_r (Depends-on): Likewise.
79358
79359 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79360
79361         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79362         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79363         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79364         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79365         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79366         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79367         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79368         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79369
79370         Merge from coreutils.
79371         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79372         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79373         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79374         * m4/time_r.m4 (gl_TIME_R): Likewise.
79375
79376 2006-08-09  Karl Berry  <karl@gnu.org>
79377
79378         * config/srclist.txt: no more gettext-tools, per Bruno.
79379
79380 2006-08-08  Eric Blake  <ebb9@byu.net>
79381
79382         * modules/verror: New module.
79383         * MODULES.html.sh: Document it.
79384
79385 2006-08-08  Eric Blake  <ebb9@byu.net>
79386
79387         * lib/verror.h, lib/verror.c: New files.
79388
79389 2006-08-08  Eric Blake  <ebb9@byu.net>
79390
79391         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79392         verror_at_line output complies with GNU Coding Standards even when
79393         file is NULL.
79394
79395 2006-08-07  Bruno Haible  <bruno@clisp.org>
79396
79397         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79398         versions of AIX.
79399         Reported by Ralf Wildenhues.
79400
79401 2006-08-07  Bruno Haible  <bruno@clisp.org>
79402
79403         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79404         in an AC_DEFUN. Needed so that the autoconf snippets can use
79405         AC_REQUIRE.
79406
79407 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79408
79409         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79410         Initialize pkgdata_DATA.
79411         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79412         overriding it.
79413
79414 2006-08-06  Eric Blake  <ebb9@byu.net>
79415
79416         * lib/error.h: Fold in some upstream changes from glibc.
79417         * lib/error.c: Likewise.
79418
79419 2006-08-04  Bruno Haible  <bruno@clisp.org>
79420
79421         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79422         Make the mostlyclean-local rule depend on mostlyclean-generic.
79423         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79424
79425 2006-07-31  Bruno Haible  <bruno@clisp.org>
79426
79427         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79428         <stdlib.h>, <string.h>.
79429
79430 2006-07-30  Bruno Haible  <bruno@clisp.org>
79431
79432         * modules/readlink (License): Change to LGPL.
79433
79434 2006-07-30  Bruno Haible  <bruno@clisp.org>
79435
79436         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79437         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79438         set PKGDATADIR to point to it.
79439
79440 2006-07-30  Bruno Haible  <bruno@clisp.org>
79441
79442         * modules/csharpexec (configure.ac): Comment out macro invocation.
79443         * modules/javaexec (configure.ac): Likewise.
79444         * modules/javacomp-script (configure.ac): Likewise.
79445
79446         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79447
79448 2006-07-30  Bruno Haible  <bruno@clisp.org>
79449
79450         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79451         linked-list.
79452
79453 2006-07-30  Bruno Haible  <bruno@clisp.org>
79454
79455         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79456
79457 2006-07-30  Bruno Haible  <bruno@clisp.org>
79458
79459         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79460         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79461         get removed.
79462
79463 2006-07-29  Bruno Haible  <bruno@clisp.org>
79464
79465         Make it possible for gnulib-tool to work with locally modified or
79466         augmented gnulib repositories.
79467         * gnulib-tool (func_usage): Document --local-dir option.
79468         (local_gnulib_dir): New variable.
79469         Handle --local-dir option.
79470         (func_lookup_file): New function.
79471         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79472         (func_get_description, func_get_filelist, func_get_description,
79473         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79474         func_get_automake_snippet, func_get_include_directive,
79475         func_get_license, func_get_maintainer): Use func_lookup_file.
79476         (func_import, func_create_testdir): Use func_lookup_file.
79477
79478 2006-07-29  Bruno Haible  <bruno@clisp.org>
79479
79480         * modules/setenv (Depends-on): Add unistd.
79481
79482 2006-07-29  Bruno Haible  <bruno@clisp.org>
79483
79484         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79485
79486 2006-07-29  Bruno Haible  <bruno@clisp.org>
79487
79488         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79489
79490 2006-07-29  Bruno Haible  <bruno@clisp.org>
79491
79492         * gnulib-tool (import, update): If there is no Makefile.am, look at
79493         aclocal.m4, instead of bailing out.
79494
79495 2006-07-29  Bruno Haible  <bruno@clisp.org>
79496
79497         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79498         Categorize the options by when they are useful.
79499
79500 2006-07-29  Bruno Haible  <bruno@clisp.org>
79501
79502         * gnulib-tool (func_usage): Document option --no-libtool.
79503         Handle option --no-libtool.
79504         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79505         for changed semantics of $libtool variable.
79506         (func_import): Likewise. If libtool is not used, show this through
79507         an option --no-libtool.
79508         (func_create_testdir): Update.
79509
79510 2006-07-29  Bruno Haible  <bruno@clisp.org>
79511
79512         * gnulib-tool (func_import): Extend error message about missing
79513         --doc-base.
79514
79515 2006-07-29  Bruno Haible  <bruno@clisp.org>
79516
79517         * gnulib-tool (func_import): Don't create the $docbase directory if
79518         there is no file to store there.
79519
79520 2006-07-29  Bruno Haible  <bruno@clisp.org>
79521
79522         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79523         relevant, look for configure.ac there, not in the current directory.
79524         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79525
79526 2006-07-29  Bruno Haible  <bruno@clisp.org>
79527
79528         * gnulib-tool (SORT): New variable.
79529         (func_usage): Undocument --assume-autoconf option.
79530         Remove --assume-autoconf option handling.
79531         (autoconf_minversion): Determine from the contents of configure.ac.
79532         (func_import): Remove autoconf_minversion handling.
79533         Suggested by Eric Blake.
79534
79535 2006-07-29  Bruno Haible  <bruno@clisp.org>
79536
79537         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79538
79539 2006-07-29  Bruno Haible  <bruno@clisp.org>
79540
79541         * config/srclist.txt (*setenv.[ch]): Remove rules.
79542
79543 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79544
79545         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79546
79547 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79548
79549         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79550         arpa/inet.h.
79551
79552 2006-07-28  Simon Josefsson  <jas@extundo.com>
79553
79554         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79555         * modules/inet_pton (Depends-on): Likewise.
79556
79557 2006-07-28  Simon Josefsson  <jas@extundo.com>
79558
79559         * m4/netinet_in_h.m4: New file.
79560
79561 2006-07-28  Simon Josefsson  <jas@extundo.com>
79562
79563         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79564         #include's.
79565
79566 2006-07-28  Simon Josefsson  <jas@extundo.com>
79567
79568         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79569         #include's.
79570
79571 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79572
79573         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79574         setgid on directories only if they set these bits.
79575         * lib/modechange.h: Remove obsolete comment about masks.
79576
79577 2006-07-28  Eric Blake  <ebb9@byu.net>
79578
79579         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79580         macro expansion.
79581
79582 2006-07-28  Bruno Haible  <bruno@clisp.org>
79583
79584         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79585
79586 2006-07-28  Bruno Haible  <bruno@clisp.org>
79587
79588         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79589
79590 2006-07-28  Bruno Haible  <bruno@clisp.org>
79591
79592         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79593         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79594         Define fallbacks.
79595         Avoids link error on FreeBSD 4.x.
79596         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79597
79598         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79599         encoding.
79600         * lib/mbswidth.c (iswcntrl): Likewise.
79601
79602 2006-07-27  Bruno Haible  <bruno@clisp.org>
79603
79604         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79605         test.
79606
79607 2006-07-27  Bruno Haible  <bruno@clisp.org>
79608
79609         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79610         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79611         defined.
79612
79613 2006-07-26  Eric Blake  <ebb9@byu.net>
79614
79615         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79616
79617 2006-07-26  Eric Blake  <ebb9@byu.net>
79618
79619         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79620         like mingw that lack mkstemp.
79621         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79622         avoid compilation warning on mingw.
79623
79624 2006-07-26  Bruno Haible  <bruno@clisp.org>
79625
79626         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79627         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79628         INT_FAST*_MIN, INTPTR_MIN.
79629
79630 2006-07-25  Bruno Haible  <bruno@clisp.org>
79631
79632         * modules/version-etc (Depends-on): Add stdarg.
79633
79634 2006-07-25  Bruno Haible  <bruno@clisp.org>
79635
79636         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79637         complex commands.
79638
79639 2006-07-25  Bruno Haible  <bruno@clisp.org>
79640
79641         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79642         defined in <stdarg.h> or config.h.
79643
79644 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79645
79646         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79647         (gl_STDIO_SAFER): Remove.
79648
79649 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79650
79651         * MODULES.html.sh (File stream based Input/Output):
79652         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79653         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79654         * modules/fopen-safer, modules/tmpfile-safer: New files.
79655         * modules/stdio-safer: Remove.
79656
79657 2006-07-24  Bruno Haible  <bruno@clisp.org>
79658
79659         * modules/tmpdir: New file.
79660         * MODULES.html.sh (File system functions): Add it.
79661
79662 2006-07-24  Bruno Haible  <bruno@clisp.org>
79663
79664         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79665         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79666
79667 2006-07-24  Bruno Haible  <bruno@clisp.org>
79668
79669         * modules/clean-temp: New file.
79670
79671 2006-07-24  Bruno Haible  <bruno@clisp.org>
79672
79673         * m4/tmpdir.m4: New file, from GNU gettext.
79674
79675 2006-07-24  Bruno Haible  <bruno@clisp.org>
79676
79677         * lib/tmpdir.h: New file, from GNU gettext.
79678         * lib/tmpdir.c: New file, from GNU gettext.
79679
79680 2006-07-24  Bruno Haible  <bruno@clisp.org>
79681
79682         * lib/clean-temp.h: New file, from GNU gettext.
79683         * lib/clean-temp.c: New file, from GNU gettext.
79684
79685 2006-07-23  Eric Blake  <ebb9@byu.net>
79686
79687         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79688         (Depends-on): Add binary-io.
79689
79690 2006-07-23  Eric Blake  <ebb9@byu.net>
79691
79692         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79693
79694 2006-07-23  Eric Blake  <ebb9@byu.net>
79695
79696         * lib/tmpfile-safer.c: New file.
79697         * lib/stdio-safer.h (fopen_safer): Add prototype.
79698         * lib/stdio--.h (tmpfile): Make safer.
79699
79700 2006-07-23  Bruno Haible  <bruno@clisp.org>
79701
79702         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79703         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79704         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79705         gl_linked_remove_at): Use it.
79706
79707 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79708         and Simon Josefsson <jas@extundo.com>
79709
79710         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
79711
79712         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
79713
79714 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79715
79716         * modules/close-stream: New file.
79717         * modules/closeout (Description): Make it clear that it exits
79718         with a diagnostic on error.
79719         (Depends-on): Add close-stream.  Remove fpending, stdbool.
79720         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
79721
79722 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79723
79724         * m4/close-stream.m4: New file.
79725
79726 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79727
79728         * lib/close-stream.c, lib/close-stream.h: New files.
79729
79730 2006-07-22  Bruno Haible  <bruno@clisp.org>
79731
79732         Merge from GNU gettext 0.15.
79733
79734         2006-05-01  Bruno Haible  <bruno@clisp.org>
79735
79736                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
79737
79738         2006-07-22  Bruno Haible  <bruno@clisp.org>
79739
79740                 * modules/javaversion: New file.
79741                 * MODULES.html.sh (Java): Add javaversion.
79742
79743         2006-03-12  Bruno Haible  <bruno@clisp.org>
79744
79745                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
79746
79747         2005-12-04  Bruno Haible  <bruno@clisp.org>
79748
79749                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
79750                 (untested).
79751
79752         2006-06-21  Bruno Haible  <bruno@clisp.org>
79753
79754                 Avoid warnings from recent versions of mcs.
79755                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
79756                 -o, -L, -r any more. Use options documented since mcs-1.0
79757                 instead. Similarly for -g.
79758
79759         2005-12-04  Bruno Haible  <bruno@clisp.org>
79760
79761                 * build-aux/csharpcomp.sh.in: Suffix for resources is
79762                 .resources, not .resource.
79763
79764         2005-07-09  Bruno Haible  <bruno@clisp.org>
79765
79766                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
79767                 add a .dll suffix.
79768                 Reported by Mark Junker <mjscod@gmx.de>.
79769
79770         2006-07-22  Bruno Haible  <bruno@clisp.org>
79771
79772                 * modules/gettext: Upgrade to gettext-0.15.
79773                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
79774                 m4/visibility.m4.
79775                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
79776
79777 2006-07-22  Bruno Haible  <bruno@clisp.org>
79778
79779         Merge from GNU gettext 0.15.
79780
79781         2006-03-25  Bruno Haible  <bruno@clisp.org>
79782
79783                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
79784
79785         2006-07-21  Bruno Haible  <bruno@clisp.org>
79786
79787                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
79788                 "1.1".
79789
79790         2006-05-09  Bruno Haible  <bruno@clisp.org>
79791
79792                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
79793                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
79794                 for the conftestver execution.
79795
79796         2006-05-01  Bruno Haible  <bruno@clisp.org>
79797
79798                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
79799                 optional target-version argument. Verify that the compiler
79800                 groks source of the specified source-version, or add -source
79801                 option as necessary. Verify that the compiler produces
79802                 bytecode in the specified target-version, or add -target and
79803                 -source options as necessary. Make the result of the test
79804                 available as variable CONF_JAVAC. Also log error output in
79805                 config.log.
79806
79807         2006-03-11  Bruno Haible  <bruno@clisp.org>
79808
79809                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
79810
79811         2006-05-09  Bruno Haible  <bruno@clisp.org>
79812
79813                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
79814                 CLASSPATH_SEPARATOR to a semicolon.
79815
79816         2006-03-12  Bruno Haible  <bruno@clisp.org>
79817
79818                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
79819                 available as variable CONF_JAVA, for subsequent autoconf
79820                 tests. Also log error output in config.log.
79821
79822         2006-07-19  Bruno Haible  <bruno@clisp.org>
79823
79824                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
79825                 that getline works on glibc2 systems. Needed to avoid trouble
79826                 in relocatable.c.
79827                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
79828
79829         2005-12-04  Bruno Haible  <bruno@clisp.org>
79830
79831                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
79832                 launcher (untested).
79833
79834         2005-12-04  Bruno Haible  <bruno@clisp.org>
79835
79836                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
79837
79838         2006-07-22  Bruno Haible  <bruno@clisp.org>
79839
79840                 * gettext.m4: Update from GNU gettext-0.15.
79841                 * nls.m4: Likewise.
79842                 * po.m4: Likewise.
79843                 * inttypes-pri.m4: Likewise.
79844                 * inttypes-h.m4: Renamed from inttypes.m4.
79845                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
79846
79847 2006-07-22  Bruno Haible  <bruno@clisp.org>
79848
79849         Merge from GNU gettext 0.15.
79850
79851         2005-07-05  Bruno Haible  <bruno@clisp.org>
79852
79853                 * printf-args.c (printf_fetchargs): Work around broken
79854                 definition of wint_t on mingw.
79855
79856         2005-02-12  Bruno Haible  <bruno@clisp.org>
79857
79858                 * xallocsa.h: Add extern "C" for C++.
79859
79860         2006-05-17  Bruno Haible  <bruno@clisp.org>
79861
79862                 Cygwin portability.
79863                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
79864
79865         2006-04-30  Bruno Haible  <bruno@clisp.org>
79866
79867                 * progreloc.c: Include <mach-o/dyld.h> if available.
79868                 (find_executable): Use _NSGetExecutablePath when possible.
79869
79870         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
79871
79872                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
79873                 function.
79874
79875         2005-12-29  Bruno Haible  <bruno@clisp.org>
79876
79877                 * progreloc.c (set_program_name_and_installdir): Fix
79878                 compilation error.
79879
79880         2005-12-04  Bruno Haible  <bruno@clisp.org>
79881
79882                 Cygwin portability.
79883                 * progreloc.c: Include <windows.h> also on Cygwin.
79884                 (find_executable): Add support for Cygwin.
79885                 (set_program_name_and_installdir): Handle also platforms with
79886                 nonempty EXEEXT.
79887
79888         2006-07-11  Bruno Haible  <bruno@clisp.org>
79889
79890                 * javacomp.c: Fix a comment.
79891                 Reported by Jim Meyering.
79892
79893         2006-04-30  Bruno Haible  <bruno@clisp.org>
79894
79895                 * javacomp.h (compile_java_class): Add source_version,
79896                 target_version arguments.
79897                 * javacomp.c: Rewritten to choose only a compiler that
79898                 respects the specified source_version and target_version.
79899
79900         2006-06-27  Bruno Haible  <bruno@clisp.org>
79901
79902                 Assume correct S_ISDIR macro.
79903                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
79904
79905         2006-07-22  Bruno Haible  <bruno@clisp.org>
79906
79907                 * javaversion.h: New file, from GNU gettext.
79908                 * javaversion.c: New file, from GNU gettext.
79909                 * javaversion.java: New file, from GNU gettext.
79910                 * javaversion.class: New file, from GNU gettext.
79911
79912         2006-05-17  Bruno Haible  <bruno@clisp.org>
79913
79914                 Cygwin portability.
79915                 * javaexec.c (execute_java_class): Test for jview program
79916                 also on Cygwin.
79917
79918         2006-04-09  Bruno Haible  <bruno@clisp.org>
79919
79920                 * fatal-signal.c: Don't include string.h.
79921                 (at_fatal_signal): Use a copying loop instead of memcpy.
79922
79923         2005-12-04  Bruno Haible  <bruno@clisp.org>
79924
79925                 * csharpexec.c: Add support for 'clix' launcher (untested).
79926                 (execute_csharp_using_sscli): New function.
79927                 (execute_csharp_program): Call it.
79928
79929         2006-06-21  Bruno Haible  <bruno@clisp.org>
79930
79931                 Avoid warnings from recent versions of mcs.
79932                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
79933                 -o, -L, -r any more. Use options documented since mcs-1.0
79934                 instead. Similarly for -g.
79935
79936         2005-07-09  Bruno Haible  <bruno@clisp.org>
79937
79938                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
79939                 add a .dll suffix.
79940                 Reported by Mark Junker <mjscod@gmx.de>.
79941
79942         2006-06-17  Bruno Haible  <bruno@clisp.org>
79943
79944                 * config.charset: Update for NetBSD 3.0.
79945
79946         2006-05-17  Bruno Haible  <bruno@clisp.org>
79947
79948                 Cygwin portability.
79949                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
79950
79951         2006-05-16  Bruno Haible  <bruno@clisp.org>
79952
79953                 * localcharset.c [CYGWIN]: Include <windows.h>.
79954                 (get_charset_aliases): For Cygwin, return the same CPxxx
79955                 aliases list as under WIN32.
79956                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
79957                 the environment variables. Fall back to GetACP().
79958
79959         2006-04-05  Bruno Haible  <bruno@clisp.org>
79960
79961                 * config.charset: Update Juan Manuel Guerrero's address.
79962
79963         2005-02-12  Bruno Haible  <bruno@clisp.org>
79964
79965                 * allocsa.h: Add extern "C" for C++.
79966
79967         2005-02-10  Bruno Haible  <bruno@clisp.org>
79968
79969                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
79970                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
79971
79972         2006-07-22  Bruno Haible  <bruno@clisp.org>
79973
79974                 * gettext.h: Update to GNU gettext-0.15.
79975
79976 2006-07-22  Bruno Haible  <bruno@clisp.org>
79977
79978         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
79979         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
79980         lib-prefix.m4, longdouble.m4, ssize_t.m4.
79981
79982 2006-07-21  Eric Blake  <ebb9@byu.net>
79983
79984         * modules/stdlib-safer: New file.
79985         * MODULES.html.sh (File stream based Input/Output): Add
79986         stdlib-safer.
79987
79988 2006-07-21  Eric Blake  <ebb9@byu.net>
79989
79990         * lib/stdlib-safer.h: New file from coreutils, required by
79991         stdlib--.h.
79992
79993 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
79994
79995         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
79996
79997 2006-07-20  Bruno Haible  <bruno@clisp.org>
79998
79999         * gnulib-tool: Recognize new option --assume-autoconf.
80000         (autoconf_minversion): New variable.
80001         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80002
80003 2006-07-20  Bruno Haible  <bruno@clisp.org>
80004
80005         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80006
80007 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80008
80009         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80010         Reindent and repaginate.
80011
80012 2006-07-19  Derek Price  <derek@ximbiot.com>
80013
80014         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80015         Correct grammar.
80016
80017 2006-07-17  Bruno Haible  <bruno@clisp.org>
80018
80019         * modules/list: New file.
80020         * modules/array-list: New file.
80021         * modules/carray-list, modules/carray-list-tests: New files.
80022         * modules/linked-list, modules/linked-list-tests: New files.
80023         * modules/avltree-list, modules/avltree-list-tests: New files.
80024         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80025         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80026         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80027         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80028         * modules/oset: New file.
80029         * modules/array-oset: New file.
80030         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80031         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80032         * tests/test-carray_list.c: New file.
80033         * tests/test-linked_list.c: New file.
80034         * tests/test-avltree_list.c: New file.
80035         * tests/test-rbtree_list.c: New file.
80036         * tests/test-linkedhash_list.c: New file.
80037         * tests/test-avltreehash_list.c: New file.
80038         * tests/test-rbtreehash_list.c: New file.
80039         * tests/test-avltree_oset.c: New file.
80040         * tests/test-rbtree_oset.c: New file.
80041         * MODULES.html.sh (Container data structures): New section.
80042
80043 2006-07-17  Bruno Haible  <bruno@clisp.org>
80044
80045         * m4/gl_list.m4: New file.
80046
80047 2006-07-17  Bruno Haible  <bruno@clisp.org>
80048
80049         * lib/gl_list.h: New file.
80050         * lib/gl_list.c: New file.
80051         * lib/gl_array_list.h: New file.
80052         * lib/gl_array_list.c: New file.
80053         * lib/gl_carray_list.h: New file.
80054         * lib/gl_carray_list.c: New file.
80055         * lib/gl_linked_list.h: New file.
80056         * lib/gl_linked_list.c: New file.
80057         * lib/gl_anylinked_list1.h: New file.
80058         * lib/gl_anylinked_list2.h: New file.
80059         * lib/gl_avltree_list.h: New file.
80060         * lib/gl_avltree_list.c: New file.
80061         * lib/gl_anyavltree_list1.h: New file.
80062         * lib/gl_anyavltree_list2.h: New file.
80063         * lib/gl_rbtree_list.h: New file.
80064         * lib/gl_rbtree_list.c: New file.
80065         * lib/gl_anyrbtree_list1.h: New file.
80066         * lib/gl_anyrbtree_list2.h: New file.
80067         * lib/gl_anytree_list1.h: New file.
80068         * lib/gl_anytree_list2.h: New file.
80069         * lib/gl_linkedhash_list.h: New file.
80070         * lib/gl_linkedhash_list.c: New file.
80071         * lib/gl_anyhash_list1.h: New file.
80072         * lib/gl_anyhash_list2.h: New file.
80073         * lib/gl_avltreehash_list.h: New file.
80074         * lib/gl_avltreehash_list.c: New file.
80075         * lib/gl_rbtreehash_list.h: New file.
80076         * lib/gl_rbtreehash_list.c: New file.
80077         * lib/gl_anytreehash_list1.h: New file.
80078         * lib/gl_anytreehash_list2.h: New file.
80079
80080         * lib/gl_oset.h: New file.
80081         * lib/gl_oset.c: New file.
80082         * lib/gl_array_oset.h: New file.
80083         * lib/gl_array_oset.c: New file.
80084         * lib/gl_avltree_oset.h: New file.
80085         * lib/gl_avltree_oset.c: New file.
80086         * lib/gl_rbtree_oset.h: New file.
80087         * lib/gl_rbtree_oset.c: New file.
80088         * lib/gl_anytree_oset.h: New file.
80089
80090 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80091
80092         * m4/mkancesdirs.m4: New file.
80093         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80094         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80095         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80096         it.
80097
80098 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80099
80100         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80101         * lib/mkancesdirs.h: New files.
80102         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80103         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80104         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80105         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80106         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80107         callers changed.  Revamp internals significantly, by not
80108         attempting to create directories that are temporarily more
80109         permissive than the final results.  Do not attempt to use
80110         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80111         This removes some race conditions, fixes some bugs, and simplifies
80112         things.  Use new dirchownmod function to do owner and mode changes.
80113         * lib/mkdir-p.h: Likewise.
80114         * lib/modechange.c (octal_to_mode): New function.
80115         (struct mode_change): New member mentioned.
80116         (make_node_op_equals): New arg mentioned.  All callers changed.
80117         (mode_compile): Keep track of which mode bits the user has explicitly
80118         mentioned.
80119         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80120         New arg PMODE_BITS, to keep track of which mode bits the user
80121         mentioned; it treats S_ISUID and S_ISGID speciall.
80122         All callers changed.
80123         * lib/modechange.h: Likewise.
80124
80125 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80126
80127         * MODULES.html.sh: Add mkancestors.
80128         * modules/mkancesdirs: New module.
80129         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80130         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80131         The chdir-safer and afs files are now orphans; I'll remove them
80132         unless someone speaks up.
80133         Add lib/dirchownmod.c, lib/dirchownmod.h.
80134         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80135         Add lchown, mkancesdirs.
80136         (Maintainer): Add self.
80137
80138 2006-07-15  Karl Berry  <karl@gnu.org>
80139
80140         * gnulib-tool: help message wording/arrangement.
80141
80142 2006-07-14  Simon Josefsson  <jas@extundo.com>
80143
80144         * doc/gnulib.texi (Libtool and Windows): New section.
80145
80146 2006-07-12  Simon Josefsson  <jas@extundo.com>
80147
80148         * modules/gendocs (License): Fix license, approved by Karl.
80149
80150 2006-07-12  Eric Blake  <ebb9@byu.net>
80151
80152         * MODULES.html.sh: Add gendocs.
80153
80154 2006-07-11  Eric Blake  <ebb9@byu.net>
80155
80156         * modules/fdl: New module, to install doc/fdl.texi.
80157         * MODULES.html.sh: Add new section for documentation modules.
80158         * gnulib-tool: Avoid space-tab.
80159         (--doc-base): New option, to manage files from doc.
80160
80161 2006-07-11  Eric Blake  <ebb9@byu.net>
80162
80163         * m4/absolute-header.m4: Fix comments to match recent change.
80164
80165 2006-07-11  Eric Blake  <ebb9@byu.net>
80166
80167         * gnulib-tool: List --doc-base before --tests-base.
80168
80169 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80170
80171         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80172
80173 2006-07-11  Bruno Haible  <bruno@clisp.org>
80174
80175         * README: Mention where to put documentation.
80176
80177 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80178
80179         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80180
80181 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80182
80183         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80184         to stdint.m4.
80185
80186 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80187
80188         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80189         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80190         "no/such/file/stdint.h" when there is no such file, so that
80191         the resulting C code can be parsed by dodgy compilers.
80192         Problems reported by Bob Proulx.
80193
80194 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80195
80196         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80197         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80198         macros into the GNU _D_EXACT_NAMLEN.
80199         * lib/savedir.c:  Likewise.
80200         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80201
80202 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80203         and Paul Eggert  <eggert@cs.ucla.edu>
80204
80205         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80206         * m4/savedir.m4:
80207         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80208         macros into the GNU _D_EXACT_NAMLEN.
80209
80210 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80211
80212         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80213         around the absolute name, to work around a problem with the HP-UX
80214         11.23 native C compiler, reported by Bob Proulx.
80215
80216 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80217
80218         * doc/maintain.texi, make-stds.texi: Sync from
80219         <http://savannah.gnu.org/projects/gnustandards>.
80220
80221 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80222
80223         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80224
80225 2006-07-09  Jim Meyering  <jim@meyering.net>
80226
80227         * m4/glob.m4: Remove a doubled word in a comment.
80228
80229 2006-07-09  Jim Meyering  <jim@meyering.net>
80230
80231         * lib/argp-pv.c: Remove a doubled word in a comment.
80232         * lib/check-version.c (check_version): Likewise.
80233         * lib/javacomp.c (compile_java_class): Likewise.
80234
80235 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80236
80237         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80238         for the benefit of people using Autoconf 2.60.  If you want to
80239         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80240         (or m4/onceonly.m4, if pre-2.57) manually.
80241
80242 2006-07-08  Jim Meyering  <jim@meyering.net>
80243
80244         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80245         comment.
80246         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80247         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80248         comment.
80249
80250 2006-07-08  Jim Meyering  <jim@meyering.net>
80251
80252         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80253
80254 2006-07-07  Simon Josefsson  <jas@extundo.com>
80255
80256         * tests/test-crc.c: Change expected crc value, the test vector
80257         were probably computed using the old broken crc.c?
80258
80259 2006-07-06  Simon Josefsson  <jas@extundo.com>
80260
80261         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80262         now the canonical place for the M4 file).
80263
80264         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80265         from the sys_socket dependency now.
80266
80267         * modules/inet_pton (Files): Ditto.
80268
80269         * modules/inet_ntop (Files): Ditto.
80270
80271 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80272
80273         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80274         not gl_PREREQ_GETUSERSHELL.
80275
80276 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80277
80278         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80279         with only one argument, for Autoconf 2.60.
80280         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80281         expand to nothing, so add a shell command to avoid syntax error.
80282         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80283
80284 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80285
80286         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80287
80288 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80289
80290         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80291         no longer needed.  Check for isblank decl.
80292         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80293         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80294         of existence.
80295
80296 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80297
80298         * lib/getloadavg.c: Use __VMS, not VMS.
80299         * lib/getopt.c: Likewise.
80300         * lib/getpagesize.h: Likewise.
80301         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80302         and probably does not work.
80303
80304 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80305
80306         * lib/.cppi-disable: Add wcwidth.
80307         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80308         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80309         (ISGRAPH): Remove.  All uses changed to isgraph.
80310         (FOLD) [!defined _LIBC]: Remove special case.
80311         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80312         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80313         HAVE_ISBLANK.
80314         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80315         case.
80316
80317 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80318
80319         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80320         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80321         brackets.  Other minor changes to suppress some compiler
80322         warnings.
80323
80324 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80325         and Paul Eggert  <eggert@cs.ucla.edu>
80326
80327         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80328         of invoking obsolescent AC_HEADER_DIRENT macro.
80329         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80330         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80331         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80332         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80333         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80334         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80335         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80336         * m4/readdir.m4: Remove; no longer needed.
80337
80338 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80339         and Paul Eggert  <eggert@cs.ucla.edu>
80340
80341         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80342         Don't worry about this obsolete case any more.
80343         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80344         directories.
80345         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80346         worry about this obsolete case any more.
80347         * lib/fts.c: Likewise.
80348         * lib/getcwd.c: Likewise.
80349         * lib/glob.h: Likewise.
80350         * lib/savedir.c: Likewise.
80351
80352 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80353
80354         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80355         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80356         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80357         needed.
80358         All uses removed.
80359         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80360         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80361         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80362         needed.
80363         * m4/getdate.m4 (gl_GETDATE): Likewise.
80364         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80365         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80366         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80367         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80368         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80369         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80370         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80371         needed.
80372
80373 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80374
80375         * lib/memcasecmp.c: Include <limits.h>.
80376         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80377         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80378         Don't assume isdigit succeeds only on '0' through '9'.
80379
80380 2006-07-05  Eric Blake  <ebb9@byu.net>
80381
80382         * modules/getaddrinfo (Depends-on): Add snprintf.
80383
80384 2006-07-05  Eric Blake  <ebb9@byu.net>
80385
80386         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80387         to avoid 'header present but could not be compiled' on cygwin.
80388
80389 2006-07-05  Eric Blake  <ebb9@byu.net>
80390
80391         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80392         missing from netdb.h.
80393         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80394
80395 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80396
80397         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80398         no longer needed.
80399         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80400         * m4/getdate.m4 (gl_GETDATE): Likewise.
80401         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80402         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80403         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80404         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80405         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80406
80407 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80408
80409         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80410         All uses of is_space replaced by isspace.
80411         * lib/exit.h: Don't talk about STDC_HEADERS.
80412         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80413         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80414         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80415         replaced by isprint etc.
80416         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80417         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80418         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80419         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80420         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80421         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80422
80423 2006-07-05  Bruno Haible  <bruno@clisp.org>
80424
80425         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80426         the function exists, before testing against AIX.
80427         Reported by Martin Lambers <marlam@marlam.de>.
80428
80429 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80430
80431         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80432         From Mark D. Baushke.
80433
80434 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80435
80436         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80437         to the absolute name, not just one, to bypass Sun C 5.8's
80438         "warning: #include of /usr/include/... may be non-portable".
80439
80440 2006-07-04  Eric Blake  <ebb9@byu.net>
80441
80442         * modules/dirname-tests: New test module.
80443         * tests/test-dirname.c: New file, replacing dirname.c
80444         TEST_DIRNAME section that was recently deleted.
80445
80446 2006-07-04  Bruno Haible  <bruno@clisp.org>
80447
80448         Assume ANSI C header files and <ctype.h> functions.
80449         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80450         (mbsnwidth): Use isprint, iscntrl instead.
80451
80452 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80453
80454         Merge from coreutils.
80455         * MODULES.html.sh: Add xstrtold.
80456         * modules/xstrtold: New file.
80457         * modules/cycle-check (Files): Add lib/same-inode.h.
80458         * modules/dirname (Files): Add m4/double-slash-root.m4.
80459         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80460         * modules/mkdir-p (Files): Add lib/same-inode.h.
80461         * modules/same (Files): Add lib/same-inode.h.
80462
80463 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80464
80465         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80466         This is to keep the terminology clean; POSIX talks about
80467         "absolute pathnames", not "full pathnames", but the GNU
80468         Coding Standards say to use "path" for something else;
80469         so use "absolute" to keep both sides happy.
80470         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80471         Set gl_absolute_header, not gl_full_header_path.
80472         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80473         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80474         All uses changed.
80475
80476         Merge from coreutils.
80477
80478         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80479
80480         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80481         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80482         want to require the building of c-strtod.o.
80483         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80484         needs -lm directly.
80485         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80486
80487         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80488
80489         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80490         --as-needed option if available.  Problem reported by Albert Chin in
80491         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80492         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80493         cc merely issues a bunch of annoying warnings for --as-needed
80494         (this problem was reported by Bob Proulx).  Also, try linking with
80495         -lm to detect a bug in binutils 2.16 (this problem was reported
80496         by Ralf Wildenhues).
80497
80498         2006-06-18  Jim Meyering  <jim@meyering.net>
80499
80500         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80501         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80502         macro.
80503         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80504         also check for glibc-2.4's abort-inducing bug.
80505
80506         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80507         Low-probability clean-up should be to use rmdir to get rid of
80508         the just-created directory, not unlink.
80509
80510         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80511         configure fail, and request a bug report to inform us about it.
80512         Add a comment that, barring reports to the contrary, in 2007 we'll
80513         assume ftruncate is universally available.
80514
80515         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80516
80517         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80518
80519         2006-03-12  Jim Meyering  <jim@meyering.net>
80520
80521         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80522         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80523         * m4/same.m4 (gl_SAME): Likewise.
80524         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80525
80526         2006-03-11  Eric Blake  <ebb9@byu.net>
80527
80528         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80529         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80530         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80531         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80532
80533 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80536         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80537         reported by Mark D. Baushke, one in
80538         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80539
80540         Merge from coreutils.
80541
80542         * lib/.cppi-disable: Add stdint_.h.
80543         * lib/.cvsignore: Add stdint.h.
80544
80545         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80548         both double and long double versions.
80549         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80550         * lib/xstrtold.c: New file.
80551         * lib/xstrtod.h (xstrtold): New decl.
80552
80553         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         * lib/filemode.c (setst): Remove.
80556         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80557         (arguably) clearer, and the generated code is a bit smaller on my
80558         Debian GNU/Linux stable x86 host.
80559
80560         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80561
80562         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80563         Assume that filemode.h includes sys/types.h and sys/stat.h.
80564         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80565         (ftypelet): Reorder to put common cases first, for efficiency.
80566         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80567         to do 'M'.
80568         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80569         of 10, for compatibility with FreeBSD.  All callers changed.
80570         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80571         types that can't be deduced solely from st_mode.  First arg is now a
80572         const pointer.
80573         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80574         (strmode): Renamed from mode_string.
80575         (filemodestring): New decl.
80576         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80577         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80578         needed.
80579         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80580
80581         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80582
80583         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80584         fsusage.h now does that.  Include fsusage.h first, to test interface.
80585         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80586         at most one method (the old code could have generated decls that
80587         didn't conform to C89, not that this was ever exercised).
80588         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80589
80590         2006-03-19  Jim Meyering  <jim@meyering.net>
80591
80592         Work even in a chroot where d_ino values for entries in "/"
80593         don't match the stat.st_ino values for the same names.
80594         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80595         number, iterate through all entries again, using lstat instead.
80596         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80597         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80598
80599         * lib/getcwd.c (__getcwd): Clarify a comment.
80600         Use memcpy in place of a call to strcpy.
80601
80602         2006-03-12  Jim Meyering  <jim@meyering.net>
80603
80604         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80605         matches that of the current directory (which we're about to chdir ".."
80606         out of), then save the dev-ino of the parent, instead.
80607
80608         * lib/same-inode.h (SAME_INODE): New file/macro.
80609         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80610         Include "same-inode.h", instead.
80611         * lib/same.c: Likewise.
80612         * lib/cycle-check.h: Include "same-inode.h".
80613         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80614         * lib/cycle-check.c (SAME_INODE): Remove definition.
80615         * lib/root-dev-ino.h: Include "same-inode.h".
80616
80617         2006-03-11  Eric Blake  <ebb9@byu.net>
80618
80619         * lib/same.c (same_name): s/base_name/last_component/
80620         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80621         * lib/filenamecat.c (file_name_concat): Likewise.
80622
80623         2006-03-11  Eric Blake  <ebb9@byu.net>,
80624                     Paul Eggert  <eggert@cs.ucla.edu>
80625
80626         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80627         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80628         drive prefix.
80629         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80630         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80631         (last_component): New method.
80632         * lib/dirname.c (dir_len): Determine when drive letters need a
80633         subsequent slash.  Preserve // when it is special.
80634         (dir_name): Don't append dot when drive letter is absolute.
80635         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80636         * lib/basename.c (base_name): New semantics - malloc the result.
80637         Preserve // when it is special.  Preserve relative files that look
80638         like drive letters.
80639         (base_len): Preserve // when it is special.
80640         (last_component): New method, similar to old base_name semantics.
80641         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80642         base_name.  Strip redundant slashes from ///.
80643
80644 2006-07-03  Jim Meyering  <jim@meyering.net>
80645
80646         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80647         macro is used before the first cycle_check call.
80648
80649 2006-07-03  Eric Blake  <ebb9@byu.net>
80650
80651         * modules/dirname (Depends-on): Add xstrndup.
80652
80653 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80654
80655         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80656         test cases, so that config.log is a bit easier to follow.
80657
80658 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80659
80660         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80661         both are 64 bits, since this seems to be the tradition, and this
80662         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80663         we ever run into a host that prefers long long to long in this
80664         case, we'll need another configure-time test.  Problem reported by
80665         Jim Meyering.
80666
80667 2006-07-02  Eric Blake  <ebb9@byu.net>
80668
80669         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80670
80671 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80672
80673         * modules/inttypes (Depends-on): No longer depends on stdint.
80674         * modules/stdint (Description): Say more about assumptions.
80675         Say that the fast types might differ.  Say macros are used.
80676         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80677         (Makefile.am): Revise list of substituted symbols to match
80678         new stdint.m4.
80679         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80680         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80681         * tests/test-stdint.c (verify_same_types)
80682         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80683         the code conforms to C99/C89.
80684         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80685         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80686
80687 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80688
80689         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80690         but fix a bug, by requiring at least 64 bits.
80691         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80692         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80693         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80694         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80695
80696         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80697         changes.  Make 2.59 a prerequisite.  Check and substitute for
80698         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80699         inttypes.h.  Do not use special include files; just use the
80700         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80701         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80702         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80703         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80704         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80705         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80706         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80707         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80708         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
80709         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
80710         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
80711         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
80712         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
80713         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
80714         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
80715         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
80716         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
80717         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
80718         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
80719         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
80720         WINT_MAX.  Check for C99 conformance more strictly, by detecting
80721         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
80722         not check for things that C99 does not require, e.g., int8_t.  If
80723         a test isn't needed unless <stdint.h> isn't working, and is
80724         unlikely to be needed for any other reason, then don't do it
80725         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
80726         size_t, since we assume C89 freestanding at least.  Do not check
80727         for sig_atomic_t, wchar_t, or wint_t, since the code now does
80728         the right thing even if the types are not defined.  Instead use:
80729         (gl_STDINT_TYPE_PROPERTIES): New macro.
80730         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
80731         testing whether <sys/types.h> clashes, as Autoconf does this for
80732         us now.  All uses removed.
80733         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
80734         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
80735         (gl_CHECK_TYPE_SAME):
80736         Remove; no longer needed.
80737         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
80738         exists, since we'll return 0 anyway in that case.
80739         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
80740
80741 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80742
80743         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
80744         possible collision with system files.
80745         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
80746         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
80747         WCHAR_MIN and WCHAR_MAX in this case.
80748         (<stddef.h>): Do not include; no longer needed.
80749         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
80750         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
80751         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
80752         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
80753         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
80754         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
80755         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
80756         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
80757         !defined(__c99))]: Include in this case too, since it's harmless
80758         now.
80759         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
80760         dangerous to do so.
80761         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
80762         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
80763         (_STDINT_MIN, _STDINT_MAX): New macros.
80764         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
80765         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
80766         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
80767         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
80768         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
80769         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
80770         macros, not typedefs; this simplifies things quite a bit.
80771         Use long int for all types narrower than int64_t.
80772         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
80773         Define in terms of long long int or int64_t or long int,
80774         not int64_t or int32_t.  This saves some compile-time testing.
80775         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
80776         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
80777         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
80778         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
80779         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
80780         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
80781         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
80782         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
80783         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
80784         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
80785         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80786         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80787         undef any previous version and define our own version, for
80788         simplicity and consistency with the new macros for types.
80789         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80790         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80791         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
80792         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
80793         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
80794         @WINT_T_SUFFIX@ to keep things simple here.
80795         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
80796         Simplify by assuming typical 8/16/32/64 host, since we're
80797         already doing that elsewhere anyway.
80798         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
80799         and assume long long int is 64 bits if available.  This
80800         speeds up 'configure'.
80801
80802 2006-07-01  Eric Blake  <ebb9@byu.net>
80803
80804         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
80805         Reported by Andreas Buening.
80806
80807 2006-07-01  Eric Blake  <ebb9@byu.net>
80808
80809         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
80810
80811 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80812
80813         * lib/getaddrinfo.c: fixed typo
80814
80815 2006-06-29  Jim Meyering  <jim@meyering.net>
80816
80817         * modules/strftime (Maintainer): Add my name, since with the
80818         FPRINTFTIME changes strftime.c has forked from glibc.
80819
80820 2006-06-29  Eric Blake  <ebb9@byu.net>
80821
80822         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
80823
80824 2006-06-29  Eric Blake  <ebb9@byu.net>
80825
80826         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
80827
80828 2006-06-29  Eric Blake  <ebb9@byu.net>
80829
80830         * lib/stat_.h: New file.
80831
80832 2006-06-29  Eric Blake  <ebb9@byu.net>
80833
80834         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
80835         unused static function.
80836
80837 2006-06-29  Eric Blake  <ebb9@byu.net>
80838
80839         * doc/functions.texi (Function Portability): Document missing lstat
80840         on mingw.
80841
80842 2006-06-29  Eric Blake  <ebb9@byu.net>
80843
80844         * MODULES.html.sh: Add sys_stat.
80845         * modules/sys_stat: New module.
80846         * modules/mkstemp (Depends-on): Add sys_stat.
80847
80848 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80849
80850         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
80851
80852 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80853
80854         * m4/c-bs-a.m4: Removed.
80855
80856 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80857
80858         * lib/strftime.c: Assume strftime() exists.
80859
80860 2006-06-29  Derek Price  <derek@ximbiot.com>
80861
80862         * modules/c-bs-a: Removed - \a is C89.
80863         * MODULES.html.sh: Remove c-bs-a.
80864
80865 2006-06-29  Bruno Haible  <bruno@clisp.org>
80866
80867         * modules/wcwidth (License): Change to LGPL.
80868
80869 2006-06-28  Simon Josefsson  <jas@extundo.com>
80870
80871         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
80872         on _WIN32.
80873
80874         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80875         getnameinfo.
80876
80877 2006-06-28  Simon Josefsson  <jas@extundo.com>
80878
80879         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80880
80881 2006-06-28  Simon Josefsson  <jas@extundo.com>
80882
80883         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
80884         functions there.  It will succeed on Windows XP, but on Windows
80885         2000 and (presumably) earlier, it will fail, and use the internal
80886         re-implementation.
80887         (use_win32_p): New function.
80888         (getaddrinfo): Use strtoul on servname, to support numeric ports.
80889         Support AI_NUMERICSERV to disable getservbyname.
80890         (getnameinfo): New function, only supports
80891         NI_NUMERICHOST|NI_NUMERICSERV for now.
80892
80893         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
80894         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
80895         getnameinfo.
80896
80897 2006-06-28  Eric Blake  <ebb9@byu.net>
80898
80899         * modules/wcwidth: New file.
80900         * modules/mbchar (Depends-on): Add wcwidth.
80901         * modules/mbswidth (Depends-on): Add wcwidth.
80902         * MODULES.html.sh: Add wcwidth.
80903
80904 2006-06-28  Eric Blake  <ebb9@byu.net>
80905
80906         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
80907         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
80908
80909 2006-06-28  Eric Blake  <ebb9@byu.net>
80910
80911         * lib/xvasprintf.h: Fix comments.
80912
80913 2006-06-28  Eric Blake  <ebb9@byu.net>
80914
80915         * lib/mbchar.h (wcwidth): Include wcwidth.h.
80916         * lib/mbswidth.c (wcwidth): Move from here...
80917         * lib/wcwidth.h: ...to this new file.
80918
80919 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80920
80921         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
80922
80923         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
80924         it's obsolete.
80925         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
80926
80927 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80928
80929         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
80930         Autoconf 2.60 says this stuff was obsolete.
80931
80932 2006-06-28  Bruno Haible  <bruno@clisp.org>
80933
80934         * modules/wcwidth (Files): Add m4/wchar_t.m4.
80935
80936 2006-06-28  Bruno Haible  <bruno@clisp.org>
80937
80938         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
80939         gt_TYPE_WCHAR_T.
80940
80941 2006-06-28  Bruno Haible  <bruno@clisp.org>
80942
80943         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
80944         declaration for wcwidth.
80945         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
80946
80947 2006-06-28  Bruno Haible  <bruno@clisp.org>
80948
80949         * lib/mkdtemp.c [MINGW]: Include <io.h>.
80950         (mkdir): Define using _mkdir.
80951
80952 2006-06-28  Bruno Haible  <bruno@clisp.org>
80953
80954         * lib/getaddrinfo.h: Fix POSIX URL.
80955         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
80956         _WIN32.
80957         (use_win32_p): Make static.
80958         (getaddrinfo): Reject service name if it is empty or does not consist
80959         solely of decimal digits, or if its value is > 65535.
80960         (getnameinfo): Remove useless casts.
80961
80962 2006-06-27  Simon Josefsson  <jas@extundo.com>
80963
80964         * modules/sys_select: New file, suggested by Bruno Haible, Paul
80965         Eggert and Martin Lambers.
80966
80967 2006-06-27  Simon Josefsson  <jas@extundo.com>
80968
80969         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
80970         Eggert and Martin Lambers.
80971
80972 2006-06-27  Bruno Haible  <bruno@clisp.org>
80973
80974         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
80975         result to 0, not to empty.
80976         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
80977
80978 2006-06-27  Bruno Haible  <bruno@clisp.org>
80979
80980         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
80981
80982 2006-06-26  Simon Josefsson  <jas@extundo.com>
80983
80984         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
80985         present.
80986
80987 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
80990         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
80991         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
80992
80993 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
80994
80995         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
80996
80997 2006-06-26  Bruno Haible  <bruno@clisp.org>
80998
80999         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81000
81001 2006-06-26  Bruno Haible  <bruno@clisp.org>
81002
81003         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81004
81005 2006-06-26  Bruno Haible  <bruno@clisp.org>
81006
81007         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81008         SGI C compiler in pre-C99 mode.
81009         Suggested by Mark D. Baushke and Larry Jones.
81010
81011 2006-06-26  Bruno Haible  <bruno@clisp.org>
81012
81013         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81014         WCHAR_MAX.
81015         Reported by Mark D. Baushke and Larry Jones.
81016
81017 2006-06-26  Bruno Haible  <bruno@clisp.org>
81018
81019         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81020         in pre-C99 mode.
81021         Suggested by Mark D. Baushke and Larry Jones.
81022
81023 2006-06-23  Simon Josefsson  <jas@extundo.com>
81024             Bruno Haible  <bruno@clisp.org>
81025
81026         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81027         Emit mostlyclean-local rule.
81028         (func_emit_tests_Makefile_am): Likewise.
81029         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81030
81031 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81032
81033         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81034
81035 2006-06-23  Bruno Haible  <bruno@clisp.org>
81036
81037         * tests/test-stdint.c: Update to match ISO C 99 Technical
81038         Corrigendum 1.
81039
81040 2006-06-23  Bruno Haible  <bruno@clisp.org>
81041
81042         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81043
81044 2006-06-23  Bruno Haible  <bruno@clisp.org>
81045
81046         * lib/stdint_.h: Treat IRIX like OpenBSD.
81047
81048 2006-06-23  Bruno Haible  <bruno@clisp.org>
81049
81050         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81051         ISO C 99 Technical Corrigendum 1.
81052
81053 2006-06-22  Simon Josefsson  <jas@extundo.com>
81054
81055         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81056         MinGW.
81057
81058 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81059
81060         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81061         needed.  Some compiler complained about some of them.  Problem reported
81062         by Larry Jones in
81063         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81064
81065 2006-06-21  Simon Josefsson  <jas@extundo.com>
81066
81067         * tests/test-getaddrinfo.c: New file.
81068
81069         * modules/getaddrinfo-tests: New file.
81070
81071         * MODULES.html.sh: Add inet_pton.
81072
81073         * modules/inet_pton: New file.
81074
81075 2006-06-21  Simon Josefsson  <jas@extundo.com>
81076
81077         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81078         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81079         of using the (limited) gnulib implementation on Windows XP.
81080
81081         * m4/inet_pton.m4: New file.
81082
81083 2006-06-21  Simon Josefsson  <jas@extundo.com>
81084
81085         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81086         variable.
81087
81088         * lib/socket_.h: Don't define WINVER.
81089
81090         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81091         slightly modified to work in gnulib.
81092
81093 2006-06-21  Simon Josefsson  <jas@extundo.com>
81094
81095         * doc/gnulib.texi (Windows sockets): Add.
81096
81097 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81098
81099         * lib/read-file.c (fread_file): Start with buffer allocation of
81100         0 bytes rather than 1 byte; this simplifies the code.
81101         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81102         code to free buffer and save/restore errno.
81103         (internal_read_file): Remove unused local.
81104
81105 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81106
81107         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81108         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81109         Problem reported by Denis Excoffier in
81110         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81111
81112 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81113
81114         * modules/sys_socket, modules/socklen: Include sys/types since
81115         FreeBSD 4.x's sys/socket.h needs it.
81116
81117 2006-06-19  Simon Josefsson  <jas@extundo.com>
81118
81119         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81120
81121 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81122
81123         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81124
81125 2006-06-19  Bruno Haible  <bruno@clisp.org>
81126
81127         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81128         and FULL_PATH_INTTYPES_H in angle brackets.
81129         Reported by Mark D. Baushke <mdb@gnu.org>.
81130
81131 2006-06-17  Eric Blake  <ebb9@byu.net>
81132
81133         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81134         errno.
81135
81136 2006-06-17  Bruno Haible  <bruno@clisp.org>
81137
81138         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81139         <sys/inttypes.h>.
81140
81141 2006-06-17  Bruno Haible  <bruno@clisp.org>
81142
81143         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81144         whether errno is declared. Assume <errno.h> declares errno.
81145
81146 2006-06-17  Bruno Haible  <bruno@clisp.org>
81147
81148         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81149
81150 2006-06-17  Bruno Haible  <bruno@clisp.org>
81151
81152         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81153         problem on Solaris 2.5.1.
81154
81155 2006-06-16  Eric Blake  <ebb9@byu.net>
81156
81157         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81158         * lib/unicodeio.c [!defined errno]: Likewise.
81159         * lib/strtol.c [!defined errno]: Likewise.
81160         * lib/strtod.c [!defined errno]: Likewise.
81161
81162 2006-06-15  Eric Blake  <ebb9@byu.net>
81163
81164         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81165
81166 2006-06-15  Eric Blake  <ebb9@byu.net>
81167
81168         * config/srclist.txt (ssize_t.m4): Lose sync.
81169
81170 2006-06-15  Bruno Haible  <bruno@clisp.org>
81171
81172         * modules/stdint (Files): Include m4/full-header-path.m4,
81173         m4/size_max.m4, m4/wchar_t.m4.
81174         (Makefile.am): Many more substitutions.
81175         * modules/stdint-tests: New file.
81176         * tests/test-stdint.c: New file.
81177
81178 2006-06-15  Bruno Haible  <bruno@clisp.org>
81179
81180         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81181         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81182         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81183         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81184         gl_CHECK_TYPE_SAME): New macros.
81185
81186 2006-06-15  Bruno Haible  <bruno@clisp.org>
81187
81188         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81189
81190 2006-06-15  Bruno Haible  <bruno@clisp.org>
81191
81192         * lib/stdint_.h: Rewritten to be fully auto-configured.
81193         Fixes bug on HP-UX/IA64.
81194
81195 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81196
81197         * lib/getdate.y (__attribute__): Don't define if already defined.
81198         Problem reported by Larry Jones.
81199         * lib/utimens.c (__attribute__): Likewise.
81200
81201 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81202
81203         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81204         reported by Andreas Schwab.
81205
81206 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81207             Bruno Haible  <bruno@clisp.org>
81208
81209         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81210         check for the declaration of strnlen and a run test that exposes the
81211         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81212         rpl_strndup.
81213
81214 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81215             Bruno Haible  <bruno@clisp.org>
81216
81217         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81218
81219 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81220
81221         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81222         compile test, for Tru64 4.0D.
81223
81224 2006-05-28  Karl Berry  <karl@gnu.org>
81225
81226         * config/srclist.txt (printf-args.c): lose sync.
81227
81228 2006-05-26  Martin Lambers  <marlam@marlam.de>
81229
81230         * lib/getpass.c: Updates the test for the native W32 API, and adds
81231         missing includes, thus fixing compilation warnings.
81232
81233 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81234
81235         * lib/exclude.c (exclude_fnmatch): New function.
81236         (excluded_file_name): Call exclude_fnmatch.
81237         * lib/exclude.h (excluded_file_name): New prototype
81238
81239 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81240
81241         * lib/tempname.c (small_open, large_open): New macros.
81242         (__open, __open64) [!_LIBC]: Remove.
81243         (__gen_tempname): Use small_open and large_open instead of __open
81244         and __open64.  This fixes a portability bug on HP-UX 11.11i
81245         reported by Simon Wing-Tang in
81246         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81247
81248 2006-05-24  Bruno Haible  <bruno@clisp.org>
81249
81250         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81251         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81252         Reported by Thorsten Maerz <torte@netztorte.de> via
81253         Aaron Stone <aaron@serendipity.cx>.
81254
81255 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81256
81257         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81258         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81259         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81260         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81261         not really conditional on the cache.
81262         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81263
81264 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81265
81266         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81267         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81268         (my_usleep): Don't mishandle maximum value.
81269
81270 2006-05-19  Jim Meyering  <jim@meyering.net>
81271
81272         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81273
81274 2006-05-17  Bruno Haible  <bruno@clisp.org>
81275
81276         Cygwin portability.
81277         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81278
81279 2006-05-17  Bruno Haible  <bruno@clisp.org>
81280
81281         * lib/stdint_.h: Fix recognition of Cygwin.
81282
81283 2006-05-15  Bruno Haible  <bruno@clisp.org>
81284
81285         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81286         on libtool patch by Ralf Wildenhues.
81287
81288 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81289
81290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81291         test for C99 conformance; (bool) 0.5 is an integer constant
81292         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81293         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81294
81295 2006-05-11  Simon Josefsson  <jas@extundo.com>
81296
81297         * m4/xvasprintf.m4: Fix obvious typo.
81298
81299 2006-05-11  Jim Meyering  <jim@meyering.net>
81300
81301         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81302         James Lemley.
81303
81304 2006-05-10  Simon Josefsson  <jas@extundo.com>
81305
81306         * lib/md4.c: Typo fix, update copyright years.
81307         (K1, K2): Don't use L because it turn computations into 64-bit on
81308         64-bit platforms.
81309
81310 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81311
81312         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81313         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81314         unwanted sign propagation, e.g., on hosts with 64-bit int.
81315         There still are some problems with reeelly weird theoretical hosts
81316         (e.g., 33-bit int) but it's not worth worrying about now.
81317         * lib/sha1.c (rol): Likewise.
81318         (K1, K2, K3, K4): Remove unnecessary L suffix.
81319
81320 2006-05-10  Bruno Haible  <bruno@clisp.org>
81321
81322         * lib/des.c: Cast to avoid warnings.
81323
81324 2006-05-09  Bruno Haible  <bruno@clisp.org>
81325
81326         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81327         (Depends-on): Depend also on xsize, stdarg.
81328         (configure.ac): Add gl_XVASPRINTF.
81329
81330 2006-05-09  Bruno Haible  <bruno@clisp.org>
81331
81332         * m4/xvasprintf.m4: New file.
81333
81334 2006-05-09  Bruno Haible  <bruno@clisp.org>
81335
81336         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81337         (EOVERFLOW): Define fallback value.
81338         (xstrcat): New function.
81339         (xvasprintf): Recognize the special case of a string concatenation.
81340
81341 2006-05-08  Eric Blake  <ebb9@byu.net>
81342
81343         * gnulib-tool (func_version): Base copyright year on CVS date.
81344         (func_emit_copyright_notice): New function.
81345         (func_emit_lib_Makefile_am): Use it.
81346         (func_emit_tests_Makefile_am): Likewise.
81347         (func_import): Likewise.
81348
81349 2006-05-08  Bruno Haible  <bruno@clisp.org>
81350
81351         * modules/stdarg: New file.
81352         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81353
81354 2006-05-08  Bruno Haible  <bruno@clisp.org>
81355
81356         * m4/stdarg.m4: New file, from GNU gettext.
81357
81358 2006-05-08  Bruno Haible  <bruno@clisp.org>
81359
81360         * config/srclist.txt (build-aux/config.rpath): different from latest
81361         release.
81362
81363 2006-05-08  Bruno Haible  <bruno@clisp.org>
81364
81365         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81366
81367 2006-05-05  Jim Meyering  <jim@meyering.net>
81368
81369         * m4/warning.m4: New file, derived from bison's file by the same name.
81370
81371 2006-05-03  Bruno Haible  <bruno@clisp.org>
81372
81373         * lib/stdint_.h: Shorter URL.
81374         * lib/inttypes.h: Likewise.
81375
81376 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81377
81378         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81379
81380 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81381
81382         * lib/verify.h: Document the internals better.  Most of this change
81383         was written by Bruno Haible.
81384
81385 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81386
81387         * doc/verify.texi: New file, partly based on a proposal by
81388         Bruno Haible.
81389
81390 2006-05-02  Bruno Haible  <bruno@clisp.org>
81391
81392         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81393         test from here...
81394         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81395
81396 2006-04-29  Bruno Haible  <bruno@clisp.org>
81397
81398         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81399         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81400
81401 2006-04-29  Bruno Haible  <bruno@clisp.org>
81402
81403         * gnulib-tool: Make --update option actually work.
81404
81405 2006-04-29  Bruno Haible  <bruno@clisp.org>
81406
81407         * doc/gcd.texi: New file.
81408         * doc/gnulib.texi: Include it.
81409
81410 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81411
81412         * lib/getdate.y (get_date): When adding relative date, start with the
81413         initial time, not with the result of the first mktime call.
81414
81415 2006-04-25  Bruno Haible  <bruno@clisp.org>
81416
81417         * gnulib-tool (func_import): Output the include directives in three
81418         blocks, sorted separately.
81419         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81420
81421 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81422
81423         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81424         to define main with arguments, for C++.  Reported by Eric Blake.
81425         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81426         Prefer 'int main ()' to 'int main (void)', for C++.
81427         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81428         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81429         for 'main', for C99 and C++.
81430
81431 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81432
81433         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81434         Don't assume that exit status -1 is valid.
81435         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81436         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81437         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81438         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81439         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81440         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81441         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81442         functions can be used without declaring them, or that you can
81443         exit with status -1.
81444         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81445
81446 2006-04-24  Karl Berry  <karl@gnu.org>
81447
81448         * config/srclist.txt (longdouble.m4): sync lost.
81449
81450 2006-04-24  Eric Blake  <ebb9@byu.net>
81451
81452         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81453
81454 2006-04-24  Bruno Haible  <bruno@clisp.org>
81455
81456         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81457         poll() implementation in AIX.
81458         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81459
81460 2006-04-24  Bruno Haible  <bruno@clisp.org>
81461
81462         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81463         assigned exactly once.
81464
81465 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81466             Bruno Haible  <bruno@clisp.org>
81467
81468         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81469         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81470         for AM_CPPFLAGS.
81471
81472 2006-04-23  Bruno Haible  <bruno@clisp.org>
81473
81474         * modules/copy-file: Depend on unistd.
81475         * modules/execute: Likewise.
81476         * modules/fatal-signal: Likewise.
81477         * modules/findprog: Likewise.
81478         * modules/mkdtemp : Likewise.
81479         * modules/pipe: Likewise.
81480         * modules/wait-process: Likewise.
81481
81482 2006-04-23  Bruno Haible  <bruno@clisp.org>
81483
81484         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81485         condition was already detected.
81486         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81487
81488 2006-04-23  Bruno Haible  <bruno@clisp.org>
81489
81490         * lib/copy-file.c: Include <unistd.h> unconditionally.
81491         * lib/execute.c: Likewise.
81492         * lib/fatal-signal.c: Likewise.
81493         * lib/findprog.c: Likewise.
81494         * lib/mkdtemp.c: Likewise.
81495         * lib/pipe.h: Likewise.
81496         * lib/pipe.c: Likewise.
81497         * lib/wait-process.h: Likewise.
81498
81499 2006-04-23  Bruno Haible  <bruno@clisp.org>
81500
81501         * gnulib-tool (func_usage): Fix --import description. Document
81502         --update.
81503         (func_import): Create temporary file in a temporary directory, if
81504         --dry-run is specified. Silence errors from 'grep' when there are no
81505         m4 files in $m4dir.
81506         (func_create_testdir): Silence errors from 'grep' when there are no
81507         m4 files in $m4dir.
81508         Reported by Karl Berry <karl@freefriends.org>.
81509
81510 2006-04-20  Bruno Haible  <bruno@clisp.org>
81511
81512         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81513         one argument, so that the code will be portable to Autoconf 2.60.
81514         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81515         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81516         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81517
81518 2006-04-19  Derek Price  <derek@ximbiot.com>
81519             Eric Blake  <ebb9@byu.net>
81520
81521         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81522         rather than "/full/path.h".  Update comment to match.  Shorten &
81523         generalize m4_translit call via AS_TR_CPP.
81524
81525 2006-04-19  Derek Price  <derek@ximbiot.com>
81526             Eric Blake  <ebb9@byu.net>
81527
81528         * lib/inttypes.h: Correct grammar in comment.
81529
81530 2006-04-18  Derek Price  <derek@ximbiot.com>
81531             Paul Eggert  <eggert@cs.ucla.edu>
81532
81533         * modules/inttypes: New file.
81534         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81535
81536 2006-04-18  Derek Price  <derek@ximbiot.com>
81537             Paul Eggert  <eggert@cs.ucla.edu>
81538
81539         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81540         New files.
81541
81542 2006-04-18  Derek Price  <derek@ximbiot.com>
81543             Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * lib/inttypes.h: New file.
81546         * lib/strtoimax.c: Assume <inttypes.h>.
81547
81548 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81549
81550         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81551         isn't mounted.  Problem reported by Kir Kolyshkin.
81552
81553 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81556         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81557         Derek R. Price.
81558         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81559         implementation.
81560
81561 2006-04-12  Eric Blake  <ebb9@byu.net>
81562
81563         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81564         is now done automatically by the corresponding Autoconf macro.
81565
81566 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81567
81568         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81569         time_r.h.
81570
81571 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81572
81573         Merge regex changes from libc, removing some of our
81574         POSIX-conformance changes that were rejected and redoing them in a
81575         less-intrusive way.
81576
81577         * lib/regcomp.c (re_compile_internal, init_dfa):
81578         Length arg is now size_t, not Idx.  All uses changed.
81579         (peek_token): Forward decl now says internal_function.
81580         (__re_error_msgid, __re_error_msgid_idx):
81581         Now static rather than extern with attribute_hidden.
81582         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81583         For some reason libc prefers K&R style defns for external functions.
81584         (regerror) [!defined _LIBC]: Likewise.
81585         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81586         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81587         (build_range_exp, build_collating_symbol):
81588         Use K&R-style defn.
81589         (re_compile_fastmap): Use '\0' to memset, not 0.
81590         (utf8_sb_map): Make the calculations more obvious.
81591         (init_dfa, parse_bracket_exp, build_charclass_op):
81592         Call calloc and cast result, as glibc does.
81593         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81594         (build_range_exp, build_collating_symbol):
81595         Now internal functions.
81596
81597         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81598
81599         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81600         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81601         Don't depend on VMS; depend on __VMS instead, for POSIX
81602         namespace cleanness.
81603         (regoff_t): Define to ssize_t, not long int.
81604
81605         Remove the REG_ macros named below.  Instead, make the old names
81606         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81607         __USE_GNU_REGEX.
81608         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81609         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81610         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81611         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81612         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81613         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81614         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81615         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81616         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81617         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81618         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81619         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81620         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81621         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81622         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81623         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81624         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81625         (REG_NREGS):
81626         Remove.  All uses replaced by the old RE_* names.
81627         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81628         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81629         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81630         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81631         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81632         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81633         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81634         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81635         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81636         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81637         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81638         Don't bother having these macros be independent of each others'
81639         values, since they no longer exist in the POSIX name space.
81640
81641         Rename the following member names back to their old names,
81642         unless !__USE_GNU_REGEX.  All uses changed back.
81643         (buffer): Renamed from re_buffer.
81644         (allocated): Renamed from re_allocated.
81645         (used): Renamed from re_used.
81646         (syntax): Renamed from re_syntax.
81647         (fastmap): Renamed from re_fastmap.
81648         (translate): Renamed from re_translate.
81649         (can_be_null): Renamed from re_can_be_null.
81650         (regs_allocated): Renamed from re_regs_allocated.
81651         (fastmap_accurate): Renamed from re_fastmap_accurate.
81652         (no_sub): Renamed from re_no_sub.
81653         (not_bol): Renamed from re_not_bol.
81654         (not_eol): Renamed from re_not_eol.
81655         (newline_anchor): Renamed from re_newline_anchor.
81656         (num_regs): Renamed from rm_num_regs.
81657         (start): Renamed from rm_start.
81658         (end): Renamed from rm_end.
81659
81660         (free_state): Move up a bit.
81661
81662         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81663         #define to be empty.
81664         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81665         when that is what is intended.
81666         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81667         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81668         (MAX): New macro.
81669         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81670         All uses changed back to re_malloc, etc.  It's now the caller's
81671         responsibility to check for overflow; all callers changed.
81672         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81673         (re_x2nrealloc): Remove.
81674         (free_state): Remove decl.
81675
81676         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81677         (re_set_registers, re_exec):
81678         Use K&R-style defn.
81679
81680         2006-01-31  Roland McGrath  <roland@redhat.com>
81681
81682         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81683         Reported by Mike Frysinger <vapier@gentoo.org>.
81684
81685         2006-01-15  Andreas Jaeger  <aj@suse.de>
81686
81687         [BZ #1950]
81688         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81689         build_wcs_upper_buffer change.
81690         (build_wcs_upper_buffer): Change return type.
81691
81692         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81693
81694         * lib/regex_internal.h: Include <stdint.h> if available.
81695
81696         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81697
81698         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81699
81700         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81701
81702         * lib/regcomp.c: Adjust for changed secondary hash function.
81703
81704         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81705
81706         * lib/regex.h: Pretty printing.
81707         Clean up namespace a bit.
81708
81709         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
81710
81711         * lib/regexec.c (update_cur_sifted_state, check_arrival,
81712         check_arrival_add_next_nodes): Avoid using uninitialized variable.
81713
81714         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81715                     Ulrich Drepper  <drepper@redhat.com>
81716
81717         [BZ #1302]
81718         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
81719         changed.
81720         (bitset_word_t): Renamed from bitset_word.  All uses changed.
81721
81722         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
81723
81724         [BZ #281]
81725         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
81726         * lib/regcomp.c: Remove unnecessary uses of
81727         unsigned RE_TRANSLATE_TYPE.
81728         * lib/regex_internal.h: Likewise.
81729         * lib/regex_internal.c: Likewise.
81730         * lib/regexec.c: Likewise.
81731         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
81732
81733         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
81734
81735         * lib/regexec.c (find_recover_state): Remove unnecessary
81736         initialization.
81737         (transit_state_bkref): Make DFA a const pointer.
81738         (get_subexp): Likewise.
81739         (check_arrival): Likewise.
81740         (update_cur_sifted_state): Likewise.
81741         (re_search_internal): Likewise.
81742         (prune_impossible_nodes): Likewise.
81743         (acquire_init_state_context): Likewise.
81744         (proceed_next_node): Likewise.
81745         (set_regs): Likewise.
81746         (free_fail_stack_return): Likewise.
81747         (check_arrival_expand_ecl): Mark DFA parameter as const.
81748         (check_arrival_expand_ecl_sub): Likewise.
81749         (check_subexp_limits): Likewise.
81750         (sub_epsilon_src_nodes):  Likewise.
81751         (add_epsilon_src_nodes):  Likewise.
81752         (merge_state_array): Likewise.
81753         (update_regs): Likewise.
81754         (build_trtable): Likewise.
81755         (sift_states_backward): Mark MCTX parameter as const.
81756         (build_sifted_states): Likewise.
81757         (update_cur_sifted_state): Likewise.
81758         (sift_states_mkref): Likewise.
81759         (check_arrival_expand_ecl): Mark eclosure as const.
81760         (check_dst_limits_calc_pos_1): Likewise.
81761         * lib/regex_internal.h (re_match_context_t): Make dfa a const
81762         pointer.
81763
81764         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
81765
81766         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
81767         (transit_state_sb): Likewise.
81768         (transit_state_mb): Likewise.
81769         (sift_states_iter_mb): Likewise.
81770         (check_arrival_add_next_nodes): Likewise.
81771         (check_node_accept_bytes): Change first parameter to pointer-to-const.
81772         [_LIBC] (re_search_2_stub): Use mempcpy.
81773
81774         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
81775         mbrtowc for very simple UTF-8 case.
81776
81777         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
81778         a pointer-to-const.
81779         (re_acquire_state_context): Likewise.
81780         * lib/regex_internal.h: Adjust prototypes.
81781
81782         * lib/regex.c: Prevent using C++ compilers.
81783
81784         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
81785         (re_acquire_state_context): Likewise.
81786
81787 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81788
81789         * modules/regex (Depends-on): Add ssize_t.
81790
81791 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81792
81793         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
81794         translation table.
81795
81796 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81797
81798         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
81799
81800 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
81801             Bruno Haible  <bruno@clisp.org>
81802
81803         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
81804         <sys/types.h> and <inttypes.h>.
81805
81806 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81807
81808         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
81809         `__error_t_defined', so argp.h will not typedef the former.
81810
81811 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
81812
81813         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
81814         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
81815         glibc names.  Even if glibc is changed to conform to POSIX, the
81816         traditional names will be available anyway, since regex depends on
81817         the extensions module.  Also, fix a longstanding typo in the
81818         implementation of Spencer ERE test #75 from grep 2.3.  Problems
81819         reported by Emanuele Giaquinta.  Also, change sense of cached
81820         variable, so that the message makes sense.
81821
81822 2006-03-24  Simon Josefsson  <jas@extundo.com>
81823
81824         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
81825         including some doc fixes.
81826         (base64_encode_alloc): Fix +1 bug on allocation failures.
81827
81828 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81829
81830         * lib/base64.c (base64_encode): Do not read past end of array with
81831         unsanitized input on systems with CHAR_BIT > 8.
81832
81833 2006-03-24  Eric Blake  <ebb9@byu.net>
81834
81835         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
81836
81837 2006-03-22  Karl Berry  <karl@gnu.org>
81838
81839         * config/srclist.txt (*setenv.[ch]): get from coreutils.
81840         * config/srclistvars.sh (COREUTILS): new var.
81841
81842 2006-03-17  Jim Meyering  <jim@meyering.net>
81843
81844         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
81845         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
81846
81847 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81848
81849         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
81850         no longer needs it.  Instead, check that regoff_t is as least
81851         as wide as ptrdiff_t.
81852
81853         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
81854         so that our regex.h stays compatible with the installed regex.
81855         This is helpful for installers who configure --without-included-regex.
81856         Problem reported by Emanuele Giaquinta.
81857
81858 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81859
81860         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
81861         Typedef to long int, not to off_, as POSIX will likely change
81862         in that direction.
81863
81864 2006-03-15  Eric Blake  <ebb9@byu.net>
81865
81866         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
81867
81868 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81869
81870         * lib/argp-help.c (validate_uparams): Fix typo
81871         * lib/argp-parse.c (argp_default_options): Consistently begin help
81872         messages with a lowercase letter.
81873
81874 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81875
81876         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81877         overrun buffers and shouldn't be used (much as gets shouldn't be
81878         used).
81879         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81880
81881 2006-03-08  Simon Josefsson  <jas@extundo.com>
81882
81883         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
81884         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81885
81886 2006-03-08  Simon Josefsson  <jas@extundo.com>
81887
81888         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
81889         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81890
81891 2006-03-08  Simon Josefsson  <jas@extundo.com>
81892
81893         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
81894         signal that configure disabled the device.
81895
81896 2006-03-08  Simon Josefsson  <jas@extundo.com>
81897
81898         * build-aux/maint.mk: Fix refresh-po, to handle no translated
81899         languages.
81900
81901 2006-03-07  Simon Josefsson  <jas@extundo.com>
81902
81903         * modules/getopt (Depends-on): Add unistd.
81904
81905         * modules/unistd: New file.
81906
81907 2006-03-07  Simon Josefsson  <jas@extundo.com>
81908
81909         * modules/gc-random: New file.
81910
81911 2006-03-07  Simon Josefsson  <jas@extundo.com>
81912
81913         * m4/unistd_h.m4: New file.
81914
81915 2006-03-07  Simon Josefsson  <jas@extundo.com>
81916
81917         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
81918         test to be side-effect free by storing the result in the cache
81919         variable gl_cv_lib_readline, and moving the assignment of
81920         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
81921         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81922
81923 2006-03-07  Simon Josefsson  <jas@extundo.com>
81924
81925         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
81926         error on missing devices (the functions will return an error).
81927
81928         * m4/gc.m4: Move random stuff to gc-random.m4
81929
81930 2006-03-07  Simon Josefsson  <jas@extundo.com>
81931
81932         * lib/unistd_.h: New file.
81933
81934 2006-03-07  Simon Josefsson  <jas@extundo.com>
81935
81936         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
81937
81938 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81939
81940         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
81941         Problem reported by Juan Manuel Guerrero.
81942
81943 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81944
81945         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
81946         the unistd module.
81947         * lib/getlogin_r.c: Likewise.
81948         * lib/getlogin_r.h: Likewise.
81949         * lib/glob.c: Likewise.
81950         * lib/pagealign_alloc.c: Likewise.
81951         * lib/unistd_.h: Remove; no longer needed.
81952
81953 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         * MODULES.html.sh (Support for systems lacking POSIX:2001):
81956         Add unistd.
81957         * modules/c-stack (Depends-on): Add unistd.
81958         * modules/getlogin_r: Likewise.
81959         * modules/glob: Likewise.
81960         * modules/pagealign_alloc: Likewise.
81961         * modules/unistd (Files): Remove lib/unistd_.h.
81962         (EXTRA_DIST): Remove.
81963         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
81964         need unistd_.h.
81965         (MOSTLYCLEANFILES): Remove unistd.h-t.
81966
81967 2006-03-03  Simon Josefsson  <jas@extundo.com>
81968
81969         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
81970
81971 2006-03-03  Simon Josefsson  <jas@extundo.com>
81972
81973         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
81974         libidn and bison.
81975
81976 2006-03-03  Simon Josefsson  <jas@extundo.com>
81977
81978         * build-aux/maint.mk: Add indent target.
81979
81980 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
81981
81982         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
81983         our replacement poll.h in any case, to avoid a differing
81984         declaration from a system header.  Seen on AIX.
81985
81986 2006-03-01  Simon Josefsson  <jas@extundo.com>
81987
81988         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
81989         <kasal@ucw.cz>.
81990
81991 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81992
81993         * modules/gettime (Depends-on): Add extensions module.
81994         * modules/nanosleep (Depends-on): Likewise.
81995         * modules/settime (Depends-on): Likewise.
81996
81997 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81998
81999         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82000         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82001         pedantically.
82002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82003         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82004
82005         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82006         not "==".  Reported by Ralf Wildenhues.
82007
82008 2006-03-01  Karl Berry  <karl@gnu.org>
82009
82010         * doc/Copyright/request-*: new files, synced from gnuorg.
82011
82012 2006-03-01  Karl Berry  <karl@gnu.org>
82013
82014         * config/srclist.txt (Copyright/*): new entries.
82015
82016 2006-02-28  Simon Josefsson  <jas@extundo.com>
82017
82018         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82019
82020 2006-02-27  Simon Josefsson  <jas@extundo.com>
82021
82022         * lib/base64.h: Indent #define's.  From Jim Meyering
82023         <jim@meyering.net>.
82024
82025 2006-02-27  Jim Meyering  <jim@meyering.net>
82026
82027         Revert the change of 2006-02-24, so these files can continue
82028         to be sync'd from gettext.
82029         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82030         of `config.h'.
82031
82032 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82033
82034         * modules/intprops: New file.
82035         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82036         Add intprops.
82037         * modules/getloadavg (Files): Remove lib/intprops.h.
82038         (Depends-on): Add intprops.
82039         * modules/human: Likewise.
82040         * modules/inttostr: Likewise.
82041         * modules/openat: Likewise.
82042         * modules/sig2str: Likewise.
82043         * modules/userspec: Likewise.
82044         * modules/utimecmp: Likewise.
82045         * modules/xnanosleep: Likewise.
82046         * modules/xstrtol: Likewise.
82047
82048 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82049
82050         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82051         * modules/lock-tests (TESTS): Use $(EXEEXT).
82052         * modules/tls-tests: Likewise.
82053         * modules/argp-tests: Likewise.
82054         (check_PROGRAMS): New var, replacing...
82055         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82056
82057 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82058
82059         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82060         `config.h'.
82061
82062 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82063
82064         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82065
82066 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82067
82068         Sync from coreutils.
82069         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82070         gl_CHDIR_SAFER.
82071
82072 2006-02-22  Jim Meyering  <jim@meyering.net>
82073
82074         Sync from coreutils.
82075         * m4/chdir-safer.m4: New file.
82076
82077 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82078
82079         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82080         AT_FDCWD exceeds INT_MAX.
82081         * lib/openat.h (AT_FDCWD): Likewise.
82082
82083 2006-02-17  Eric Blake  <address@hidden>
82084
82085         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82086
82087 2006-02-16  Simon Josefsson  <jas@extundo.com>
82088
82089         * modules/getaddrinfo (Depends-on): Add sys_socket.
82090
82091 2006-02-15  Simon Josefsson  <jas@extundo.com>
82092
82093         * build-aux/maint.mk: Add dsyntax-check rule.
82094
82095 2006-02-15  Eric Blake  <ebb9@byu.net>
82096
82097         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82098         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82099         'present but cannot compile' warnings on cygwin.
82100         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82101         use ws2tcpip.h if sys/socket.h works.
82102         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82103         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82104
82105 2006-02-14  Simon Josefsson  <jas@extundo.com>
82106
82107         * modules/maintainer-makefile (Files): Rename.
82108
82109         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82110         and (the local) Makefile.cfg to maint-cfg.mk.
82111
82112         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82113         to the latter.
82114
82115         * modules/maintainer-makefile: New module.
82116
82117         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82118         severaly stripped to make it possible to build it up from scratch
82119         with reliable tests.
82120
82121         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82122         fixes to permit overriding the default actions when configure and
82123         makefile are not available.
82124
82125 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82126
82127         Sync from coreutils.
82128         * modules/lstat (Depends-on): Don't depend on xalloc.
82129         (License): Change from GPL to LGPL, since this is now simply a
82130         replacement for a libc function.
82131
82132 2006-02-14  Jim Meyering  <jim@meyering.net>
82133
82134         Sync from coreutils.
82135
82136         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82137         failure on deficient systems, and simplify gnulib lgpl dependencies.
82138         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82139         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82140
82141         * lib/xalloc-die.c: Remove unused definition of N_.
82142
82143 2006-02-14  Jim Meyering  <jim@meyering.net>
82144
82145         Sync from coreutils.
82146         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82147         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82148         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82149         double-quote uses of that variable, to accommodate the rare case in
82150         which getmntent is available in none of the libraries checked.  This
82151         happens at least on FreeBSD 5.0.
82152
82153 2006-02-13  Simon Josefsson  <jas@extundo.com>
82154
82155         * gnulib-tool (Usage): Fix --import, from
82156         karl@freefriends.org (Karl Berry).
82157
82158 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82159
82160         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82161
82162 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82163
82164         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82165         "autoupdate" on 2005-12-12.
82166
82167 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82168
82169         * modules/closeout (Depends-on): Remove atexit.
82170
82171 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82174         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82175
82176 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82177
82178         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82179         __EXTENSIONS__ if this causes compilation to fail.  Problem
82180         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82181         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82182
82183 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82184
82185         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82186         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82187         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82188         All uses changed.
82189
82190 2006-01-26  Simon Josefsson  <jas@extundo.com>
82191
82192         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82193         prototype is visible on mingw32.
82194
82195         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82196         for mingw32.
82197
82198         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82199         mingw32).
82200
82201 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82202
82203         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82204         attempt to open for write; this always fails, at least on POSIX
82205         hosts.  This reinstates the 2006-01-09 change, which was
82206         inadvertently removed.
82207
82208 2006-01-26  Bruno Haible  <bruno@clisp.org>
82209
82210         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82211         Reported by Paul Eggert.
82212
82213 2006-01-26  Bruno Haible  <bruno@clisp.org>
82214             Paul Eggert  <eggert@cs.ucla.edu>
82215
82216         * lib/stdbool_.h (_Bool)
82217         [(! (defined __cplusplus || defined __BEOS__)
82218           && !defined __GNUC__
82219           && !(defined __HP_cc || defined __xlc__
82220                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82221                || defined __sgi))]:
82222         #define to signed char in these cases too; this simplifies
82223         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82224         etc., separately) and makes it more conservative.
82225
82226 2006-01-25  Simon Josefsson  <jas@extundo.com>
82227
82228         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82229         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82230         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82231
82232 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82233
82234         * lib/argp-namefrob.h: Bugfix. Remove stray #
82235
82236 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82237
82238         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82239         so that we test the test.
82240         Check for yet another HP-UX cc bug involving *bool |= bool.
82241
82242 2006-01-25  Karl Berry  <karl@gnu.org>
82243
82244         * config/srclist.txt (vasnprintf.c): sync lost.
82245
82246 2006-01-25  Jim Meyering  <jim@meyering.net>
82247
82248         Sync from the stable (b5) branch of coreutils:
82249
82250         * lib/fts.c (fts_children): Don't let close() clobber errno from
82251         failed fchdir().
82252
82253         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82254         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82255         a dangling symlink.  That can also happen at least for ELOOP.
82256         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82257         FYI, this bug predates the inclusion of fts.c in coreutils.
82258
82259         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82260         in their own block, so pre-c99 compilers don't object.
82261
82262         Avoid the double-free (first in fts_read, second in fts_close) that
82263         would occur when an `active' directory is made inaccessible (e.g.,
82264         via chmod a-x) during a traversal.
82265         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82266         before returning.  Reproduce this failure by
82267         mkdir -p a/b; cd a; chmod a-x . b
82268         Reported by Stavros Passas.
82269
82270 2006-01-25  Jim Meyering  <jim@meyering.net>
82271
82272         * lib/fileblocks.c: Remove more useless parentheses.
82273         * lib/readutmp.h: Likewise.
82274
82275 2006-01-25  Bruno Haible  <bruno@clisp.org>
82276
82277         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82278         warnings.
82279         Reported by Paul Eggert.
82280
82281 2006-01-25  Bruno Haible  <bruno@clisp.org>
82282
82283         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82284         rid of a trap command. For Solaris sh.
82285         Reported by Mark D. Baushke <mdb@gnu.org>.
82286
82287 2006-01-24  Simon Josefsson  <jas@extundo.com>
82288
82289         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82290         Bruno.
82291
82292 2006-01-24  Karl Berry  <karl@gnu.org>
82293
82294         * config/srclist.txt (argp-namefrob.h): sync lost.
82295
82296 2006-01-24  Jim Meyering  <jim@meyering.net>
82297
82298         * modules/openat (Files): Add lib/intprops.h.
82299         From Mark D. Baushke.
82300
82301 2006-01-24  Jim Meyering  <jim@meyering.net>
82302
82303         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82304         Reported by Mark D. Baushke.
82305
82306 2006-01-24  Jim Meyering  <jim@meyering.net>
82307
82308         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82309
82310 2006-01-24  Bruno Haible  <bruno@clisp.org>
82311
82312         * modules/strnlen (Maintainer): Change from glibc to all.
82313
82314 2006-01-24  Bruno Haible  <bruno@clisp.org>
82315
82316         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82317         Patch by Paul Eggert.
82318
82319 2006-01-24  Bruno Haible  <bruno@clisp.org>
82320
82321         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82322         already has it.
82323         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82324         2005-11-26.
82325
82326         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82327         'signed char' to avoid problems with the built-in _Bool type.
82328         Reported by Paul Eggert on 2005-11-26.
82329
82330 2006-01-24  Bruno Haible  <bruno@clisp.org>
82331
82332         * gnulib-tool (func_import): Avoid constructing complicated sed
82333         expressions inside backquote.
82334         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82335
82336 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82337
82338         These changes imported from libc.
82339         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82340         test and two separate function calls.
82341         * lib/strndup.c (__strndup): Add libc_hidden_def.
82342
82343 2006-01-23  Simon Josefsson  <jas@extundo.com>
82344
82345         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82346         Remove the test_*_SOURCES variable: automake infers it by default.
82347         * modules/tls-tests: Likewise.
82348
82349 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82350
82351         Work around porting bugs reported by Dieter in
82352         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82353         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82354         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82355         Include "getopt.h" first, to check interface.
82356         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82357         !HAVE_DECL_GETENV.
82358         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82359         (__strndup): Revert to K&R-style function dfns, the glibc style.
82360         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82361         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82362         Include strnlen.h first, to get prototype properly.
82363         (strnlen): Renamed from __strnlen.
82364         Remove weak alias.
82365
82366 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82367
82368         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82369
82370 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82371
82372         * config/srclist.txt: Adjust to reflect glibc reorganization.
82373         This affects only comments.
82374
82375 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82376
82377          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82378          Reported by Bruce Korb <bkorb@gnu.org>.
82379
82380 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82381
82382         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82383         to pacify gcc -Wswitch-default.
82384
82385 2006-01-22  Bruno Haible  <bruno@clisp.org>
82386
82387         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82388         temporary buffer for sprintf, take into account the precision also
82389         for 'd', 'i', 'u', 'o', 'x', 'X'.
82390
82391 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82392
82393         * modules/argp-tests: New module
82394         * tests/test-argp.c: New file
82395         * tests/test-argp-2.sh: New file
82396
82397 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82398
82399         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82400         (__argp_base_name): Removed
82401         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82402         typo.
82403         (__argp_base_name): Provide macro definition or extern declaration
82404         depending on the configuration
82405
82406 2006-01-20  Simon Josefsson  <jas@extundo.com>
82407
82408         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82409
82410 2006-01-20  Simon Josefsson  <jas@extundo.com>
82411
82412         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82413
82414 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82415
82416         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82417         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82418         Suggested by Bruno Haible.
82419
82420 2006-01-20  Karl Berry  <karl@gnu.org>
82421
82422         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82423         until changes propagate, I guess.
82424
82425 2006-01-19  Simon Josefsson  <jas@extundo.com>
82426
82427         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82428
82429 2006-01-19  Simon Josefsson  <jas@extundo.com>
82430
82431         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82432
82433 2006-01-19  Simon Josefsson  <jas@extundo.com>
82434
82435         * gnulib-tool: Set check_PROGRAMS.
82436
82437         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82438         modules/des-tests, modules/gc-arcfour-tests,
82439         modules/gc-arctwo-tests, modules/gc-des-tests,
82440         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82441         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82442         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82443         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82444         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82445         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82446         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82447         test_*_SOURCES.
82448
82449 2006-01-18  Simon Josefsson  <jas@extundo.com>
82450
82451         * modules/socklen (Depends-on): Depend on sys_socket.
82452
82453 2006-01-18  Simon Josefsson  <jas@extundo.com>
82454
82455         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82456         modules/des-tests, modules/gc-arcfour-tests,
82457         modules/gc-arctwo-tests, modules/gc-des-tests,
82458         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82459         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82460         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82461         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82462         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82463         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82464         $(EXEEXT) to automake TESTS variable, for mingw32.
82465
82466 2006-01-17  Simon Josefsson  <jas@extundo.com>
82467
82468         * modules/socklen (Include): Need sys/socket.h.
82469
82470 2006-01-17  Bruno Haible  <bruno@clisp.org>
82471
82472         * modules/ssize_t (Include): Add <sys/types.h>.
82473
82474 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82475
82476         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82477         it's not portable and it doesn't work with cross-compiles.
82478         Problem reported by Bruno Haible.  Fix missing-$ typo in
82479         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82480         -zignore from being used with Sun's C compiler.
82481
82482 2006-01-12  Simon Josefsson  <jas@extundo.com>
82483
82484         * lib/base64.c: Fix warning, reported by Bruno Haible
82485         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82486
82487 2006-01-12  Bruno Haible  <bruno@clisp.org>
82488
82489         * modules/ldd: New file.
82490         * build-aux/ldd.sh.in: New file.
82491         * MODULES.html.sh (Support for building libraries and executables): Add
82492         ldd.
82493
82494 2006-01-12  Bruno Haible  <bruno@clisp.org>
82495
82496         * m4/ldd.m4: New file.
82497
82498 2006-01-12  Bruno Haible  <bruno@clisp.org>
82499
82500         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82501         endless loop while replacing $auxdir with build-aux.
82502
82503 2006-01-11  Simon Josefsson  <jas@extundo.com>
82504
82505         * lib/stdint_.h (SIZE_MAX): Add missing (.
82506
82507 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82508
82509         Sync from coreutils.
82510         * lib/md5.c: Fix commentary typos.
82511         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82512         * lib/md5.h (__attribute__): Remove; unused.
82513         * lib/sha1.c: Fix commentary to match md5 better.
82514         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82515         so that we don't need to worry about alignment.  All uses changed.
82516         This merges the 2005-10-28 md5 change into sha1.
82517
82518 2006-01-11  Jim Meyering  <jim@meyering.net>
82519
82520         Sync from coreutils.
82521         * lib/md5.c (OP): Fix spacing.
82522
82523 2006-01-11  Bruno Haible  <bruno@clisp.org>
82524
82525         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82526         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82527         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82528
82529 2006-01-11  Bruno Haible  <bruno@clisp.org>
82530
82531         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82532         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82533         the "early" section as well.
82534
82535 2006-01-11  Bruno Haible  <bruno@clisp.org>
82536
82537         Avoid "ar: no archive members specified" error on MacOS X.
82538         * gnulib-tool (func_modules_add_dummy): New function.
82539         (func_import, func_create_testdir): Invoke it.
82540
82541 2006-01-11  Bruno Haible  <bruno@clisp.org>
82542
82543         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82544         with $auxdir in AC_CONFIG_FILES statements.
82545
82546 2006-01-11  Bruno Haible  <bruno@clisp.org>
82547
82548         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82549         Initialize also noinst_HEADERS to empty.
82550
82551 2006-01-11  Bruno Haible  <bruno@clisp.org>
82552
82553         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82554         variables.
82555         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82556         autoreconf.
82557
82558 2006-01-11  Bruno Haible  <bruno@clisp.org>
82559
82560         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82561         overridable by the user.
82562         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82563
82564 2006-01-10  Simon Josefsson  <jas@extundo.com>
82565
82566         * modules/sys_socket: New file.
82567
82568 2006-01-10  Simon Josefsson  <jas@extundo.com>
82569
82570         * m4/sys_socket_h.m4: New file.
82571
82572 2006-01-10  Simon Josefsson  <jas@extundo.com>
82573
82574         * lib/socket_.h: New file.
82575
82576 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82577
82578         * modules/readutmp (Maintainer): Add myself.
82579
82580 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82581
82582         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82583         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82584         People who are still concerned with buggy memcmp implementations
82585         can invoke gl_FUNC_MEMCMP themselves.
82586
82587 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82588
82589         * lib/regex_internal.h (BITSET_WORD_BITS):
82590         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82591         preprocessor mishandles large unsigned values as if they were signed.
82592         Problem reported by Claudio Fontana in
82593         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82594
82595 2006-01-10  Jim Meyering  <jim@meyering.net>
82596
82597         Avoid the double-free (first in fts_read, second in fts_close) that
82598         would occur when an `active' directory is made inaccessible (e.g.,
82599         via chmod a-x) during a traversal.
82600         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82601         before returning.  Reproduce this failure by
82602         mkdir -p a/b; cd a; chmod a-x . b
82603         Reported by Stavros Passas.
82604
82605         Sync from coreutils.
82606         * lib/sha1.c: Tweak grammar in a comment.
82607
82608 2006-01-10  Jim Meyering  <jim@meyering.net>
82609
82610         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82611         Patch by Joerg Sonnenberger.
82612
82613 2006-01-10  Bruno Haible  <bruno@clisp.org>
82614
82615         * modules/readutmp: Depend on module free.
82616         * modules/strtok_r: Depend on module restrict.
82617
82618 2006-01-10  Bruno Haible  <bruno@clisp.org>
82619
82620         * modules/gettext (configure.ac): Add an invocation of
82621         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82622
82623 2006-01-10  Bruno Haible  <bruno@clisp.org>
82624
82625         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82626         Reported by Werner Lemberg <wl@gnu.org>.
82627
82628 2006-01-10  Bruno Haible  <bruno@clisp.org>
82629
82630         * lib/localcharset.c: Update from GNU gettext.
82631
82632 2006-01-10  Bruno Haible  <bruno@clisp.org>
82633
82634         * lib/argp.h (__const): Remove macro. Use const instead.
82635         * lib/argp-fmtstream.h (__const): Likewise.
82636         * lib/glob_.h (__const): Remove macro.
82637         * lib/glob-libc.h: Use const instead of __const.
82638
82639 2006-01-10  Bruno Haible  <bruno@clisp.org>
82640
82641         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82642         variable.
82643         Needed to avoid an automake error regarding the 'gettext' module.
82644
82645 2006-01-09  Simon Josefsson  <jas@extundo.com>
82646
82647         * modules/inet_ntop (Depends-on): Add restrict.
82648
82649 2006-01-09  Simon Josefsson  <jas@extundo.com>
82650
82651         * modules/gc-rijndael-tests (License): Put under LGPL.
82652
82653         * modules/gc-des-tests (License): Likewise.
82654
82655         * modules/gc-arcfour-tests (License): Likewise.
82656
82657         * modules/gc-arctwo-tests (License): Likewise.
82658
82659         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82660
82661         * modules/gc-hmac-sha1-tests (Files): Likewise.
82662
82663         * modules/gc-hmac-md5-tests (License): Likewise.
82664
82665         * modules/gc-sha1-tests (License): Likewise.
82666
82667         * modules/gc-md5-tests (License): Likewise.
82668
82669         * modules/gc-md4-tests (License): Likewise.
82670
82671         * modules/gc-md2-tests (License): Likewise.
82672
82673         * modules/gc-tests (License): Likewise.
82674
82675         * modules/des-tests (License): Likewise.
82676
82677         * modules/md4-tests (License): Likewise.
82678
82679         * modules/md2-tests (License): Likewise.
82680
82681 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82682
82683         Sync from coreutils:
82684
82685         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82686         * modules/lib-ignore: New file.
82687         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82688         chdir-safer.m4, lchmod.m4.
82689         * modules/openat: Add mkdirat.c, openat-priv.h.
82690
82691 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82692
82693         Sync from coreutils.
82694         * m4/lib-ignore.m4: New file.
82695         * m4/lchmod.m4: New file.
82696
82697 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82698
82699         Sync from coreutils.
82700         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82701         for write access: POSIX says that must fail.
82702         * lib/fts.c (diropen): Likewise.
82703         * lib/save-cwd.c (save_cwd): Likewise.
82704         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82705         well, for minor improvements on hosts that lack O_DIRECTORY.
82706         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82707         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82708         Fall back on chown if open failed with EACCES.
82709
82710         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
82711         Report an error at compile-time if only a 1-second nominal clock
82712         resolution is found.
82713
82714         * lib/lchmod.h: New file.
82715         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
82716         (make_dir_parents): Use lchown rather than chown, and
82717         lchmod rather than chmod.
82718
82719         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
82720         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
82721         "proc" reported by n0dalus.
82722
82723         * lib/mountlist.c: Include <limits.h>.
82724         (dev_from_mount_options)
82725         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
82726         New function.  It no longer assumes "dev=" has the System V meaning
82727         on Linux (since it doesn't).  It also parses "dev=" more carefully.
82728         (read_file_system_list)
82729         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
82730         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
82731         dev= in that case.
82732
82733         * lib/posixtm.h (PDS_PRE_2000): New macro.
82734         * lib/posixtm.c (year): Arg is now syntax_bits rather than
82735         allow_century.  All usages changed.  Reject dates outside the range
82736         1969-1999 if PDS_PRE_2000 is used.
82737
82738 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82739
82740         Sync from coreutils.
82741         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
82742         (Time of day items): Mention the possibility of leap seconds.
82743         Problem reported by Dr. David Alan Gilbert.
82744
82745 2006-01-09  Jim Meyering  <jim@meyering.net>
82746
82747         Sync from coreutils.
82748
82749         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
82750
82751         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
82752
82753         * lib/modechange.c (mode_compile): Reject an invalid mode string
82754         that starts with an octal digit.  From Andreas Gruenbacher.
82755
82756         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
82757         and dup to open_safer and dup_safer, respectively.
82758         (openat_permissive): Fix typo in comment.
82759
82760         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
82761         "gettext.h"; either no longer needed or are guaranteed by openat.h.
82762         (_): Remove; no longer needed.
82763         (openat): Renamed from rpl_openat; no need for rpl_openat
82764         since openat.h renames openat for us.
82765         Replace most of the body with a call to openat_permissive,
82766         to avoid duplicate code.
82767         Port to (probably hypothetical) environments were mode_t is
82768         wider than int.
82769         (openat_permissive): Require mode arg, so that we can check
82770         types better.  Put it just after flags.  Change cwd failure
82771         indicator from pointer-to-bool to pointer-to-errno-value.
82772         All callers changed.
82773         Invoke openat_save_fail and/or openat_restore_fail if
82774         cwd_errno is null, so that openat can call us.
82775         (openat_permissive, fdopendir, fstatat, unlinkat):
82776         Simplify errno handling to avoid some duplicate code,
82777         as it's OK to set errno on success.
82778         * lib/openat.h: Revamp code so that function macros depend on
82779         __OPENAT_PREFIX only, not also on AT_FDCWD.
82780         (openat_ro): Remove.  Caller changed to use openat_permissive.
82781         (openat_permissive): Now a macro, if not a function.
82782         (openat_restore_fail, openat_save_fail): Now always functions,
82783         since mkdirat needs them even if __OPENAT_PREFIX is defined.
82784
82785         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
82786         and openat.c.
82787         * lib/mkdirat.c: Include openat-priv.h.
82788         Remove definitions of macros defined therein.
82789         * lib/openat.c: Likewise.
82790
82791         * lib/mkdirat.c (mkdirat): New file and function.
82792         * lib/openat.h (mkdirat): Declare.
82793
82794         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
82795
82796         * lib/openat.h (openat_permissive): Declare.
82797         (openat_ro): Define.
82798
82799         * lib/openat.c (EXPECTED_ERRNO): New macro.
82800         (openat_permissive): New function -- used in remove.c rewrite.
82801         (all functions): Set errno just before returning, only if there
82802         was an actual failure.
82803         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
82804
82805         Emulate openat-family functions using Linux's procfs, if possible.
82806         Idea and some code based on Ulrich Drepper's glibc changes.
82807
82808         * lib/openat.c: (BUILD_PROC_NAME): New macro.
82809         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
82810         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
82811         before falling back on save_cwd and restore_cwd.
82812         (fdopendir, fstatat, unlinkat): Likewise.
82813
82814         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
82815         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
82816
82817         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
82818         as second argument to va_arg.  Otherwise, some versions of gcc
82819         warn that `if this code is reached, the program will abort'.
82820
82821 2006-01-09  Jim Meyering  <jim@meyering.net>
82822
82823         Sync from coreutils.
82824         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
82825         Require openat-priv.h.
82826
82827 2006-01-09  Bruno Haible  <bruno@clisp.org>
82828
82829         * modules/strnlen (Include): Use strnlen.h.
82830
82831 2006-01-09  Bruno Haible  <bruno@clisp.org>
82832
82833         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
82834
82835 2006-01-09  Bruno Haible  <bruno@clisp.org>
82836
82837         * lib/sysexit_.h (EX_OK): New macro.
82838         Suggested by Martin Lambers <marlam@marlam.de>.
82839
82840 2006-01-09  Bruno Haible  <bruno@clisp.org>
82841
82842         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
82843         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
82844
82845 2006-01-09  Bruno Haible  <bruno@clisp.org>
82846
82847         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
82848         numbers.
82849
82850 2006-01-09  Bruno Haible  <bruno@clisp.org>
82851
82852         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
82853         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
82854         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
82855         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
82856
82857 2006-01-09  Bruno Haible  <bruno@clisp.org>
82858
82859         * build-aux/javacomp.sh.in: New file, moved from lib/.
82860         * modules/javacomp-script (Files): Update.
82861         (configure.ac): Add AC_CONFIG_FILES invocation.
82862         (EXTRA_DIST): Remove variable.
82863
82864         * build-aux/javaexec.sh.in: New file, moved from lib/.
82865         * modules/javaexec (Files): Update.
82866         (configure.ac): Add AC_CONFIG_FILES invocation.
82867         (EXTRA_DIST): Remove javaexec.sh.in.
82868
82869         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
82870         * modules/csharpcomp-script (Files): Update.
82871         (configure.ac): Add AC_CONFIG_FILES invocation.
82872         (EXTRA_DIST): Remove variable.
82873
82874         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82875         * modules/csharpexec (Files): Update.
82876         (configure.ac): Add AC_CONFIG_FILES invocation.
82877         (EXTRA_DIST): Remove csharpexec.sh.in.
82878
82879 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82880
82881         Sync from coreutils.
82882
82883         Add POSIX ACL support
82884         * lib/acl.h (copy_acl, set_acl): Add declarations.
82885         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
82886         systems other than Linux.
82887         (chmod_or_fchmod): New function: use fchmod when possible,
82888         and chmod otherwise.
82889         (file_has_acl): Add a POSIX ACL implementation, with a
82890         Linux-specific subcase.
82891         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
82892         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
82893         acls are unsupported.
82894         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
82895         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
82896         are unsupported.
82897
82898 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82899
82900         Sync from coreutils.
82901         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
82902
82903 2006-01-07  Bruno Haible  <bruno@clisp.org>
82904
82905         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
82906         gl_EARLY.
82907
82908 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82909
82910         * lib/strftime.c (tzname): Don't declare if it is already #defined.
82911         Problem reported for Mingw by Mark Junker.
82912
82913 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82914
82915         * README: Gnulib normally doesn't generate a tarball.
82916
82917 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
82918
82919         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
82920         long int, not int, for nanosecond counts, so that people who are
82921         used to POSIX struct timespec won't be surprised.  Reported by Jim
82922         Meyering.
82923
82924 2005-12-28  Bruno Haible  <bruno@clisp.org>
82925
82926         * build-aux/config.rpath: Update from GNU gettext.
82927
82928 2005-12-16  Jim Meyering  <jim@meyering.net>
82929
82930         * modules/fprintftime: New module.
82931         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
82932
82933 2005-12-16  Jim Meyering  <jim@meyering.net>
82934
82935         * m4/fprintftime.m4: New file.
82936
82937 2005-12-16  Jim Meyering  <jim@meyering.net>
82938
82939         * lib/fprintftime.c, lib/fprintftime.h: New files.
82940
82941 2005-12-15  Simon Josefsson  <jas@extundo.com>
82942
82943         * modules/socklen (configure.ac): Fix M4 macro name, to align with
82944         new m4/socklen.m4.
82945
82946 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82947
82948         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
82949         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
82950
82951 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82952
82953         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
82954         * lib/argp-help.c (fill_in_uparams): Check if the constructed
82955         struct uparams is valid. Fall back to the default values if it is
82956         not.
82957
82958 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82959
82960         * modules/argp (Files): Add argp-pin.c
82961         (Depends-on): dirname
82962         (lib_SOURCES): Add argp-pin.c
82963
82964 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82965
82966         * m4/argp.m4:  Check if program_invocation_name and
82967         program_invocation_short_name are declared and define appropriate
82968         macros if they are not.
82969
82970 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82971
82972         * lib/argp-help.c (__argp_base_name): New function
82973         (__argp_short_program_name): Rewrite using __argp_base_name
82974         * lib/argp-namefrob.h: Define program_invocation_name and
82975         program_invocation_short_name if requested
82976         (__argp_base_name): Add prototype
82977         * lib/argp-parse.c (argp_def): Use gettext wrappers
82978         (argp_default_parser): Use __argp_base_name
82979         * lib/argp-pin.c: New file. Defines program_invocation_name and
82980         program_invocation_short_name on systems that lack them.
82981
82982 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82983
82984         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
82985         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82986         porting problem reported by Georg Schwarz in
82987         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82988
82989 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82990
82991         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
82992         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82993         porting problem reported by Georg Schwarz in
82994         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82995
82996 2005-12-05  Bruno Haible  <bruno@clisp.org>
82997
82998         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
82999         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83000         Reported by Mark Junker <mjscod@gmx.de>.
83001
83002 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83003
83004         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83005         Use implementation from Albert Chin, with some
83006         comments/corrections by Stepan Kasal and myself.
83007
83008 2005-12-02  Bruno Haible  <bruno@clisp.org>
83009
83010         * gnulib-tool (func_import): Accept GPLed build tool modules when
83011         --lgpl is given.
83012         * modules/csharpcomp-script: New file.
83013         * modules/csharpcomp: Depend on it.
83014         * modules/javacomp-script: New file.
83015         * modules/javacomp: Depend on it.
83016         Suggested by Simon Josefsson.
83017
83018 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83019
83020         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83021         statement, to work around an HP-UX 10.20 compiler bug reported by
83022         Peter O'Gorman.
83023
83024 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83025
83026         * modules/savedir (Depends-on): Add openat.
83027
83028 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83031         (uintmax_t) [defined uintmax_t]: Do not declare.
83032         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83033         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83034         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83035         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83036         sake of portability to weird hosts that C allows (though we don't
83037         know of any practical examples).
83038
83039         * lib/savedir.h (fdsavedir): New decl.
83040         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83041         contains most of the former guts of savedir.
83042         (savedir): Use savedirstream.
83043         Include "openat.h".
83044
83045 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83046
83047         * modules/obstack (Files): Add m4/ulonglong.m4.
83048         Problem reported by Davide Angelocola.
83049
83050 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83051
83052         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83053         coreutils no longer futzes with rounding modes.
83054
83055 2005-11-14  Jim Meyering  <jim@meyering.net>
83056
83057         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83058         replacement of mkstemp.
83059
83060 2005-11-10  Simon Josefsson  <jas@extundo.com>
83061
83062         * lib/readline.c: Remove EOL.
83063
83064 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83065
83066         * modules/gethrxtime (Depends-on): Add gettime.
83067
83068 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83069
83070         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83071         or gettimeofday; no longer needed.
83072
83073 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83074
83075         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83076         time business.
83077         (gethrxtime) [! (HAVE_NANOUPTIME
83078         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83079         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83080         our own approximation.
83081
83082 2005-11-08  Eric Blake  <ebb9@byu.net>
83083
83084         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83085
83086 2005-11-08  Eric Blake  <ebb9@byu.net>
83087
83088         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83089
83090 2005-11-04  Bruno Haible  <bruno@clisp.org>
83091
83092         * gnulib-tool: Implement --update mode.
83093
83094 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83095
83096         Fix porting problem reported by Theodoros V. Kalamatianos.
83097         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83098         Don't assume that futimes failing means we must fail.
83099
83100 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83101
83102         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83103         variables to suggest the intended function of the PATH_MAX check.
83104
83105 2005-10-30  Kean Johnston  <jkj@sco.com>
83106
83107         Trivial changes to support SCO systems.
83108         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83109         as PATH_MAX.
83110         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83111         where __ptr is null when no I/O is pending.
83112
83113 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83114
83115         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83116         leave errno alone.  Problem reported by Dmitry V. Levin.
83117
83118 2005-10-28  Simon Josefsson  <jas@extundo.com>
83119
83120         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83121         Test more.
83122
83123         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83124
83125         * modules/md2, modules/md2-tests: New files.
83126
83127 2005-10-28  Simon Josefsson  <jas@extundo.com>
83128
83129         * m4/inet_ntop.m4: More tests.
83130
83131         * m4/gc-md2.m4, md2.m4: New file.
83132
83133 2005-10-28  Simon Josefsson  <jas@extundo.com>
83134
83135         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83136         "restrict" keywords, as per POSIX.  Protect the function
83137         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83138         Don't use K&R prototypes.  Check the sprintf return values.
83139         Re-define EAFNOSUPPORT if not present.  Indent.
83140
83141         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83142         suggested by Bruno Haible <bruno@clisp.org>.
83143
83144         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83145
83146         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83147
83148         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83149         libgcrypt).
83150
83151         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83152
83153         * lib/md2.h, lib/md2.c: New files.
83154
83155 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83156
83157         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83158         errno alone.  Problem reported by Frederic Jolliton.
83159
83160 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83161
83162         * modules/verify (License): Change from GPL to LGPL.  This is a
83163         tiny module and there are apparently near-equivalents that are
83164         under the BSD license.
83165
83166 2005-10-24  Simon Josefsson  <jas@extundo.com>
83167
83168         * modules/sha1: Relicense to LGPL.
83169
83170 2005-10-24  Simon Josefsson  <jas@extundo.com>
83171
83172         * lib/md4.h: Shrink buffer size, now that we changed the type.
83173
83174 2005-10-23  Simon Josefsson  <jas@extundo.com>
83175
83176         * gnulib-tool (func_import): Fix --tests-base.
83177
83178 2005-10-22  Simon Josefsson  <jas@extundo.com>
83179
83180         * modules/arcfour (Depends-on): Need stdint.
83181
83182 2005-10-22  Simon Josefsson  <jas@extundo.com>
83183
83184         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83185         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83186
83187 2005-10-22  Simon Josefsson  <jas@extundo.com>
83188
83189         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83190         suggested by Bruno Haible <bruno@clisp.org>.
83191
83192 2005-10-22  Simon Josefsson  <jas@extundo.com>
83193
83194         * lib/crc.h: Include stddef.h, for size_t.
83195
83196 2005-10-22  Simon Josefsson  <jas@extundo.com>
83197
83198         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83199         arcfour_context struct (simplify test vector testing in GNU
83200         Shishi).
83201
83202 2005-10-21  Simon Josefsson  <jas@extundo.com>
83203
83204         * modules/des, modules/des-tests: New files.
83205
83206         * modules/gc-des, modules/gc-des-tests: New files.
83207
83208         * tests/test-des.c, tests/test-gc-des.c: New file.
83209
83210 2005-10-21  Simon Josefsson  <jas@extundo.com>
83211
83212         * modules/arctwo, modules/arctwo-tests: New files.
83213
83214         * tests/test-arctwo.c: New file.
83215
83216         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83217
83218         * tests/test-gc-arctwo.c: New file.
83219
83220 2005-10-21  Simon Josefsson  <jas@extundo.com>
83221
83222         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83223         Bruno Haible <bruno@clisp.org>.
83224
83225         * m4/gc-des.m4: New file.
83226
83227 2005-10-21  Simon Josefsson  <jas@extundo.com>
83228
83229         * m4/arctwo.m4: New file.
83230
83231         * m4/gc-arctwo.m4: New file.
83232
83233 2005-10-21  Simon Josefsson  <jas@extundo.com>
83234
83235         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83236         block.
83237
83238 2005-10-21  Simon Josefsson  <jas@extundo.com>
83239
83240         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83241         <bruno@clisp.org>.
83242
83243         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83244
83245         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83246         Bruno Haible <bruno@clisp.org>.
83247
83248         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83249         <bruno@clisp.org>.
83250
83251 2005-10-21  Simon Josefsson  <jas@extundo.com>
83252
83253         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83254
83255 2005-10-21  Simon Josefsson  <jas@extundo.com>
83256
83257         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83258
83259 2005-10-21  Simon Josefsson  <jas@extundo.com>
83260
83261         * lib/des.h, lib/des.c: New files.
83262
83263         * lib/gc-gnulib.c: Support DES.c
83264
83265 2005-10-21  Simon Josefsson  <jas@extundo.com>
83266
83267         * lib/arctwo.h, lib/arctwo.c: New files.
83268
83269         * lib/gc-gnulib.c: Support ARCTWO.
83270
83271 2005-10-21  Simon Josefsson  <jas@extundo.com>
83272
83273         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83274         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83275
83276 2005-10-21  Simon Josefsson  <jas@extundo.com>
83277
83278         * gnulib-tool (func_import, func_create_testdir): Define automake
83279         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83280         Makefile.am snippet),
83281         suggested by Bruno Haible <bruno@clisp.org>.
83282
83283         * modules/gc (Makefile.am): Use it.
83284
83285 2005-10-21  Bruno Haible  <bruno@clisp.org>
83286
83287         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83288         patch.
83289
83290 2005-10-19  Simon Josefsson  <jas@extundo.com>
83291
83292         * tests/test-gc-rijndael.c: New file.
83293
83294         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83295
83296 2005-10-19  Simon Josefsson  <jas@extundo.com>
83297
83298         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83299         interface too.
83300
83301 2005-10-19  Simon Josefsson  <jas@extundo.com>
83302
83303         * tests/test-gc-arcfour.c: New file.
83304
83305         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83306
83307 2005-10-19  Simon Josefsson  <jas@extundo.com>
83308
83309         * modules/gc-md4, modules/gc-md4-tests: New file.
83310
83311         * tests/test-gc-md4.c: New file.
83312
83313 2005-10-19  Simon Josefsson  <jas@extundo.com>
83314
83315         * m4/gc-md4.m4: New file.
83316
83317 2005-10-19  Simon Josefsson  <jas@extundo.com>
83318
83319         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83320         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83321         <kasal@ucw.cz>.
83322
83323 2005-10-19  Simon Josefsson  <jas@extundo.com>
83324
83325         * m4/gc-arcfour.m4: New file.
83326
83327         * m4/gc-rijndael.m4: New file.
83328
83329 2005-10-19  Simon Josefsson  <jas@extundo.com>
83330
83331         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83332
83333 2005-10-19  Simon Josefsson  <jas@extundo.com>
83334
83335         * lib/gc-gnulib.c: Support ARCFOUR.
83336
83337 2005-10-19  Simon Josefsson  <jas@extundo.com>
83338
83339         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83340         support.
83341
83342         * lib/gc.h: Add ECB enum type.
83343
83344         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83345
83346 2005-10-18  Simon Josefsson  <jas@extundo.com>
83347
83348         * tests/test-md5.c: New file.
83349
83350         * modules/md5-tests: New file.
83351
83352 2005-10-18  Simon Josefsson  <jas@extundo.com>
83353
83354         * tests/test-md4.c: New file.
83355
83356         * modules/md4, modules/md4-tests: New files.
83357
83358 2005-10-18  Simon Josefsson  <jas@extundo.com>
83359
83360         * m4/md4.m4: New file.
83361
83362 2005-10-18  Simon Josefsson  <jas@extundo.com>
83363
83364         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83365
83366 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83367
83368         * gnulib-tool (func_create_testdir): Omit the second check whether
83369         BUILT_SOURCES in nonempty.
83370
83371 2005-10-17  Simon Josefsson  <jas@extundo.com>
83372
83373         * tests/test-rijndael.c: New file.
83374
83375 2005-10-17  Simon Josefsson  <jas@extundo.com>
83376
83377         * modules/sha1: Depend on stdint instead of md5.
83378
83379         * modules/md5: Depend on stdint, remove uint32_t.
83380
83381 2005-10-17  Simon Josefsson  <jas@extundo.com>
83382
83383         * modules/gc-sha1-tests: New file.
83384
83385         * tests/test-gc-sha1.c: New file.
83386
83387 2005-10-17  Simon Josefsson  <jas@extundo.com>
83388
83389         * m4/md5.m4: Remove call to uint32_t.m4.
83390
83391 2005-10-17  Simon Josefsson  <jas@extundo.com>
83392
83393         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83394
83395         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83396         md5.h.
83397
83398         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83399
83400         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83401
83402 2005-10-17  Simon Josefsson  <jas@extundo.com>
83403
83404         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83405
83406 2005-10-17  Simon Josefsson  <jas@extundo.com>
83407
83408         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83409
83410 2005-10-17  Simon Josefsson  <jas@extundo.com>
83411
83412         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83413
83414         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83415
83416 2005-10-17  Bruno Haible  <bruno@clisp.org>
83417
83418         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83419         that it can also be used in a test.
83420
83421 2005-10-16  Bruno Haible  <bruno@clisp.org>
83422
83423         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83424         TESTS_ENVIRONMENT, so that individual tests can augment it.
83425
83426         * gnulib-tool (func_create_testdir): Use an intermediate target for
83427         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83428         macros, like $(ALLOCA_H), which cannot be passed through the command
83429         line.
83430
83431 2005-10-15  Simon Josefsson  <jas@extundo.com>
83432
83433         * modules/rijndael-tests: New file.
83434
83435         * modules/rijndael: New file.
83436
83437 2005-10-15  Simon Josefsson  <jas@extundo.com>
83438
83439         * m4/rijndael.m4: New file.
83440
83441 2005-10-15  Simon Josefsson  <jas@extundo.com>
83442
83443         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83444
83445         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83446
83447 2005-10-14  Simon Josefsson  <jas@extundo.com>
83448
83449         * tests/test-arcfour.c: New file.
83450
83451         * modules/arcfour, modules/arcfour-tests: New files.
83452
83453 2005-10-14  Simon Josefsson  <jas@extundo.com>
83454
83455         * m4/arcfour.m4: New file.
83456
83457 2005-10-14  Simon Josefsson  <jas@extundo.com>
83458
83459         * lib/arcfour.h, lib/arcfour.c: New files.
83460
83461 2005-10-14  Roland McGrath  <roland@redhat.com>
83462
83463         Import from libc.  [BZ #1331]
83464         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83465         macro argument.
83466         Reported by Matej Vela <vela@debian.org>.
83467
83468 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83469
83470         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83471         include <wchar.h>; no longer needed.
83472
83473 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83474
83475         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83476
83477 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83478         and  Ulrich Drepper  <drepper@redhat.com>
83479
83480         Import from libc.
83481         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83482         instead of inline stream orientation test and two separate
83483         function calls.  Pay no attention to USE_IN_LIBIO.
83484
83485 2005-10-13  Simon Josefsson  <jas@extundo.com>
83486
83487         * modules/gc-hmac-md5-tests: New file.
83488
83489         * tests/test-gc-hmac-sha1.c: New file.
83490
83491         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83492
83493         * modules/gc-hmac-md5-tests: New file.
83494
83495         * tests/test-gc-md5.c: New file.
83496
83497         * modules/gc-md5-tests: New file.
83498
83499 2005-10-13  Simon Josefsson  <jas@extundo.com>
83500
83501         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83502         Move memory allocation outside of loop.
83503
83504 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83505
83506         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83507         intermediate directory is in a read-only file system.  Problem
83508         reported by Eric Blake.
83509
83510 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83511
83512         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83513
83514 2005-10-12  Simon Josefsson  <jas@extundo.com>
83515
83516         * tests/test-hmac-sha1.c: New file.
83517
83518         * modules/hmac-sha1-tests: New file.
83519
83520         * modules/hmac-sha1: New file.
83521
83522 2005-10-12  Simon Josefsson  <jas@extundo.com>
83523
83524         * modules/gc-sha1: New file.
83525
83526 2005-10-12  Simon Josefsson  <jas@extundo.com>
83527
83528         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83529
83530         * tests/test-gc-pbkdf2-sha1.c: New file.
83531
83532 2005-10-12  Simon Josefsson  <jas@extundo.com>
83533
83534         * modules/gc-md5, modules/gc-hmac-md5: New files.
83535
83536         * modules/gc (Files): Remove md5, memxor and hmac files.
83537
83538 2005-10-12  Simon Josefsson  <jas@extundo.com>
83539
83540         * m4/gc-pbkdf2-sha1.m4: New file.
83541
83542         * m4/gc-hmac-sha1.m4: New file.
83543
83544         * m4/gc-sha1: New file.
83545
83546         * m4/hmac-sha1.m4: New file.
83547
83548 2005-10-12  Simon Josefsson  <jas@extundo.com>
83549
83550         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83551
83552         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83553
83554 2005-10-12  Simon Josefsson  <jas@extundo.com>
83555
83556         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83557         suggested by Bruno Haible <bruno@clisp.org>.
83558
83559 2005-10-12  Simon Josefsson  <jas@extundo.com>
83560
83561         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83562
83563 2005-10-12  Simon Josefsson  <jas@extundo.com>
83564
83565         * lib/gc-pbkdf2-sha1.c: New file.
83566
83567         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83568
83569 2005-10-12  Simon Josefsson  <jas@extundo.com>
83570
83571         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83572
83573         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83574
83575 2005-10-12  Simon Josefsson  <jas@extundo.com>
83576
83577         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83578         GC_USE_HMAC_MD5, respectively.
83579
83580         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83581         (gc_md5): Fix typo.
83582
83583         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83584
83585         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83586
83587         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83588
83589 2005-10-12  Bruno Haible  <bruno@clisp.org>
83590
83591         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83592         Reported by Stepan Kasal <kasal@ucw.cz>.
83593
83594 2005-10-11  Simon Josefsson  <jas@extundo.com>
83595
83596         * tests/test-crc.c: New file.
83597
83598         * modules/crc, modules/crc-tests: New files.
83599
83600 2005-10-11  Simon Josefsson  <jas@extundo.com>
83601
83602         * m4/crc.m4: New file.
83603
83604 2005-10-11  Simon Josefsson  <jas@extundo.com>
83605
83606         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83607
83608         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83609
83610         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83611
83612 2005-10-11  Simon Josefsson  <jas@extundo.com>
83613
83614         * lib/crc.h, lib/crc.c: New files.
83615
83616         * lib/gc.h (gc_hash_buffer): Add doc.
83617
83618 2005-10-11  Bruno Haible  <bruno@clisp.org>
83619
83620         * modules/c-strcasestr: New file.
83621         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83622
83623 2005-10-11  Bruno Haible  <bruno@clisp.org>
83624
83625         * modules/c-strcase: New file.
83626         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83627
83628 2005-10-11  Bruno Haible  <bruno@clisp.org>
83629
83630         * lib/strcasecmp.c: Include limits.h.
83631         (strcasecmp): Avoid integer overflow on exotic platforms.
83632         * lib/strncasecmp.c: Include limits.h.
83633         (strncasecmp): Avoid integer overflow on exotic platforms.
83634         Reported by Paul Eggert.
83635
83636 2005-10-11  Bruno Haible  <bruno@clisp.org>
83637
83638         * lib/c-strcasestr.h: New file, from GNU gettext.
83639         * lib/c-strcasestr.c: New file, from GNU gettext.
83640
83641 2005-10-11  Bruno Haible  <bruno@clisp.org>
83642
83643         * lib/c-strcase.h: New file, from GNU gettext.
83644         * lib/c-strcasecmp.c: New file, from GNU gettext.
83645         * lib/c-strncasecmp.c: New file, from GNU gettext.
83646
83647 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83648
83649         * modules/mempcpy (License): GPL -> LGPL.
83650         * modules/strchrnul (License): Likewise.
83651         * modules/sysexits (License): Likewise.
83652
83653 2005-10-08  Simon Josefsson  <jas@extundo.com>
83654
83655         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83656
83657 2005-10-07  Simon Josefsson  <jas@extundo.com>
83658
83659         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83660
83661 2005-10-06  Simon Josefsson  <jas@extundo.com>
83662
83663         * tests/test-hmac-md5.c: New file.
83664
83665         * modules/hmac-md5-tests: New file.
83666
83667         * modules/hmac-md5: New file.
83668
83669 2005-10-06  Simon Josefsson  <jas@extundo.com>
83670
83671         * m4/hmac-md5.m4: New file.
83672
83673         * m4/memxor.m4: Require gl_C_RESTRICT.
83674
83675 2005-10-06  Simon Josefsson  <jas@extundo.com>
83676
83677         * lib/memxor.c (memxor): Avoid casts and warnings.
83678
83679 2005-10-06  Simon Josefsson  <jas@extundo.com>
83680
83681         * lib/hmac-md5.c: New file.
83682
83683         * lib/hmac.h: New file.
83684
83685 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83686
83687         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83688         promotes to int, not unsigned int, to catch the AIX 5.3
83689         compiler bug.
83690
83691 2005-10-05  Simon Josefsson  <jas@extundo.com>
83692
83693         * modules/memxor: New file.
83694
83695         * modules/iconv (Files): Move config.rpath to havelib, it is used
83696         there.
83697
83698         * modules/havelib (Files): Add config.rpath.
83699
83700 2005-10-05  Simon Josefsson  <jas@extundo.com>
83701
83702         * m4/memxor.m4: New file.
83703
83704 2005-10-05  Simon Josefsson  <jas@extundo.com>
83705
83706         * lib/memxor.c (memxor): Fix compiler error.
83707
83708         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
83709         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
83710
83711         * lib/memxor.h, lib/memxor.c: New files.
83712
83713         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
83714         we assume all systems have it, suggested by Jim Meyering
83715         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
83716         any systems lack sys/socket.h; mingw32 is known to lack it, but we
83717         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
83718         same reasons.
83719
83720 2005-10-05  Simon Josefsson  <jas@extundo.com>
83721
83722         * config/srclist.txt: Add glibc bug 1423 for md5.h.
83723
83724 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
83725
83726         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
83727         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
83728         needed, since the source code now assumes these .h files.
83729
83730 2005-10-05  Derek Price  <derek@ximbiot.com>
83731
83732         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
83733
83734 2005-10-05  Bruno Haible  <bruno@clisp.org>
83735
83736         * modules/stdint (License): Change to LGPL.
83737
83738 2005-10-04  Simon Josefsson  <jas@extundo.com>
83739
83740         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
83741         D. Baushke" <mdb@gnu.org>.
83742
83743 2005-10-04  Bruno Haible  <bruno@clisp.org>
83744
83745         * lib/verify.h (verify_true): Provide alternative definition for C++.
83746
83747 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
83748
83749         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
83750         (SSIZE_MAX): New macro, if not already defined.
83751         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
83752         than 2 GiB.
83753
83754 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83755
83756         Sync from coreutils.
83757         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
83758         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
83759         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
83760         ULLONG_MAX doesn't work with 2.7.2.1.
83761
83762 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83763
83764         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
83765         From Ben Pfaff.
83766
83767         * modules/exclude (Depends-on): Depend on verify.
83768         * modules/strtoimax (Depends-on): Likewise.
83769         * modules/utimecmp (Depends-on): Likewise.
83770
83771 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83772
83773         * lib/exclude.c: Include verify.h.
83774         (verify): Remove.  All callers changed to use verify.h's version.
83775         * lib/strtoimax.c: Likewise.
83776         * lib/utimecmp.c: Likewis.e
83777
83778         Sync from coreutils.
83779         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
83780         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
83781         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
83782         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
83783         bother returning ENOSYS if settimeofday or stime fails; just let
83784         them return whatever errno they want to return.
83785         * lib/utimens.c: Include unistd.h, for dup2.
83786         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
83787         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
83788
83789 2005-10-02  Jim Meyering  <jim@meyering.net>
83790
83791         Sync from coreutils.
83792         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
83793         from glibc-2.2.5 that fails for read-only files.
83794
83795 2005-10-02  Jim Meyering  <jim@meyering.net>
83796
83797         Sync from coreutils.
83798         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
83799         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
83800         `#if HAVE_CONFIG_H'.
83801         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
83802         Remove AT_FDCWD test.
83803         Do not consume the fd unless successful.
83804         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
83805         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
83806         block, so that we don't even try to compile it if settimeofday is
83807         available.  This works around a compilation failure on OSF1 V5.1,
83808         due to stime requiring a `long int*' while tv_sec is `int'.
83809
83810 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
83811
83812         Sync from coreutils.
83813         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
83814         against `yes', rather than just testing for nonempty.
83815
83816 2005-10-01  Simon Josefsson  <jas@extundo.com>
83817
83818         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
83819         and Darwin.
83820
83821         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
83822         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
83823         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
83824         freeaddrinfo and gai_strerror are declared by the POSIX headers.
83825         Check if struct addrinfo is declared.
83826
83827 2005-10-01  Simon Josefsson  <jas@extundo.com>
83828
83829         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
83830         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
83831         AI_* and EAI_* definitions.  Protect function declarations.
83832
83833 2005-10-01  Jim Meyering  <jim@meyering.net>
83834
83835         Sync from coreutils.
83836
83837         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
83838         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
83839         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
83840         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83841         in the inet and nsl libraries.  Required on Solaris 5.7.
83842
83843 2005-10-01  Jim Meyering  <jim@meyering.net>
83844
83845         Sync from coreutils.
83846         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83847         in the inet and nsl libraries.  Required on Solaris 5.7.
83848
83849 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
83850
83851         * lib/getdelim.c (getdelim): Remove unused variables.
83852
83853 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
83854
83855         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
83856         so that the code works even with ancient cpp.  Portability problem
83857         with GCC 2.7.2.1 reported by Thomas M.Ott.
83858
83859 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
83860
83861         * modules/regex (Depends-on): Add strcase.
83862
83863         * modules/gethostname (Licence): Change from GPL to LGPL, since
83864         gethostname.c is a trivial implementation of a standard library
83865         function.
83866         * modules/poll (License): Change from GPL to LGPL, since it's
83867         derived from LGPL code.
83868
83869 2005-09-27  Jim Meyering  <jim@meyering.net>
83870
83871         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
83872         HAVE_CONFIG_H.
83873
83874         * lib/intprops.h (signed_type_or_expr__): Define.
83875         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83876         for unsigned types.
83877
83878 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83879
83880         * lib/verify.h (verify_expr): Remove, replacing with:
83881         (verify_true): New macro that returns true instead of void.
83882         (verify_type__): Remove.
83883         (verify): Use verify_true rather than verify_type__.
83884
83885 2005-09-26  Bruno Haible  <bruno@clisp.org>
83886
83887         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
83888         is necessary.
83889         (lib_SOURCES): Remove mbchar.c.
83890         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
83891         (Files): Add m4/mbrtowc.m4.
83892         * modules/mbiter: Likewise.
83893         * modules/mbuiter: Likewise.
83894
83895 2005-09-26  Bruno Haible  <bruno@clisp.org>
83896
83897         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
83898         compile mbchar.c if they are not both present.
83899         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
83900         * m4/mbiter.m4 (gl_MBITER): Likewise.
83901         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
83902         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
83903         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
83904
83905 2005-09-25  Jim Meyering  <jim@meyering.net>
83906
83907         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
83908         also uses socklen_t.
83909
83910 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
83911
83912         * lib/utimens.c (ENOSYS): Define if not already defined.
83913         (futimens): Support having a null PATH if the file descriptor
83914         is nonnegative.
83915
83916         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
83917         Remove.
83918         (__attribute): Define to empty unless GCC 3.1 or later.
83919         This works around a core dump on OpenBSD 3.4, which has GCC
83920         2.95.3, which dumps core when given __attribute__(()).  It also
83921         simplifies other tests, since we really don't want to bother with
83922         worrying about which ancient version of GCC supported what.
83923         Original problem reported by Yoann Vandoorselaere, with part of
83924         the fix suggested by Derek Price.
83925
83926 2005-09-24  Jim Meyering  <jim@meyering.net>
83927
83928         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
83929         so we can once again use a positive bitfield width of 1 -- now we
83930         don't have to explain why we were using a bitfield width of 2.
83931
83932 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83933
83934         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
83935         and similarly for the other external symbols.  Problem reported
83936         by James Gallager.
83937
83938         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
83939         bug reported by Jim Meyering.
83940
83941         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
83942         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
83943         not needed, since socklen is a prerequisite module.
83944
83945 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83946
83947         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
83948         Problem reported by Eric Blake.
83949         (getaddrinfo): Initialize se so that it's not garbage.
83950         Redo internal storage allocation so that it doesn't make unportable
83951         assumptions about alignment.
83952         Fix a memory leak.
83953
83954         * lib/utimens.c (futimens): Use futimesat if available.
83955         Prefer it to futimes since it doesn't have the futimes bug.
83956
83957         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
83958         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
83959         Instead, declare a function that returns a pointer to an array,
83960         and use verify_type__ to declare the size of the array.
83961         Problem and germ of a solution reported by Bruno Haible.
83962         (verify_type__): Use 2, not 1, for bitfield size, to avoid
83963         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
83964
83965 2005-09-23  Jim Meyering  <jim@meyering.net>
83966
83967         Sync from coreutils.
83968         Correct build failure (socklen_t not defined) on at least
83969         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
83970         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
83971
83972 2005-09-23  Jim Meyering  <jim@meyering.net>
83973
83974         * modules/getaddrinfo (Depends-on): Add socklen.
83975
83976 2005-09-23  Bruno Haible  <bruno@clisp.org>
83977
83978         * tests/test-verify.c: New file.
83979
83980 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83981
83982         Sync from coreutils.
83983
83984         * modules/argmatch (Depends-on): Add verify.
83985         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
83986         unistd-safer.
83987         * modules/save-cwd (Depends-on): Likewise.
83988
83989         * modules/openat (Files): Add lib/openat-die.c.
83990         (Depends-on): Remove error, exitfail.
83991         Add dirname.
83992
83993         * modules/verify: New file.
83994         * MODULES.html.sh (Diagnostics <assert.h>): New section,
83995         with "verify" module.
83996
83997 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83998
83999         Sync from coreutils.
84000
84001         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84002         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84003         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84004         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84005         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84006         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84007         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84008         Don't bother checking for string.h, stdlib.h, unistd.h.
84009         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84010         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84011         module's job.
84012         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84013         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84014
84015         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84016         (gl_GETDATE): Use it.
84017
84018         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84019
84020 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84021
84022         Sync from coreutils.
84023
84024         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84025         stat-time.h.
84026         * lib/argmatch.h: Include verify.h
84027         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84028         (ARGMATCH_ASSERT): Remove; unused.
84029         * lib/canonicalize.c: Assume STDC_HEADERS.
84030         * lib/exclude.c: Include "strcase.h".
84031         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84032         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84033         and stdio-safer.h.
84034         (getusershell): Call fopen, not fopen_safer.
84035         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84036         Do not include unistd-safer.h.
84037         (save_cwd): Don't call fd_safer; no longer needed
84038         now that we include fcntl--.h.
84039
84040         * lib/getdate.y (relative_time): New type.
84041         (RELATIVE_TIME_0): New constant.
84042         (parser_control): Use relative_time instead of doing it ourselves.
84043         (%union): Add new relative_time rel member.
84044         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84045         Now typeless.
84046         (relunit, relunit_snumber): Now of type rel.
84047         (zone, rel, relunit, get_date): Adjust to above changes.
84048
84049         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84050         Do not include unistd-safer.h.
84051         (getloadavg): Don't call fd_safer; no longer needed
84052         now that we include fcntl--.h.
84053
84054         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84055         (make_dir_parents): Treat ENOSYS like EEXIST.
84056
84057         Improve quality of diagnostics on restore_cwd failure.
84058         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84059         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84060         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84061         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84062         each time through the loop.  Do not diagnose restore_cwd failure;
84063         that is the caller's job (and perhaps the caller does not care).
84064
84065         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84066         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84067         If the file already exists but is not a directory, don't bother
84068         to try to make its parents.
84069         Close potential file descriptor leak if we can't chdir("/") (!).
84070         Don't always return true if chdir($PWD) fails; return true only
84071         if the requested action was done successfully (except for the
84072         chdir($PWD)).
84073         Don't log final directory unless we actually made it.
84074         Refactor to avoid duplicate code to fix up permissions.
84075         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84076
84077         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84078         to make it a bit faster and (I hope) clearer.
84079         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84080         Fix bug in formats like %2N.
84081
84082         * lib/verify.h: New file.
84083
84084 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84085
84086         Sync from coreutils.
84087         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84088
84089 2005-09-22  Jim Meyering  <jim@meyering.net>
84090
84091         Sync from coreutils.
84092
84093         * m4/lstat.m4 (gl_FUNC_LSTAT):
84094         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84095         Remove obsolete comment.
84096         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84097         * m4/xstrtod.m4: Likewise.
84098
84099         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84100
84101 2005-09-22  Jim Meyering  <jim@meyering.net>
84102
84103         Sync from coreutils.
84104
84105         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84106
84107         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84108         the .tm_year member, since otherwise gcc-4.0 would now warn about
84109         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84110
84111         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84112         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84113
84114         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84115         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84116         when run in a time zone for which daylight savings time is in effect
84117         for the starting date.
84118
84119         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84120         stop us from restricting permissions of just-created absolute-named
84121         directories.
84122         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84123         to restore initial working directory.
84124         * lib/mkdir-p.c (make_dir_parents): New parameter:
84125         different_working_dir, to tell caller if/when we change the working
84126         directory and are unable to return to the initial one.
84127         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84128         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84129         `return false'.  This fixes a bug introduced on 2004-07-30.
84130
84131         * lib/openat.c (fdopendir): Be sure to close the supplied
84132         file descriptor before returning.  This makes our replacement
84133         implementation a little closer to Solaris's, where fdopendir
84134         ties the file descriptor to the returned DIR* pointer.
84135         * lib/openat.c (unlinkat): New function.
84136         * lib/openat.h (unlinkat): Add prototype.
84137         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84138         (openat_restore_fail): Rename from openat_restore_die.
84139         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84140
84141         Provide an alternative to exiting immediately upon save_cwd or
84142         restore_cwd failure.  Now, an application can arrange e.g.,
84143         to perform a longjump in that case.
84144         * lib/openat.c: Include dirname.h.
84145         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84146         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84147         and openat_restore_die rather than calling error directly.
84148         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84149
84150         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84151         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84152         define.
84153
84154         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84155         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84156                             int utc, int nanoseconds);
84157         Background:
84158         date should not have to allocate a megabyte of virtual memory to
84159         handle a format argument like +%1048575T.  When implemented with
84160         strftime, it must allocate such a buffer, use strftime to fill it
84161         in, print it, then free it.
84162         With fprintftime, it simply prints everything and exits.
84163         With no need for memory allocation, that's one fewer way to fail.
84164         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84165         optional field width, not before, so we accept %9:z, not %:9z.
84166         (my_strftime): Be sure to use L_('x') for literals.
84167
84168         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84169         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84170         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84171         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84172         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84173         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84174         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84175         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84176         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84177         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84178         * lib/xgethostname.c, lib/xreadlink.c:
84179         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84180
84181         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84182         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84183         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84184         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84185         and don't include <sys/file.h>).
84186
84187 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84188
84189         Sync from coreutils.
84190
84191         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84192         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84193         [!LDAV_DONE]: Avoid unused variable warning.
84194
84195 2005-09-21  Bruno Haible  <bruno@clisp.org>
84196
84197         * lib/unicodeio.h (unicode_to_mb): New declaration.
84198
84199 2005-09-20  Derek Price  <derek@ximbiot.com>
84200
84201         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84202         getaddrinfo.h.
84203
84204 2005-09-20  Bruno Haible  <bruno@clisp.org>
84205
84206         * gnulib-tool: Remove trailing slashes from the values specified for
84207         --source-base, --m4-base, --tests-base, --aux-dir.
84208         Suggested by Simon Josefsson <jas@extundo.com>.
84209
84210 2005-09-20  Bruno Haible  <bruno@clisp.org>
84211
84212         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84213         func_modules_to_filelist, func_import, func_create_testdir): Make all
84214         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84215         change when gnulib-tool is invoked in a different locale.
84216
84217 2005-09-19  Simon Josefsson  <jas@extundo.com>
84218
84219         * m4/socklen.m4: Fix typo.
84220
84221 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84222
84223         Use a consistent style for including <config.h>.
84224         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84225         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84226         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84227         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84228         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84229         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84230         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84231         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84232         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84233         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84234         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84235         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84236         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84237         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84238         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84239         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84240         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84241         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84242         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84243         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84244         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84245         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84246         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84247         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84248         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84249         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84250         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84251         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84252         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84253         lib/xstrtoumax.c, lib/yesno.c:
84254         Standardize inclusion of config.h.
84255         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84256         lib/inttostr.h:  Removed inclusion of config.h from header files.
84257         * lib/inttostr.c:  Adjusted in-tree users.
84258         * lib/timespec.h: Remove superfluous warning to include config.h.
84259         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84260         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84261         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84262         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84263         config.h with HAVE_CONFIG_H.
84264
84265 2005-09-19  Jim Meyering  <jim@meyering.net>
84266
84267         * modules/pathmax (License): Change to LGPL.
84268
84269 2005-09-19  Derek Price  <derek@ximbiot.com>
84270
84271         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84272
84273 2005-09-19  Bruno Haible  <bruno@clisp.org>
84274
84275         * gnulib-tool (import): Provide default for --tests-base.
84276
84277 2005-09-19  Bruno Haible  <bruno@clisp.org>
84278
84279         * doc/quote.texi: New file, extracted from gnulib.texi.
84280         * doc/ctime.texi: New file, extracted from gnulib.texi.
84281         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84282         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84283         * doc/gnulib.texi: Include them.
84284
84285 2005-09-18  Bruno Haible  <bruno@clisp.org>
84286
84287         Portability fix.
84288         * gnulib-tool (func_readlink): New function.
84289         (func_ln_if_changed): Use it.
84290
84291 2005-09-18  Bruno Haible  <bruno@clisp.org>
84292
84293         * gnulib-tool: Support --with-tests also with --import.
84294         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84295         (func_import): Use variables $testsbase and $inctests. Emit a
84296         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84297         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84298         SUBDIRS += $testsdir.
84299         (func_create_testdir): Update.
84300
84301 2005-09-18  Bruno Haible  <bruno@clisp.org>
84302
84303         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84304         instead of $dry_run.
84305         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84306         (func_ln_if_changed): Don't handle dry-run here.
84307         (func_import): In dry-run mode, detect more precisely which actions
84308         would be performed, and don't use "...ing" verbs.
84309
84310 2005-09-18  Bruno Haible  <bruno@clisp.org>
84311
84312         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84313         (func_import): Use join on two temporary files instead of three nested
84314         loops, in order to determine which files are new or old.
84315
84316 2005-09-18  Bruno Haible  <bruno@clisp.org>
84317
84318         * gnulib-tool (func_import): Comment out code that spits out the
84319         new files with --dry-run.
84320
84321 2005-09-18  Bruno Haible  <bruno@clisp.org>
84322
84323         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84324
84325 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84326
84327         * lib/stat-time.h: New file.
84328         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84329         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84330         in a different way.
84331         (timespec_cmp): New function.
84332         * lib/utimecmp.c: Include stat-time.h.
84333         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84334         members exist, not on the obsolescent ST_MTIM_NSEC.
84335         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84336
84337 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84338
84339         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84340
84341 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84342
84343         * MODULES.html.sh (File system functions): Add stat-time.
84344         * modules/stat-time: New file.
84345         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84346         is now done in a different way, by the stat-time module.
84347         * modules/utimecmp (Depends-on): Add stat-time.
84348
84349 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84350
84351         * m4/st_mtim.m4: Remove.  Superseded by...
84352         * m4/stat-time.m4: New file.
84353         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84354         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84355
84356 2005-09-15  Derek Price  <derek@ximbiot.com>
84357
84358         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84359
84360 2005-09-15  Derek Price  <derek@ximbiot.com>
84361
84362         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84363         * lib/regex_internal.c: Ditto, using this...
84364         (__GNUC_PREREQ): ...new macro.
84365         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84366         using...
84367         (__GNUC_PREREQ): ...this new macro.
84368
84369         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84370
84371 2005-09-15  Derek Price  <derek@ximbiot.com>
84372             Paul Eggert  <eggert@cs.ucla.edu>
84373
84374         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84375         changes, consolidating in...
84376         * lib/regex_internal.h: ...this file.
84377
84378 2005-09-13  Jim Meyering  <jim@meyering.net>
84379
84380         * lib/canon-host.c: Filter through gnu indent and reword comments
84381         slightly.
84382         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84383
84384 2005-09-13  Derek Price  <derek@ximbiot.com>
84385
84386         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84387         failure.
84388         Reported by Jim Meyering  <jim@meyering.net>.
84389
84390 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84391
84392         * lib/base64.c: Typo.
84393         (base64_encode): Put b64str in initialized data section.
84394
84395 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84396
84397         Merge glibc and coreutils changes into gnulib, plus a few
84398         extra fixes.
84399         * lib/md5.c: Use #error rather than a string.
84400         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84401         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84402         (__attribute__): Define to empty for non recent-GCC.
84403         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84404         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84405         Renamed from their non-__ counterparts, with new macros replacing
84406         them if not _LIBC.  Add __THROW attribute.
84407         (rol): Remove.
84408         (struct md5_ctx): Align buffer if using GCC.
84409         * lib/sha1.h (struct sha1_ctx): Likewise.
84410         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84411         The old name was backwards.
84412         (NOTSWAP): Remove; not used.
84413         (rol): New macro, moved here from md5.h.
84414         (sha1_process_block): Remove a FIXME that doesn't make sense.
84415
84416 2005-09-12  Derek Price  <derek@ximbiot.com>
84417
84418         Return usable errors from canon-host.
84419         * lib/canon-host.h: New file.
84420         * lib/canon-host.c (canon_host): Wrap...
84421         (canon_host_r): ...this new function, which now relies exclusively on
84422         getaddrinfo.
84423         (ch_strerror): New function.
84424         (last_cherror): New global.
84425         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84426         interface.
84427         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84428         void *.
84429         (freeaddrinfo): Free ai->ai_canonname when set.
84430
84431 2005-09-12  Derek Price  <derek@ximbiot.com>
84432
84433         Make canon-host require getaddrinfo.
84434         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84435         AC_LIBSOURCE canon-host.h.  Call...
84436         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84437         gl_GETADDRINFO.
84438         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84439
84440 2005-09-12  Derek Price  <derek@ximbiot.com>
84441
84442         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84443         LGPL.
84444         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84445
84446 2005-09-12  Derek Price  <derek@ximbiot.com>
84447
84448         * lib/gai_strerror.c: Include config.h when available.  Include
84449         getaddrinfo.h before other headers to test interface.
84450         Reported by Larry Jones <lawrence.jones@ugs.com>.
84451
84452 2005-09-12  Derek Price  <derek@ximbiot.com>
84453             Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * modules/glob (Files): Add glob-libc.h.
84456
84457 2005-09-12  Derek Price  <derek@ximbiot.com>
84458             Paul Eggert  <eggert@cs.ucla.edu>
84459
84460         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84461         glob_.h, glob-libc.h.
84462         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84463
84464 2005-09-12  Derek Price  <derek@ximbiot.com>
84465             Paul Eggert  <eggert@cs.ucla.edu>
84466
84467         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84468         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84469         protecting things that should be done only in gnulib contexts.
84470         * lib/glob_.h: New file, containing only the glob things needed for
84471         gnulib.
84472         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84473         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84474         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84475         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84476         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84477         and to respect the namespace rules better.
84478
84479 2005-09-08  Simon Josefsson  <jas@extundo.com>
84480
84481         * modules/socklen: New file.
84482
84483 2005-09-08  Simon Josefsson  <jas@extundo.com>
84484
84485         * m4/socklen.m4: New file.
84486
84487 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84488
84489         * modules/utimens (Files): Add m4/utimbuf.m4, since
84490         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84491         Reported by Sergey Poznyakoff.
84492
84493 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84494
84495         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84496         definitions, since that's the preferred style in glibc.
84497         Fix a minor spacing issue, and update copyright notice to match
84498         glibc's.
84499
84500 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84501
84502         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84503
84504 2005-09-06  Simon Josefsson  <jas@extundo.com>
84505
84506         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84507         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84508
84509 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84510
84511         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84512         warning.
84513
84514 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84515
84516         * config/srclist.txt: Add glibc bug 1302.
84517
84518 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84519
84520         Change bitset word type from unsigned int to unsigned long int,
84521         as this has better performance on typical 64-bit hosts.
84522         Port bitset code to hosts with unusual word sizes.
84523         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84524         (build_collating_symbol):
84525         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84526         argument is a bitset.  This is merely a style issue, but it makes
84527         it clearer that an entire array is expected.
84528         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84529         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84530         Port to the case where bitset_word is not the same as unsigned int.
84531         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84532         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84533         Likewise.
84534         * lib/regexec.c (check_dst_limits_calc_pos_1,
84535         check_subexp_matching_top):
84536         (build_trtable, group_nodes_into_DFAstates):
84537         Likewise.
84538         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84539         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84540         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84541         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84542         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84543         * lib/regcomp.c (optimize_subexps, lower_subexp):
84544         Work even if bitset_word has holes in its bitwise representation.
84545         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84546         * lib/regexec.c (check_dst_limits_calc_pos_1,
84547         check_subexp_matching_top):
84548         Likewise.
84549         * lib/regex_internal.c (re_string_reconstruct):
84550         Don't assume UCHAR_MAX == 255.
84551         * lib/regex_internal.h (bitset_set_all): Likewise.
84552         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84553         All uses changed.
84554         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84555         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84556         All uses changed.
84557         (BITSET_WORD_MAX): New macro.
84558         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84559         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84560         (bitset_empty, bitset_copy):
84561         Prefer sizeof (bitset) to multiplying it out ourselves.
84562         (bitset_not_merge): Remove; unused.
84563         (bitset_contain): Return bool, not unsigned int with one bit on.
84564         All callers changed.
84565         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84566         alignment than re_node_set; do this by defining a new internal
84567         type struct dests_alloc and using it to allocate memory.
84568
84569 2005-09-05  Bruno Haible  <bruno@clisp.org>
84570
84571         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84572         links.
84573
84574 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84575
84576         * modules/size_max (Makefile.am): Add size_max.h
84577
84578 2005-09-04  Derek Price  <derek@ximbiot.com>
84579
84580         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84581
84582 2005-09-03  Simon Josefsson  <jas@extundo.com>
84583
84584         * gnulib-tool: Fix typo.
84585
84586 2005-09-03  Simon Josefsson  <jas@extundo.com>
84587
84588         * config/srclist.txt: Add glibc bug 1293.
84589
84590 2005-09-03  Derek Price  <derek@ximbiot.com>
84591
84592         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84593         From Larry Jones <lawrence.jones@ugs.com>.
84594
84595 2005-09-02  Simon Josefsson  <jas@extundo.com>
84596
84597         * modules/socklen: New file.
84598
84599 2005-09-02  Simon Josefsson  <jas@extundo.com>
84600
84601         * modules/havelib: New module.
84602
84603         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84604         Use havelib.
84605
84606 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84607
84608         Check for arithmetic overflow when calculating sizes, to prevent
84609         some buffer-overflow issues.  These patches are conservative, in the
84610         sense that when I couldn't determine whether an overflow was possible,
84611         I inserted a run-time check.
84612         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84613         macros.
84614         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84615         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84616         (re_xnrealloc, re_x2nrealloc): New inline functions.
84617         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84618         parse_bracket_exp):
84619         (build_equiv_class, build_charclass): Check for arithmetic overflow
84620         in size expression calculations.
84621         * lib/regex_internal.c (re_string_realloc_buffers):
84622         (build_wcs_upper_buffer, re_node_set_add_intersect):
84623         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84624         (re_dfa_add_node, register_state): Likewise.
84625         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84626         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84627         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84628         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84629
84630 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84631
84632         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84633         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84634
84635 2005-09-02  Bruno Haible  <bruno@clisp.org>
84636
84637         Support for lib vs. lib64 distinction on biarch platforms.
84638         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84639         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84640         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84641
84642 2005-09-02  Bruno Haible  <bruno@clisp.org>
84643
84644         * gnulib-tool (import): In the other first-use case, provide defaults
84645         as well.
84646
84647 2005-09-02  Bruno Haible  <bruno@clisp.org>
84648
84649         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84650         patches not yet found in the latest gettext release.
84651
84652 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84653
84654         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84655         to avoid a collision with bits/local_lim.h in glibc.
84656         All uses changed.  Problem reported by Dmitry V. Levin in
84657         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84658
84659         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84660         bugs in int versus size_t comparisons.
84661         (re_string_context_at): Fix bug where the code assumed that
84662         Idx is signed.
84663
84664         Use bool where appropriate.
84665         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84666         All callers changed.
84667         (calc_eclosure_iter): Likewise, for ROOT arg.
84668         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84669         (build_charclass_op): Likewise, for NON_MATCH arg.
84670         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84671         (re_string_construct_common): Likewise, for ICASE arg.
84672         * lib/regexec.c (re_search_2_stub, re_search_stub):
84673         Likewise, for RET_LEN arg.
84674         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84675         (set_regs): Likewise, for FL_BACKTRACK arg.
84676         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84677         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84678         (calc_eclosure_iter, parse_bracket_exp):
84679         Use bool for internal variables that are booleans.
84680         * lib/regexec.c (re_search_internal, check_matching,
84681         proceed_next_node):
84682         (set_regs, build_sifted_states, sift_states_bkref):
84683         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84684         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84685         (find_collation_sequence_value):
84686         Likewise.
84687         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84688         (re_node_set_compare):
84689         Return bool, not int. All callers changed.
84690         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84691         (build_trtable, check_node_accept): Likewise.
84692         * lib/regex_internal.h: Include stdbool.h.
84693
84694         Fix bugs uncovered when converting to bool.
84695         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84696         failure instead of charging ahead blindly.
84697         * lib/regex_internal.c (register_state): Likewise.
84698         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84699         for freeing internal storage.
84700         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84701         bitset pieces used as boolean, to avoid undefined behavior
84702         on hosts that do int overflow checking.
84703
84704 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84705
84706         * config/srclist.txt: Add glibc bugs 1285-1287.
84707
84708 2005-09-01  Jim Meyering  <jim@meyering.net>
84709
84710         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
84711         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
84712         Require gl_STAT_MACROS, too.
84713
84714 2005-09-01  Bruno Haible  <bruno@clisp.org>
84715
84716         * gnulib-tool (import): In the first-use case, provide defaults.
84717
84718 2005-09-01  Bruno Haible  <bruno@clisp.org>
84719
84720         * gnulib-tool (func_import): Remove the .tmp files.
84721
84722 2005-09-01  Bruno Haible  <bruno@clisp.org>
84723
84724         * gnulib-tool (func_import): Fix handling of symbolic links.
84725
84726 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84727
84728         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
84729         old glibc regex code mishandles strings longer than 2**31 bytes.
84730         This patch fixes this when the regex code is used in gnulib
84731         (i.e., outside glibc).
84732
84733         This patch should not affect the use of the regex code inside
84734         glibc.  No doubt this problem also needs to be handled for glibc
84735         as well, but the result will be an incompatible change to the
84736         glibc ABI, and the old ABI will have to be supported too.  That
84737         can be the the subject for another patch.
84738
84739         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
84740         governing whether the rest of this patch is active.  By default,
84741         the macro is disabled and the patch has no effect.
84742         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
84743         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
84744         (struct re_pattern_buffer, re_search, re_search_2, re_match):
84745         (re_match_2, re_set_registers): Use the new types.
84746         * lib/regex_internal.h (Idx, re_hashval_t): New types.
84747         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
84748         New macros.
84749         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
84750         (re_string_context_at, bin_tree_t, re_dfastate_t):
84751         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
84752         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
84753         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
84754         (re_string_char_size_at, re_string_wchar_at):
84755         (re_string_elem_size_at):
84756         Use the new types and macros to port to 64-bit hosts.
84757         Use unsigned types for internal values, so that the code
84758         mostly works even for arrays larger than SSIZE_MAX.
84759         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
84760         (search_duplicated_node, calc_eclosure_iter, fetch_number):
84761         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
84762         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
84763         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
84764         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
84765         (calc_inveclosure, parse_dup_op, build_range_exp):
84766         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
84767         (fetch_number, create_token_tree, mark_opt_subexp):
84768         Likewise.
84769         * lib/regex_internal.c (re_string_construct_common,
84770         create_ci_newstate):
84771         (create_cd_newstate, re_string_allocate, re_string_construct):
84772         (re_string_realloc_buffers, build_wcs_upper_buffer):
84773         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84774         (re_string_reconstruct, re_string_peek_byte_case):
84775         (re_string_fetch_byte_case, re_string_context_at):
84776         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84777         (re_node_set_init_copy, re_node_set_add_intersect):
84778         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84779         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84780         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84781         (re_acquire_state, re_acquire_state_context, register_state):
84782         Likewise.
84783         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
84784         search_cur_bkref_entry):
84785         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
84786         (re_search_internal, re_search_2_stub, re_search_stub)
84787         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
84788         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
84789         (update_cur_sifted_state, check_dst_limits):
84790         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84791         (check_subexp_limits, sift_states_bkref, merge_state_array):
84792         (check_subexp_matching_top, get_subexp, get_subexp_sub):
84793         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
84794         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84795         (expand_bkref_cache, check_node_accept_bytes):
84796         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
84797         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
84798         (acquire_init_state_context, check_halt_node_context):
84799         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
84800         (sift_states_backward, clean_state_log_if_needed):
84801         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
84802         (find_recover_state, transit_state_sb, transit_state_mb):
84803         (transit_state_bkref, build_trtable, match_ctx_clean):
84804         Likewise.
84805         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
84806         to work around an assumption that REG_MISSING is negative.
84807
84808         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
84809         (seek_collating_symbol_entry) [defined _LIBC]:
84810         (lookup_collation_sequence_value) [defined _LIBC]:
84811         (build_range_exp, build_collating_symbol) [defined _LIBC]:
84812         Use prototypes rather than old-style function definitions.
84813         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
84814         (transit_state_sb) [0]:
84815         (find_collation_sequence_value) [defined _LIBC]: Likewise.
84816
84817         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
84818         rm_eo.
84819
84820         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
84821         (optimize_subexps, lower_subexp):
84822         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
84823         since the signed shift might overflow.  Use 1u<<31 instead.
84824         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84825         Likewise.
84826         * lib/regexec.c (check_dst_limits_calc_pos_1,
84827         check_subexp_matching_top): Likewise.
84828
84829         * lib/regcomp.c (optimize_subexps, lower_subexp):
84830         Use CHAR_BIT rather than 8, for clarity.
84831         * lib/regexec.c (check_dst_limits_calc_pos_1):
84832         (check_subexp_matching_top): Likewise.
84833         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
84834         have to worry about portability issues when shifting it left.
84835         Remove no-longer-needed test for table_size > 0.
84836         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
84837         in a word, as the resulting behavior is undefined.
84838         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
84839         in one case, a <= should have been an <, and in another case the
84840         whole test was missing.
84841         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
84842         the standard name CHAR_BIT.
84843         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
84844         this is not true on one's complement and signed-magnitude hosts.
84845
84846         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
84847         next_last_offset.
84848         (struct re_dfa_t): Remove unused member states_alloc.
84849         * lib/regcomp.c (init_dfa): Don't initialize unused members.
84850
84851 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84852
84853         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
84854         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
84855         and large-file glibc and in 32-bit large-file Solaris.
84856
84857 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84858
84859         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
84860         lengths fit in regoff_t; this isn't true if regoff_t is the same
84861         width as size_t.
84862         * lib/regex.c (re_search_internal): 5th arg is LAST_START
84863         (= START + RANGE) instead of RANGE.  This avoids overflow
84864         problems when regoff_t is the same width as size_t.
84865         All callers changed.
84866         (re_search_2_stub): Check for overflow when adding the
84867         sizes of the two strings.
84868         (re_search_stub): Check for overflow when adding START
84869         to RANGE; if it occurs, substitute the extreme value.
84870
84871 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84872
84873         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84874
84875 2005-08-31  Jim Meyering  <jim@meyering.net>
84876
84877         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84878         a pointer-to-const.
84879         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84880         (register_state): Likewise.
84881         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84882         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84883         (group_nodes_into_DFAstates): Likewise.
84884
84885 2005-08-31  Jim Meyering  <jim@meyering.net>
84886
84887         * check-module: Add a FIXME comment.
84888
84889 2005-08-31  Eric Blake  <ebb9@byu.net>
84890
84891         * modules/unistd-safer (Files): Add unistd--.h.
84892         * modules/stdio-safer (Files): Add stdio--.h.
84893
84894 2005-08-31  Derek Price  <derek@ximbiot.com>
84895
84896         * lib/getdelim.c (getdelim): Return EOF on EOF.
84897         Reported by Larry Jones <lawrence.jones@ugs.com>.
84898
84899 2005-08-31  Bruno Haible  <bruno@clisp.org>
84900
84901         Avoid unnecessary diffs in the generated lib/Makefile.am.
84902         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
84903         the generated files.
84904         (func_import): Don't set cmd.
84905
84906 2005-08-31  Bruno Haible  <bruno@clisp.org>
84907
84908         * lib/strstr.c: Include <stddef.h>, for NULL.
84909         * lib/strcasestr.c: Likewise.
84910         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84911
84912 2005-08-31  Bruno Haible  <bruno@clisp.org>
84913
84914         * gnulib-tool: New option --macro-prefix.
84915         (func_import): Use macro_prefix.
84916         (import): Handle option --macro-prefix.
84917
84918 2005-08-31  Bruno Haible  <bruno@clisp.org>
84919
84920         * gnulib-tool (import): Rename most ac_* variables to cached_*.
84921         Also use new variables cached_lgpl, cached_libtool.
84922
84923 2005-08-31  Bruno Haible  <bruno@clisp.org>
84924
84925         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
84926         always instantiating them.
84927
84928 2005-08-31  Bruno Haible  <bruno@clisp.org>
84929
84930         * gnulib-tool (func_import): Read the previous cached settings
84931         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
84932         earlier added by gnulib but are now dropped. Warn when a gnulib file
84933         overwrites a non-gnulib file.
84934
84935 2005-08-31  Bruno Haible  <bruno@clisp.org>
84936
84937         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
84938         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
84939         projects that don't keep autogenerated files in CVS. Put into
84940         actioncmd only the specified modules, not the transitive closure.
84941
84942 2005-08-31  Bruno Haible  <bruno@clisp.org>
84943
84944         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
84945         Create directories that shall be filled.
84946         (import): Don't look for gl_* macros in configure.ac. Recurse across
84947         all directories containing a gnulib-cache.m4 files, if meaningful.
84948
84949 2005-08-31  Bruno Haible  <bruno@clisp.org>
84950
84951         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
84952         (import): Set seen_libtool when we see gl_LIBTOOL.
84953
84954 2005-08-31  Bruno Haible  <bruno@clisp.org>
84955
84956         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
84957         declaration macro definitions from generated gnulib.m4.
84958
84959 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
84960
84961         * lib/iconvme.h: Add prototype for iconv_alloc.
84962
84963 2005-08-29  Simon Josefsson  <jas@extundo.com>
84964
84965         * lib/iconvme.c: Fix errno.
84966
84967 2005-08-29  Bruno Haible  <bruno@clisp.org>
84968
84969         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
84970         that it works when the directory contains spaces.
84971
84972 2005-08-29  Bruno Haible  <bruno@clisp.org>
84973
84974         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
84975
84976 2005-08-29  Bruno Haible  <bruno@clisp.org>
84977
84978         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
84979         Emit more advice.
84980
84981 2005-08-29  Bruno Haible  <bruno@clisp.org>
84982         and Stepan Kasal  <kasal@ucw.cz>
84983
84984         * check-module: If more parameters are given, check each of them
84985         separately; add more exceptions, as noted by Jim Meyering.
84986         (check_module): New procedure.
84987         (%exempt_header): Now contains all exceptions.
84988
84989 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
84990
84991         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
84992
84993 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84994
84995         * lib/iconvme.c: Split iconv_string into iconv_alloc.
84996
84997 2005-08-28  Bruno Haible  <bruno@clisp.org>
84998
84999         * m4/gnulib-tool.m4: New file.
85000
85001 2005-08-27  Jim Meyering  <jim@meyering.net>
85002
85003         * modules/unistd-safer (Files): Add pipe-safer.c.
85004         * modules/fcntl-safer (Files): Add creat-safer.c.
85005
85006 2005-08-27  Jim Meyering  <jim@meyering.net>
85007
85008         * m4/stdlib-safer.m4: New file.  From coreutils.
85009         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85010         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85011         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85012         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85013         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85014
85015 2005-08-27  Jim Meyering  <jim@meyering.net>
85016
85017         * lib/fopen-safer.c: Merge minor changes from coreutils.
85018         * lib/dup-safer.c: Likewise.
85019         * lib/fd-safer.c: Likewise.
85020
85021         Merge from coreutils.
85022         * lib/stdio--.h: New file.
85023         * lib/stdlib--.h: New file.
85024         * lib/mkstemp-safer.c: New file.
85025
85026         GNU tar needs these.
85027         * lib/pipe-safer.c: New file.
85028         * lib/creat-safer.c: New file.
85029         * lib/fcntl--.h (creat): Define to creat_safer.
85030         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85031         * lib/unistd--.h (pipe): Define to pipe_safer.
85032         * lib/unistd-safer.h: Declare pipe_safer.
85033
85034 2005-08-26  Simon Josefsson  <jas@extundo.com>
85035
85036         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85037         Haible <bruno@clisp.org>.
85038
85039 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85040
85041         * lib/regex_internal.h: Remove all references to
85042         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85043         or better.
85044         (bitset_not, bitset_merge, bitset_not_merge):
85045         (bitset_mask, re_string_allocate, re_string_construct):
85046         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85047         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85048         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85049         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85050         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85051         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85052         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85053         (re_acquire_state_context):
85054         Remove unnecessary forward decls.
85055         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85056         Put __attribute at function definition,
85057         now that the function decl has been removed.
85058         * lib/regex_internal.c (re_string_peek_byte_case):
85059         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85060         Likewise.
85061
85062 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85063
85064         * m4/regex.m4: Add AC_PREREQ(2.50).
85065         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85066
85067 2005-08-25  Simon Josefsson  <jas@extundo.com>
85068
85069         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85070         __fsetlocking.
85071
85072 2005-08-25  Simon Josefsson  <jas@extundo.com>
85073
85074         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85075         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85076         GLIBC specific code.
85077
85078 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85079
85080         Make regex safe for g++.  This fixes one real bug (an "err"
85081         that should have been "*err").  g++ problem reported by
85082         Sam Steingold.
85083         * lib/regex_internal.h (re_calloc): New macro, consistent with
85084         re_malloc etc.  All callers of calloc changed to use re_calloc.
85085         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85086         not int.  All callers changed.
85087         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85088         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85089         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85090         (find_recover_state): Change "err" to "*err"; this fixes what
85091         appears to be a real bug.
85092         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85093         versus int.
85094
85095 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85096
85097         * modules/regex (Depends-on): Add malloc, since the code
85098         assumes that !malloc(0) means failure.
85099
85100 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85101
85102         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85103
85104         alloca modernization/simplification for regex.
85105         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85106         needs to be at the start of the file, and can be moved into
85107         regex_internal.h and simplified.
85108         * lib/regex_internal.h: Include <alloca.h>.
85109         (__libc_use_alloca) [!defined _LIBC]: New macro.
85110         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85111         now works outside glibc.
85112
85113 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85114
85115         * config/srclist.txt: Add glibc bugs 1241, 1245.
85116
85117 2005-08-25  Jim Meyering  <jim@meyering.net>
85118
85119         * lib/open-safer.c: Include <config.h>.
85120         Otherwise, we'd lose LARGEFILE support in any file using
85121         e.g. "fcntl--.h"
85122
85123 2005-08-25  Bruno Haible  <bruno@clisp.org>
85124
85125         * m4/minmax.m4: Require autoconf 2.52.
85126         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85127         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85128         alternatives of translit over the alphabet.
85129         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85130
85131 2005-08-24  Simon Josefsson  <jas@extundo.com>
85132
85133         * tests/test-getpass.c: New file.
85134
85135 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85136
85137         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85138         for GNU regex features.
85139
85140 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85141
85142         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85143         * lib/regex.h (regerror): Likewise.
85144
85145         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85146         requires this.  (The code never needed it.)
85147
85148         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85149         All uses of recently-renamed identifiers changed to use the new,
85150         POSIX-compliant names.  The code will build and run just fine
85151         without these changes, but it's better to eat our own dog food
85152         and use the standard-conforming names.
85153
85154         * lib/regex.h: Fix a multitude of POSIX name space violations.
85155         These changes have an effect only for programs that define
85156         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85157         do not change anything for programs compiled in the normal way.
85158         Also, there is no effect on the ABI.
85159
85160         (_REGEX_SOURCE): New macro.
85161         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85162         defined and _GNU_SOURCE is not; this fixes a name space violation.
85163
85164         Rename the following macros to obey POSIX requirements.
85165         The old names are still visible as macros if _REGEX_SOURCE is defined.
85166         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85167         RE_BACKSLASH_ESCAPE_IN_LISTS.
85168         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85169         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85170         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85171         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85172         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85173         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85174         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85175         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85176         (REG_INTERVALS): renamed from RE_INTERVALS.
85177         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85178         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85179         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85180         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85181         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85182         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85183         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85184         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85185         RE_UNMATCHED_RIGHT_PAREN_ORD.
85186         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85187         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85188         (REG_DEBUG): renamed from RE_DEBUG.
85189         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85190         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85191         unusual, since we can't clash with the POSIX REG_ICASE.
85192         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85193         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85194         (REG_NO_SUB): renamed from RE_NO_SUB.
85195         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85196         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85197         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85198         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85199         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85200         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85201         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85202         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85203         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85204         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85205         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85206         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85207         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85208         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85209         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85210         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85211         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85212         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85213         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85214         (REG_FIXED): Renamed from REGS_FIXED.
85215         (REG_NREGS): Renamed from RE_NREGS.
85216
85217         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85218         of other REG_* macros, since POSIX says the user is allowed to
85219         #undef these macros selectively.
85220
85221         (reg_errcode_t): Update comment stating what other tables need
85222         to be consistent.
85223
85224         Rename the following enum values to obey POSIX requirements.
85225         The old names are still visible as macros.
85226         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85227         is not defined, since GNU is supposed to be a superset of POSIX as
85228         much as possible, and since we want reg_errcode_t to be a signed
85229         type for implementation consistency.
85230         (_REG_NOERROR): Renamed from REG_NOERROR.
85231         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85232         (_REG_BADPAT): Renamed from REG_BADPAT.
85233         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85234         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85235         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85236         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85237         (_REG_EBRACK): Renamed from REG_EBRACK.
85238         (_REG_EPAREN): Renamed from REG_EPAREN.
85239         (_REG_EBRACE): Renamed from REG_EBRACE.
85240         (_REG_BADBR): Renamed from REG_BADBR.
85241         (_REG_ERANGE): Renamed from REG_ERANGE.
85242         (_REG_ESPACE): Renamed from REG_ESPACE.
85243         (_REG_BADRPT): Renamed from REG_BADRPT.
85244         (_REG_EEND): Renamed from REG_EEND.
85245         (_REG_ESIZE): Renamed from REG_ESIZE.
85246         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85247         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85248         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85249         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85250         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85251
85252         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85253         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85254         changed.  But support the old name if the new one is not defined
85255         and if _REGEX_SOURCE.
85256
85257         Change the following member names in struct re_pattern_buffer.
85258         The old names are still supported if !_REGEX_SOURCE.
85259         The new names are always supported, regardless of _REGEX_SOURCE.
85260         (re_buffer): Renamed from buffer.
85261         (re_allocated): Renamed from allocated.
85262         (re_used): Renamed from used.
85263         (re_syntax): Renamed from syntax.
85264         (re_fastmap): Renamed from fastmap.
85265         (re_translate): Renamed from translate.
85266         (re_can_be_null): Renamed from can_be_null.
85267         (re_regs_allocated): Renamed from regs_allocated.
85268         (re_fastmap_accurate): Renamed from fastmap_accurate.
85269         (re_no_sub): Renamed from no_sub.
85270         (re_not_bol): Renamed from not_bol.
85271         (re_not_eol): Renamed from not_eol.
85272         (re_newline_anchor): Renamed from newline_anchor.
85273
85274         Change the following member names in struct re_registers.
85275         The old names are still supported if !_REGEX_SOURCE.
85276         The new names are always supported, regardless of _REGEX_SOURCE.
85277         (rm_num_regs): Renamed from num_regs.
85278         (rm_start): Renamed from start.
85279         (rm_end): Renamed from end.
85280
85281         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85282         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85283         Prepend __ to parameter names.
85284
85285         Undo yesterday's changes.
85286
85287 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85288
85289         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85290         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85291         lib/regex.c.
85292
85293 2005-08-24  Jim Meyering  <jim@meyering.net>
85294
85295         Sync from coreutils.
85296         * m4/fcntl-safer.m4: New file.
85297
85298         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85299         and object files for this module.
85300
85301 2005-08-24  Jim Meyering  <jim@meyering.net>
85302
85303         Sync from coreutils.
85304         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85305
85306 2005-08-24  Jim Meyering  <jim@meyering.net>
85307
85308         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85309         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85310
85311 2005-08-24  Jim Meyering  <jim@meyering.net>
85312
85313         * modules/fcntl-safer: New module.
85314         * modules/fts (Depends-on): Add fcntl-safer.
85315         * MODULES.html.sh (File descriptor based Input/Output):
85316         Add fcntl-safer.
85317
85318 2005-08-24  Bruno Haible  <bruno@clisp.org>
85319
85320         Support for unit test modules.
85321         * modules/README: Mention tests modules.
85322         * modules/TEMPLATE-TESTS: New file.
85323         * gnulib-tool: New options --extract-tests-module, --with-tests and
85324         --tests-base (unused for the moment).
85325         (testsbase, inctests): New variables.
85326         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85327         (func_verify_module): Exclude TEMPLATE-TESTS.
85328         (func_verify_nontests_module, func_verify_tests_module): New functions.
85329         (func_get_dependencies): Add implicit dependency for tests modules.
85330         (func_get_tests_module): New function.
85331         (func_modules_transitive_closure): When --with-tests was specified,
85332         include the unit tests as well, unless explicitly avoided.
85333         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85334         (func_emit_tests_Makefile_am): New function.
85335         (func_create_testdir): When --with-tests was specified, emit a
85336         tests/ directory.
85337         * MODULES.html.sh (Future developments): Update.
85338
85339 2005-08-24  Bruno Haible  <bruno@clisp.org>
85340
85341         * modules/tls-tests: New file.
85342         * tests/test-tls.c: New file, from GNU gettext.
85343
85344 2005-08-24  Bruno Haible  <bruno@clisp.org>
85345
85346         * modules/lock-tests: New file.
85347         * tests/test-lock.c: New file, from GNU gettext.
85348
85349 2005-08-24  Bruno Haible  <bruno@clisp.org>
85350
85351         * lib/lock.h: Add multiple inclusion guard.
85352         * lib/tls.h: Add multiple inclusion guard.
85353
85354 2005-08-24  Bruno Haible  <bruno@clisp.org>
85355
85356         * gnulib-tool: Add support for the --aux-dir option to
85357         --create-testdir, --create-megatestdir, --test, --megatest.
85358         (func_create_testdir, func_create_megatestdir): Optionally emit a
85359         AC_CONFIG_AUX_DIR directive.
85360         (create-testdir, create-megatestdir, test, megatest): Provide a
85361         default value for $auxdir.
85362
85363 2005-08-24  Bruno Haible  <bruno@clisp.org>
85364
85365         * gnulib-tool (import): Use compound statement instead of subshell
85366         where possible.
85367
85368 2005-08-24  Bruno Haible  <bruno@clisp.org>
85369
85370         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85371
85372 2005-08-24  Bruno Haible  <bruno@clisp.org>
85373
85374         * gnulib-tool (func_version): Update.
85375
85376 2005-08-24  Bruno Haible  <bruno@clisp.org>
85377
85378         * gnulib-tool (func_import, func_create_testdir,
85379         func_create_megatestdir): Quote all autoconf macro arguments.
85380
85381 2005-08-24  Bruno Haible  <bruno@clisp.org>
85382
85383         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85384         option --force, because --force causes the aclocal.m4 of each
85385         subdirectory to be newer than the corresponding config.h.in.
85386
85387 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85388
85389         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85390         All contents moved to gl_REGEX.
85391         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85392         assume that it does.
85393
85394 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85395
85396         * lib/regex.h (REG_NOSYS)
85397         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85398         Define, since POSIX requires it as of 2001.
85399         (_REG_ENOSYS)
85400         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85401         New private symbol, used to keep the enum signed in all cases.
85402         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85403         Youngman in
85404         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85405
85406         * lib/regex_internal.c (re_string_skip_chars, register_state):
85407         (calc_state_hash):
85408         Remove forward decls; no longer needed now that we use prototypes.
85409         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85410         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85411         (clean_state_log_if_needed): Likewise.
85412
85413 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85414
85415         * config/srclist.txt: Add glibc bugs 1231-1233.
85416
85417 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85418
85419         Fix problems reported by Sam Steingold in
85420         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85421         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85422         assumed that reg_errcode_t is a signed type, which is not
85423         necessarily true if _XOPEN_SOURCE is not defined.
85424         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85425         since some compilers warn about it otherwise.
85426
85427 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85428
85429         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85430         (init_word_char, create_initial_state, duplicate_node_closure):
85431         (fetch_token, peek_token_bracket, build_range_exp):
85432         (build_collating_symbol): Remove forward decls; no longer needed
85433         now that we use prototypes.
85434
85435         * lib/regcomp.c:
85436         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85437         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85438         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85439         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85440         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85441         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85442         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85443         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85444         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85445         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85446         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85447         (build_charclass, build_charclass_op, fetch_number, create_tree):
85448         (create_token_tree, mark_opt_subexp, duplicate_tree):
85449         Use prototypes rather than old-style definitions.
85450
85451         * lib/regex_internal.c:
85452         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85453         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85454         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85455         (re_string_reconstruct, re_string_peek_byte_case):
85456         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85457         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85458         (re_node_set_init_copy, re_node_set_add_intersect):
85459         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85460         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85461         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85462         (re_acquire_state, re_acquire_state_context, register_state):
85463         (create_ci_newstate, create_cd_newstate, free_state):
85464         Likewise.
85465         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85466         re_search_2):
85467         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85468         (re_search_internal, prune_impossible_nodes):
85469         (acquire_init_state_context, check_matching, static):
85470         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85471         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85472         (update_regs, sift_states_backward, build_sifted_states):
85473         (clean_state_log_if_needed, merge_state_array):
85474         (update_cur_sifted_state, add_epsilon_src_nodes):
85475         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85476         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85477         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85478         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85479         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85480         (check_arrival, check_arrival_add_next_nodes):
85481         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85482         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85483         (check_node_accept_bytes, check_node_accept, extend_buffers):
85484         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85485         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85486         (sift_ctx_init):
85487         Likewise.
85488
85489         * lib/regex_internal.h:
85490         (re_string_allocate, re_string_construct, re_string_reconstruct):
85491         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85492         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85493         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85494         (re_string_context_at, re_string_peek_byte_case):
85495         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85496         is defined, since we now use prototypes always.
85497
85498         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85499         C89 or better.  All uses removed.
85500
85501 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85502
85503         * config/srclist.txt: Add glibc bugs 1220-1227.
85504
85505 2005-08-20  Jim Meyering  <jim@meyering.net>
85506
85507         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85508         of unused local, dfa.
85509
85510 2005-08-20  Bruno Haible  <bruno@clisp.org>
85511
85512         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85513
85514 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85515
85516         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85517         (re_node_set_insert_last, re_dfa_add_node):
85518         Rename local variables to avoid GCC shadowing warnings.
85519
85520 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85521
85522         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85523         [defined lint]: Suppress bogus uninitialized-variable warnings.
85524
85525         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85526         and let the caller return REG_ESPACE if out of space.  This
85527         removes an uninitialied-variable warning with GCC 4.0.1, and also
85528         avoids taking the address of a local variable.  All callers
85529         changed.
85530
85531 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85532
85533         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85534         $LIBCSRC/posix/regexec.c.
85535         Add glibc bug 1217 for regcomp.c.
85536
85537 2005-08-19  Jim Meyering  <jim@meyering.net>
85538
85539         * lib/regexec.c (proceed_next_node): Redo local variables to
85540         avoid GCC shadowing warnings.
85541
85542 2005-08-18  Bruno Haible  <bruno@clisp.org>
85543
85544         * lib/strstr.c (strstr): Fix return value in multibyte case.
85545         * lib/strcasestr.c (strcasestr): Likewise.
85546
85547 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85548
85549         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85550
85551 2005-08-17  Jim Meyering  <jim@meyering.net>
85552
85553         Make the %s format (seconds since the epoch) work for a negative
85554         number and when used with a zero-padded field width, e.g. %015s.
85555
85556         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85557         label so that it precedes the code to set `digits'.  Otherwise,
85558         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85559         print `00-22'.  Now, it prints `-0022', as it should.
85560
85561 2005-08-17  Bruno Haible  <bruno@clisp.org>
85562
85563         * modules/strstr (Files): Add m4/mbrtowc.m4.
85564         (Depends-on): Add mbuiter.
85565
85566 2005-08-17  Bruno Haible  <bruno@clisp.org>
85567
85568         * modules/strcasestr: New file.
85569         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85570         strcasestr.
85571
85572 2005-08-17  Bruno Haible  <bruno@clisp.org>
85573
85574         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85575
85576 2005-08-17  Bruno Haible  <bruno@clisp.org>
85577
85578         * modules/mbuiter: New file.
85579         * MODULES.html.sh (Extended multibyte and wide character utilities):
85580         Add mbuiter.
85581
85582 2005-08-17  Bruno Haible  <bruno@clisp.org>
85583
85584         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85585         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85586
85587 2005-08-17  Bruno Haible  <bruno@clisp.org>
85588
85589         * m4/strcasestr.m4: New file.
85590
85591 2005-08-17  Bruno Haible  <bruno@clisp.org>
85592
85593         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85594         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85595
85596 2005-08-17  Bruno Haible  <bruno@clisp.org>
85597
85598         * lib/strcasestr.h: New file.
85599         * lib/strcasestr.c: New file.
85600
85601 2005-08-17  Bruno Haible  <bruno@clisp.org>
85602
85603         * lib/strcasecmp.c: Use mbuiter.h.
85604
85605 2005-08-17  Bruno Haible  <bruno@clisp.org>
85606
85607         * lib/mbuiter.h: New file.
85608
85609 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85610
85611         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85612         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85613         and gl_GETOPT are both invoked via different paths (as happens
85614         with GNU tar CVS because it uses both argp and getopt), the former
85615         wins.
85616
85617 2005-08-16  Bruno Haible  <bruno@clisp.org>
85618
85619         * modules/tls: New file.
85620         * MODULES.html.sh (Multithreading): Add tls.
85621
85622 2005-08-16  Bruno Haible  <bruno@clisp.org>
85623
85624         * modules/strnlen1: New file.
85625         * MODULES.html.sh (String handling): Add strnlen1.
85626
85627 2005-08-16  Bruno Haible  <bruno@clisp.org>
85628
85629         * modules/strcase (Files): Add m4/mbrtowc.m4.
85630         (Depends-on): Add strnlen1, mbchar.
85631
85632 2005-08-16  Bruno Haible  <bruno@clisp.org>
85633
85634         * modules/mbiter: New file.
85635         * MODULES.html.sh (Extended multibyte and wide character utilities):
85636         Add mbiter.
85637
85638 2005-08-16  Bruno Haible  <bruno@clisp.org>
85639
85640         * modules/mbfile: New file.
85641         * MODULES.html.sh (Extended multibyte and wide character utilities):
85642         Add mbfile.
85643
85644 2005-08-16  Bruno Haible  <bruno@clisp.org>
85645
85646         * modules/mbchar: New file.
85647         * MODULES.html.sh (Extended multibyte and wide character utilities):
85648         New section.
85649
85650 2005-08-16  Bruno Haible  <bruno@clisp.org>
85651
85652         * m4/tls.m4: New file, from GNU gettext.
85653
85654 2005-08-16  Bruno Haible  <bruno@clisp.org>
85655
85656         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85657         always.
85658         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85659
85660 2005-08-16  Bruno Haible  <bruno@clisp.org>
85661
85662         * m4/mbiter.m4: New file.
85663
85664 2005-08-16  Bruno Haible  <bruno@clisp.org>
85665
85666         * m4/mbfile.m4: New file.
85667
85668 2005-08-16  Bruno Haible  <bruno@clisp.org>
85669
85670         * m4/mbchar.m4: New file.
85671
85672 2005-08-16  Bruno Haible  <bruno@clisp.org>
85673
85674         * lib/tls.h: New file, from GNU gettext.
85675         * lib/tls.c: New file, from GNU gettext.
85676
85677 2005-08-16  Bruno Haible  <bruno@clisp.org>
85678
85679         * lib/strnlen1.h: New file.
85680         * lib/strnlen1.c: New file.
85681
85682 2005-08-16  Bruno Haible  <bruno@clisp.org>
85683
85684         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85685         (mbi_init): Update.
85686         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85687         NUL byte, not after it.
85688
85689 2005-08-16  Bruno Haible  <bruno@clisp.org>
85690
85691         * lib/strcase.h (strcasecmp): Add note in comments.
85692         * lib/strncasecmp.c: Use code from strcasecmp.c.
85693         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85694         (strcasecmp): Work correctly in multibyte locales.
85695
85696 2005-08-16  Bruno Haible  <bruno@clisp.org>
85697
85698         * lib/mbiter.h: New file.
85699
85700 2005-08-16  Bruno Haible  <bruno@clisp.org>
85701
85702         * lib/mbfile.h: New file.
85703
85704 2005-08-16  Bruno Haible  <bruno@clisp.org>
85705
85706         * lib/mbchar.h: New file.
85707         * lib/mbchar.c: New file.
85708
85709 2005-08-16  Bruno Haible  <bruno@clisp.org>
85710
85711         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
85712         the valid ones. Makes the comparison operations transitive:
85713         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
85714         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
85715
85716 2005-08-15  Simon Josefsson  <jas@extundo.com>
85717
85718         * modules/ssize_t (License): Change to 'unlimited'.
85719
85720         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
85721
85722 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85723
85724         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
85725         Add comments for each pending glibc patch.
85726
85727 2005-08-15  Bruno Haible  <bruno@clisp.org>
85728
85729         * lib/regex.h (__restrict_arr): Don't define to __restrict if
85730         __cplusplus is defined.
85731
85732 2005-08-14  Jim Meyering  <jim@meyering.net>
85733
85734         Sync from coreutils.
85735
85736         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
85737         Use the hash-table-based cycle-detection code not just when
85738         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
85739         Reported by James Youngman in
85740         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
85741         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
85742         FTS_TIGHT_CYCLE_CHECK.
85743         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
85744         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
85745         once again.
85746         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
85747         * lib/fts.c (fd_safer): Remove decl.
85748         Include fcntl--.h rather than unistd-safer.h
85749         (fts_safe_changedir): Don't call fd_safer; no longer needed
85750         now that we include fcntl--.h.
85751
85752 2005-08-12  Simon Josefsson  <jas@extundo.com>
85753
85754         * modules/getndelim2: Use ssize_t module.
85755         * modules/getnline: Likewise.
85756         * modules/safe-read: Likewise.
85757         * modules/xreadlink: Likewise.
85758
85759         * modules/ssize_t: New file.
85760
85761 2005-08-12  Simon Josefsson  <jas@extundo.com>
85762
85763         * m4/readline.m4: Look for termcap, curses or ncurses if required.
85764
85765 2005-08-12  Simon Josefsson  <jas@extundo.com>
85766
85767         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85768         ssize_t.
85769
85770 2005-08-12  Simon Josefsson  <jas@extundo.com>
85771
85772         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
85773         readline, getdelim and check_version.
85774         (Support for systems lacking ISO C 99: Sizes of integer types):
85775         Add size_max.
85776
85777 2005-08-12  Bruno Haible  <bruno@clisp.org>
85778
85779         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
85780
85781 2005-08-11  Simon Josefsson  <jas@extundo.com>
85782
85783         * modules/readline: New file.
85784
85785         * modules/strnlen (Files): Add strnlen.h.
85786
85787 2005-08-11  Simon Josefsson  <jas@extundo.com>
85788
85789         * m4/readline.m4: New file.
85790
85791 2005-08-11  Simon Josefsson  <jas@extundo.com>
85792
85793         * lib/readline.h, readline.c: New file.
85794
85795 2005-08-11  Simon Josefsson  <jas@extundo.com>
85796
85797         * doc/gnulib.texi (Initial import, Finishing touches): Mention
85798         gl_AVOID.
85799
85800 2005-08-11  Bruno Haible  <bruno@clisp.org>
85801
85802         * lib/strnlen.h (strnlen): Change parameter name to match comment.
85803
85804 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
85805
85806         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
85807
85808 2005-08-10  Simon Josefsson  <jas@extundo.com>
85809
85810         * tests/test-iconvme.c: New file.
85811
85812 2005-08-10  Simon Josefsson  <jas@extundo.com>
85813
85814         * m4/strnlen.m4: New file.
85815
85816         * m4/strndup.m4: Don't check for strnlen declaration, done in
85817         strnlen.m4.
85818
85819 2005-08-10  Simon Josefsson  <jas@extundo.com>
85820
85821         * lib/strndup.c: Use strnlen.h.
85822
85823         * lib/strnlen.h: New file.
85824
85825 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85826
85827         * README: Typos.
85828
85829 2005-08-02  Simon Josefsson  <jas@extundo.com>
85830
85831         * modules/readline: New file.
85832
85833 2005-08-02  Simon Josefsson  <jas@extundo.com>
85834
85835         * modules/getdelim: New file.
85836
85837         * modules/getline: Rewrite, don't use getndelim2.
85838
85839 2005-08-02  Simon Josefsson  <jas@extundo.com>
85840
85841         * m4/getline.m4: Separate out getdelim stuff into separate module.
85842
85843         * m4/getdelim.m4: New file.
85844
85845 2005-08-02  Simon Josefsson  <jas@extundo.com>
85846
85847         * lib/getline.h, getline.c: Rewrite.
85848
85849         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
85850
85851 2005-07-31  Bruno Haible  <bruno@clisp.org>
85852
85853         * lib/lock.h (gl_lock_initializer): New macro.
85854         (gl_lock_define_initialized): Use it.
85855         (gl_rwlock_initializer): New macro.
85856         (gl_rwlock_define_initialized): Use it.
85857         (gl_recursive_lock_initializer): New macro.
85858         (gl_recursive_lock_define_initialized): Use it.
85859
85860 2005-07-30  Karl Berry  <karl@gnu.org>
85861
85862         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
85863         Report from Ben Pfaff, regarding getopt.
85864
85865 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
85866
85867         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
85868         normal way.
85869         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
85870         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
85871         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
85872         (gl_GETOPT): Use the new macros.  Most of the implementation
85873         is moved to the new macros.  This is for programs like Emacs
85874         that don't want all the functionality of gl_GETOPT.
85875
85876 2005-07-26  Bruno Haible  <bruno@clisp.org>
85877
85878         * m4/lock.m4: Update from GNU gettext.
85879
85880 2005-07-26  Bruno Haible  <bruno@clisp.org>
85881
85882         * lib/lock.h: Update from GNU gettext.
85883         * lib/lock.c: Update from GNU gettext.
85884
85885 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
85886
85887         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
85888         obsolescent AC_TRY_RUN.  Include the default includes files, for
85889         'exit'.
85890
85891 2005-07-24  Bruno Haible  <bruno@clisp.org>
85892
85893         * modules/visibility: New file.
85894         * MODULES.html.sh (Misc): Add visibility.
85895
85896 2005-07-24  Bruno Haible  <bruno@clisp.org>
85897
85898         * m4/visibility.m4: New file.
85899
85900 2005-07-24  Bruno Haible  <bruno@clisp.org>
85901
85902         * doc/visibility.texi: New file.
85903
85904 2005-07-22  Bruno Haible  <bruno@clisp.org>
85905
85906         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
85907         $(ALLOCA_H), redundant through BUILT_SOURCES.
85908         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
85909         redundant through BUILT_SOURCES.
85910         * modules/byteswap (Makefile.am): Remove explicit dependency on
85911         $(BYTESWAP_H), redundant through BUILT_SOURCES.
85912         * modules/fnmatch (Makefile.am): Remove explicit dependency on
85913         $(FNMATCH_H), redundant through BUILT_SOURCES.
85914         * modules/getopt (Makefile.am): Remove explicit dependency on
85915         $(GETOPT_H), redundant through BUILT_SOURCES.
85916         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
85917         redundant through BUILT_SOURCES.
85918         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
85919         redundant through BUILT_SOURCES.
85920         * modules/stdbool (Makefile.am): Remove explicit dependency on
85921         $(STDBOOL_H), redundant through BUILT_SOURCES.
85922         * modules/stdint (Makefile.am): Remove explicit dependency on
85923         $(STDINT_H), redundant through BUILT_SOURCES.
85924         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
85925         Remove explicit dependency on $(SYSEXITS_H).
85926         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
85927
85928 2005-07-18  Simon Josefsson  <jas@extundo.com>
85929
85930         * lib/check-version.c (check_version): Accept identical versions too.
85931
85932 2005-07-18  Bruno Haible  <bruno@clisp.org>
85933
85934         * modules/lock: New file.
85935         * MODULES.html.sh (Multithreading): New section.
85936
85937 2005-07-18  Bruno Haible  <bruno@clisp.org>
85938
85939         * m4/lock.m4: New file, from GNU gettext.
85940
85941 2005-07-18  Bruno Haible  <bruno@clisp.org>
85942
85943         * lib/lock.h: New file, from GNU gettext.
85944         * lib/lock.c: New file, from GNU gettext.
85945
85946 2005-07-18  Bruno Haible  <bruno@clisp.org>
85947
85948         * lib/lock.h (gl_once_t): New type.
85949         (gl_once_define, gl_once): New macros.
85950         * lib/lock.c (fresh_once): New variable.
85951         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
85952         functions.
85953
85954 2005-07-16  Simon Josefsson  <jas@extundo.com>
85955
85956         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
85957         workaround, suggested by Bruno.
85958
85959 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85960
85961         * modules/xalloc (Depends-on): Add xalloc-die.
85962         * modules/xvasprintf (Depends-on): Add xalloc-die.
85963
85964 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85965
85966         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
85967         with a minor change.
85968
85969 2005-07-15  Bruno Haible  <bruno@clisp.org>
85970
85971         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
85972         When using lib/poll.c, define poll as rpl_poll.
85973
85974 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
85975
85976         * modules/argp (Depends-on): Remove unlocked-io.
85977
85978 2005-07-14  Derek Price  <derek@ximbiot.com>
85979
85980         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
85981         for glob symlink bug.
85982
85983 2005-07-14  Bruno Haible  <bruno@clisp.org>
85984
85985         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
85986         Instead, test for *_unlocked function declarations directly.
85987
85988 2005-07-11  Simon Josefsson  <jas@extundo.com>
85989
85990         * modules/size_max: New file.
85991
85992         * modules/xsize: Depend on size_max module for size_max.m4.
85993
85994 2005-07-11  Simon Josefsson  <jas@extundo.com>
85995
85996         * lib/size_max.h: New file.
85997
85998 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
85999
86000         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86001         copyright symbol and the year.
86002         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86003         (version_etc_va): Use parameterized copyright notice.
86004         Reword to conform to the current GNU coding standards.
86005
86006 2005-07-11  Karl Berry  <karl@gnu.org>
86007
86008         * doc/gnulib.texi (Quoting): new node.
86009         (Initial import): more info, from Patrice.
86010
86011 2005-07-11  Bruno Haible  <bruno@clisp.org>
86012
86013         * gnulib-tool (func_usage): Document option --avoid.
86014         (Command line options): Handle --avoid.
86015         (func_acceptable): New function.
86016         (func_modules_transitive_closure): Use it.
86017
86018 2005-07-11  Bruno Haible  <bruno@clisp.org>
86019
86020         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86021         Reported by Jim Meyering.
86022
86023 2005-07-10  Bruno Haible  <bruno@clisp.org>
86024
86025         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86026         Needed when size_t is smaller than 'unsigned int'.
86027         Reported by Paul Eggert.
86028
86029 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86030
86031         * modules/argp (Depends-on): Add unlocked-io
86032
86033 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86034
86035         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86036         block of defines.
86037
86038 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86039
86040         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86041         fix now.
86042
86043 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86044         and Paul Eggert  <eggert@cs.ucla.edu>
86045
86046         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86047         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86048
86049 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86050
86051         * modules/regex (Files): Add lib/regex_internal.c,
86052         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86053         (Depends-on): Add extensions.
86054         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86055
86056 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86057
86058         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86059         pathconf.
86060         * m4/same.m4 (gl_SAME): Likewise.
86061         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86062
86063         * m4/regex.m4: Adjust to new libc regex implementation.
86064         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86065         all the .c and .h parts of (the new) regex.
86066         Quote the m4 stuff better.
86067         Check for RE_ICASE bug of old gnulib.
86068         Check for REG_STARTEND of recent libc.
86069         Rename local variables from jm_* to gl_*.
86070         Quote operand of "test -f".
86071         Say "recent enough" version of libc, not "version 2".
86072         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86073         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86074         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86075         Remove check for btowc, isascii.
86076         Require AM_LANGINFO_CODESET.
86077
86078 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86079
86080         * lib/regex.c, regex.h: Sync from libc.
86081         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86082         * lib/regexec.c:
86083         New files, synced from libc, except that regex_internal.h
86084         currently has a small porting fix.
86085
86086 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86087
86088         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86089         regex_internal.c, regexec.c.
86090         Add regex_internal.h too, but as a comment, since the libc version
86091         is currently broken in gnulib mode.
86092
86093 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86094
86095         Support programs like Emacs that use gnulib but not gettext.
86096         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86097         * modules/gettext-h: New file.
86098         * modules/gettext (Files): Remove lib/gettext.h.
86099         (Depends-on): Add gettext-h.
86100         (Makefile.am): Remove lib_SOURCES.
86101         * modules/argmatch, modules/c-stack, modules/closeout:
86102         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86103         * modules/execute, modules/file-type, modules/getaddrinfo:
86104         * modules/getopt, modules/human, modules/javacomp:
86105         * modules/javaexec, modules/mkdir-p, modules/obstack:
86106         * modules/openat, modules/pagealign_alloc, modules/pipe:
86107         * modules/quotearg, modules/regex, modules/rpmatch:
86108         * modules/unicodeio, modules/userspec, modules/version-etc:
86109         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86110         * modules/xsetenv:
86111         Depend on gettext-h, not gettext.
86112
86113 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86114
86115         * gnulib-tool (func_import): Add support for 'public domain' license.
86116         * modules/alloca, modules/atexit, modules/memmove:
86117         Now public domain, not GPL.
86118         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86119         * modules/realloc, modules/strerror, modules/strtod:
86120         Now LGPL, not GPL.
86121
86122 2005-07-05  Bruno Haible  <bruno@clisp.org>
86123
86124         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86125         autoconf CVS. Needed for mingw.
86126
86127 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86128
86129         Remove the dependency of the strftime module on the tzset module.
86130         * modules/strftime (Depends-on): Remove dependency on tzset.
86131
86132 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86133
86134         Remove the dependency of the strftime module on the tzset module.
86135         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86136         gl_FUNC_TZSET_CLOBBER.
86137
86138 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86139
86140         Remove the dependency of the strftime module on the tzset module.
86141         * lib/strftime.c (my_strftime)
86142         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86143         Copy the input structure, to work around some of the bug with
86144         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86145         Solaris releases, you should also use the tzset module, but we won't
86146         require it as a dependency any more since we don't want LGPLed code
86147         to depend on GPLed code.
86148
86149 2005-07-02  Jim Meyering  <jim@meyering.net>
86150
86151         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86152         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86153         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86154         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86155
86156 2005-07-02  Jim Meyering  <jim@meyering.net>
86157
86158         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86159
86160 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86161
86162         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86163         declares only 'struct timespec;' (!).
86164
86165 2005-07-01  Jim Meyering  <jim@meyering.net>
86166
86167         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86168         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86169         * lib/save-cwd.c, tempname.c:
86170         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86171         and don't include <sys/file.h>).
86172
86173 2005-06-29  Jim Meyering  <jim@meyering.net>
86174
86175         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86176         type name.  Use the variable name instead.
86177         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86178         Likewise.
86179
86180 2005-06-28  Simon Josefsson  <jas@extundo.com>
86181
86182         * modules/check-version (Files): Add check-version.m4.
86183
86184 2005-06-28  Simon Josefsson  <jas@extundo.com>
86185
86186         * m4/check-version.m4: New file, suggested by Jim Meyering
86187         <jim@meyering.net>.
86188
86189 2005-06-28  Simon Josefsson  <jas@extundo.com>
86190
86191         * lib/check-version.h, lib/check-version.c: New files.
86192
86193 2005-06-28  Simon Josefsson  <jas@extundo.com>
86194
86195         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86196         collision with global variable.  Better indentation.  Don't
86197         increment buffer pointer beyond buffer end.  Based on comments
86198         from Paul Eggert <eggert@cs.ucla.edu>.
86199
86200         * lib/base64.h: Indent.
86201
86202 2005-06-28  Simon Josefsson  <jas@extundo.com>
86203
86204         * doc/gnulib.texi (Library version handling): New section.
86205
86206 2005-06-28  Jim Meyering  <jim@meyering.net>
86207
86208         * check-module (find_included_lib_files): Hard-code another
86209         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86210         but modules/fts-lgpl (correctly) does not list those files.
86211
86212         * modules/canonicalize (Files): Add lib/pathmax.h.
86213
86214 2005-06-25  Simon Josefsson  <jas@extundo.com>
86215
86216         * modules/check-version: New file.
86217
86218 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86219
86220         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86221         initializer of struct addrinfo, as an indication that we don't
86222         care how many members the structure has.
86223
86224 2005-06-24  Derek Price  <derek@ximbiot.com>
86225         and Bruno Haible  <bruno@clisp.org>
86226
86227         Remove stat module & update lstat.
86228         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86229         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86230         * m4/stat.m4: Remove this file.
86231
86232 2005-06-24  Derek Price  <derek@ximbiot.com>
86233         and Bruno Haible  <bruno@clisp.org>
86234
86235         Remove stat module & update lstat.
86236         * lib/stat.c: Remove this file...
86237         (slash_aware_lstat): ...moving this content and its support...
86238         * lib/lstat.c (rpl_lstat): ...into here.
86239         * lib/lstat.h: New file.
86240
86241 2005-06-24  Derek Price  <derek@ximbiot.com>
86242         and Bruno Haible  <bruno@clisp.org>
86243
86244         Remove stat module & update lstat.
86245         * config/srclist.txt (libc sources): Remove stat.
86246
86247 2005-06-24  Derek Price  <derek@ximbiot.com>
86248         and Bruno Haible  <bruno@clisp.org>
86249
86250         Remove stat module & update lstat.
86251         * MODULES.html.sh (stat): Remove.
86252         * MODULES.html: Regenerated.
86253         * modules/lstat (Description): Correct function name.
86254         (Files): Add "lstat.h".
86255         (Depends-on): Remove stat, add xalloc, stat-macros.
86256         * modules/stat: Remove this file.
86257         (Include): Add "lstat.h", remove <sys/stat.h>.
86258
86259 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86260
86261         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86262         (ranged_convert): Don't save conversion in a temporary struct.
86263         This causes a warning with GCC 4.0.0, and anyway in the typical
86264         case it's not worth the extra 100 bytes or so of code.
86265         (ranged_convert, __mktime_internal): When calling a function via a
86266         pointer P, use P () rather than (*P) (), as we now assume C89 or
86267         better.
86268
86269 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86270
86271         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86272         "who -r" failed to give output.  Problem reported by Tim Waugh.
86273
86274         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86275         (xcalloc): Use it to avoid needless tests.
86276         Problem reported by Jim Meyering.
86277
86278 2005-06-20  Derek Price  <derek@ximbiot.com>
86279
86280         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86281         unnecessary for Autoconfs > 2.59c.
86282
86283 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86284
86285         * lib/argp.h (__option_is_short): Check upper limit of
86286         __key. Isprint() requires its argument to have the value
86287         of an unsigned char or EOF.
86288
86289 2005-06-16  Jim Meyering  <jim@meyering.net>
86290
86291         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86292         when either N or S is zero.
86293
86294 2005-06-16  Derek Price  <derek@ximbiot.com>
86295
86296         * m4/bison.m4: Declare YACC & YFLAGS precious.
86297
86298 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86299
86300         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86301         multibyte string or pattern, fall back on unibyte matching.
86302         Problem reported by James Youngman.
86303
86304 2005-06-08  Bruno Haible  <bruno@clisp.org>
86305
86306         * modules/csharpcomp: New file.
86307         * MODULES.html.sh (C#): Add csharpcomp.
86308
86309 2005-06-08  Bruno Haible  <bruno@clisp.org>
86310
86311         * m4/csharpcomp.m4: New file, from GNU gettext.
86312
86313 2005-06-08  Bruno Haible  <bruno@clisp.org>
86314
86315         * lib/csharpcomp.h: New file, from GNU gettext.
86316         * lib/csharpcomp.c: New file, from GNU gettext.
86317         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86318
86319 2005-06-08  Bruno Haible  <bruno@clisp.org>
86320
86321         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86322         warning on mingw.
86323
86324 2005-06-07  Derek Price  <derek@ximbiot.com>
86325
86326         Sync from CVS.
86327         * lib/glob_.h: Indent nested #ifdef.
86328
86329 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86330
86331         Sync from coreutils.
86332         Use "file name" when talking about file names, instead of "filename"
86333         or "path", as per the GNU coding standards.
86334         * lib/mkdir-p.c: Renamed from makepath.c.
86335         (make_dir_parents): Renamed from make_path.  All callers changed.
86336         * lib/mkdir-p.h: Likewise.  All includers changed.
86337         * lib/filenamecat.c: Renamed from path-concat.c.
86338         (file_name_concat): Renamed from path_concat.  All callers changed.
86339         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86340         * lib/filenamecat.h: Likewise.  All includers changed.
86341         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86342         in comments or local variable names.
86343         * lib/basename.c: Likewise.
86344         * lib/canonicalize.c, canonicalize.h: Likewise.
86345         * lib/dirname.c, dirname.h: Likewise.
86346         * lib/euidaccess.c: Likewise.
86347         * lib/exclude.c: Likewise
86348         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86349         * lib/fsusage.c, fsuage.h: Likewise.
86350         * lib/fts.c, fts_.h: Likewise.
86351         * lib/getcwd.c: Likewise.
86352         * lib/getloadavg.c: Likewise.
86353         * lib/mkstemp.c: Likewise.
86354         * lib/mountlist.c, mountlist.h: Likewise.
86355         * lib/openat.c, openat.h: Likewise.
86356         * lib/readlink-stub.c: Likewise.
86357         * lib/readutmp.c, readutmp.h: Likewise.
86358         * lib/rename.c: Likewise.
86359         * lib/rmdir.c: Likewise.
86360         * lib/same.c: Likewise.
86361         * lib/savedir.c: Likewise.
86362         * lib/stripslash.c: Likewise.
86363         * lib/tempname.c: Likewise.
86364         * lib/xreadlink.c: Likewise.
86365         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86366         All uses changed.
86367         * lib/exclude.h: Likewise.
86368
86369         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86370         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86371         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86372         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86373         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86374         files have been getting away with it for years (MORE/BSD 4.3
86375         is extinct now).
86376         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86377         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86378
86379         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86380         Define to 256, not 255, as per modern POSIX.
86381
86382 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86383
86384         Sync from coreutils.
86385         Use "file name" when talking about file names, instead of "filename"
86386         or "path", as per the GNU coding standards.
86387         * MODULES.html.sh: mkdir-p renamed from makepath.
86388         filenamecat renamed from path-concat.
86389         * modules/filenamecat: Renamed from modules/path-concat.
86390         (Files): filenamecat.h and filenamecat.c renamed from
86391         path-concat.h and path-concat.c.
86392         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86393         (Include): filenamecat.h, not path-concat.h.
86394         * modules/mkdir-p: Renamed from modules/makepath.
86395         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86396         makepath.c.
86397         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86398         (Include): mkdir-p.h, not makepath.h.
86399
86400 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86401
86402         Sync from coreutils.
86403         * m4/mkdir-p.m4: Renamed from makepath.m4.
86404         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86405         Rename files from makepath.c to mkdir-p.c, and from
86406         makepath.h to mkdir-p.h.
86407         * m4/filenamecat.m4: Renamed from path-concat.m4.
86408         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86409         Rename files from path-concat.c to filenamecat.c,
86410         and from path-concat.h to filenamecat.h.
86411         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86412         "file name" in local variables or comments.
86413         * m4/rename.m4: Likewise.
86414
86415 2005-06-01  Bruno Haible  <bruno@clisp.org>
86416
86417         * modules/csharpexec: New file.
86418         * MODULES.html.sh (C#): New section.
86419
86420 2005-06-01  Bruno Haible  <bruno@clisp.org>
86421
86422         * m4/csharp.m4: New file, from GNU gettext.
86423         * m4/csharpexec.m4: New file, from GNU gettext.
86424
86425 2005-06-01  Bruno Haible  <bruno@clisp.org>
86426
86427         * lib/csharpexec.h: New file, from GNU gettext.
86428         * lib/csharpexec.c: New file, from GNU gettext.
86429         * lib/csharpexec.sh.in: New file, from GNU gettext.
86430
86431 2005-05-31  Derek Price  <derek@ximbiot.com>
86432             Paul Eggert  <eggert@cs.ucla.edu>
86433
86434         Sync from cvs.
86435         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86436
86437 2005-05-31  Derek Price  <derek@ximbiot.com>
86438             Paul Eggert  <eggert@cs.ucla.edu>
86439
86440         Sync from cvs.
86441         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86442
86443 2005-05-29  Derek Price  <derek@ximbiot.com>
86444
86445         * config/srclist.txt (glob_.h, glob.c): Add these files.
86446
86447 2005-05-29  Derek Price  <derek@ximbiot.com>
86448
86449         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86450         * modules/glob: New file.
86451         * modules/getlogin_r: Add link to POSIX spec in description.
86452
86453 2005-05-29  Derek Price  <derek@ximbiot.com>
86454             Paul Eggert  <eggert@cs.ucla.edu>
86455
86456         * m4/glob.m4: New file.
86457
86458 2005-05-29  Derek Price  <derek@ximbiot.com>
86459             Paul Eggert  <eggert@cs.ucla.edu>
86460
86461         * lib/glob_.h, lib/glob.c: New files.
86462
86463 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86464
86465         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86466         * modules/fts-lgpl (Depends-on): Remove gettext.
86467
86468 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86469
86470         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86471         and don't require gt_INTTYPES_PRI.
86472
86473 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86474
86475         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86476
86477         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86478         the configuration hassle isn't worth it.
86479         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86480         (LONGEST_MODIFIER, PRIuMAX): Remove.
86481
86482 2005-05-27  Bruno Haible  <bruno@clisp.org>
86483
86484         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86485
86486 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86487
86488         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86489         _POSIX_PTHREAD_SEMANTICS for Solaris.
86490
86491 2005-05-25  Derek Price  <derek@ximbiot.com>
86492
86493         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86494
86495 2005-05-25  Derek Price  <derek@ximbiot.com>
86496             Paul Eggert  <eggert@cs.ucla.edu>
86497
86498         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86499         * lib/getlogin_r.c, getlogin_r.h: New files.
86500
86501 2005-05-25  Bruno Haible  <bruno@clisp.org>
86502             Derek Price  <derek@ximbiot.com>
86503
86504         * lib/getlogin_r.h: Simplify API documentation.
86505
86506 2005-05-23  Derek Price  <derek@ximbiot.com>
86507
86508         * modules/minmax (Files): Add m4/minmax.m4.
86509         (configure.ac): Add gl_MINMAX.
86510
86511 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86512
86513         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86514         so that unistd-safer.h (GPL'ed code) need not be included.
86515
86516 2005-05-22  Bruno Haible  <bruno@clisp.org>
86517
86518         * m4/minmax.m4: New file.
86519         Based on a patch by Derek Price <derek@ximbiot.com>.
86520
86521 2005-05-22  Bruno Haible  <bruno@clisp.org>
86522
86523         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86524         (INT64_MIN): Fix definition.
86525         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86526
86527         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86528         NEED_SIGNED_INT_TYPES.
86529
86530         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86531         HAVE_SYSTEM_INTTYPES.
86532
86533 2005-05-22  Bruno Haible  <bruno@clisp.org>
86534
86535         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86536         Also include <sys/param.h> if it defines MIN, MAX.
86537         Based on a patch by Derek Price <derek@ximbiot.com>.
86538
86539 2005-05-21  Jim Meyering  <jim@meyering.net>
86540
86541         * modules/fts (Files): Add m4/inttypes-pri.m4.
86542         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86543
86544 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86545
86546         New fts module.
86547         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86548         (setup_dir, free_dir): New functions.
86549         (enter_dir, leave_dir): Define trivial
86550         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86551         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86552         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86553         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86554         Move to fts-cycle.c.
86555         (fts_open): Use setup_dir.
86556         (fts_close): Use free_dir.
86557         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86558         This adds a label and some gotos, but the alternatives were messier.
86559         Check for memory allocation failure when entering a dir.
86560         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86561         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86562         (FTS): New member fts_cycle, that is a union that contains the
86563         old active_dir_ht and cycle_state.  All uses changed to mention
86564         fts_cycle.ht and fts_cycle.state.
86565         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86566         fts.c, with the following changes:
86567         (setup_dir, free_dir): New functions.
86568         (enter_dir): Now returns bool.  Return true if successful, false
86569         if memory exhausted.  All callers changed.
86570         Do not bother partly cleaning up on
86571         memory allocation failure; that is free_dir's job.
86572         However, free ad if hash_insert fails, to avoid memory leak.
86573         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86574         fts->fts_options to see which union member to use.
86575
86576 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86577
86578         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86579         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86580
86581 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86582
86583         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86584
86585 2005-05-20  Jim Meyering  <jim@meyering.net>
86586
86587         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86588         Now a macro, to pacify GCC.
86589
86590 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86591
86592         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86593         of -1.
86594
86595 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86596
86597         * lib/chown.c (rpl_chown): Return -1 on failure.
86598
86599 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86600
86601         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86602         Don't check for stddef.h.
86603         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86604         don't use its results.
86605         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86606         since we include them unconditionally.  Don't require
86607         AM_STDBOOL_H, since stdbool is a prerequisite.
86608         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86609         since we assume C89 or better.
86610         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86611         as we don't use their results.
86612         Don't check for fchdir, memmove, memset, strrchr, as we use
86613         them unconditionally.
86614         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86615         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86616
86617 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86618
86619         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86620         Include <stddef.h> unconditionally, since we assume C89 now.
86621         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86622         * lib/fts.c: Include fts_.h first, to check interface.
86623         Do not include intprops.h; no longer needed.
86624         Include cycle-check.h and hash.h, since fts_.h no longer does.
86625         Remove unnecessary casts of closedir to void.
86626         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86627         decide whether to decrement nlinks.
86628         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86629         (FTS): Use struct hash_table * instead of Hash_table, so that
86630         we no longer need to include hash.h here.
86631
86632 2005-05-18  Jim Meyering  <jim@meyering.net>
86633
86634         * modules/dirfd (License): Change to LGPL.  Most of the code
86635         is already in the public domain.
86636
86637 2005-05-18  Jim Meyering  <jim@meyering.net>
86638
86639         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86640         Reported by Yoann Vandoorselaere.
86641
86642 2005-05-17  Jim Meyering  <jim@meyering.net>
86643
86644         * m4/fts.m4: New file, from coreutils.
86645
86646 2005-05-17  Jim Meyering  <jim@meyering.net>
86647
86648         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86649
86650 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86651
86652         Sync from coreutils.
86653         * m4/unlinkdir.m4: New file.
86654
86655 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86656
86657         Sync from coreutils.
86658         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86659         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86660         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86661         White space changes only.
86662         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86663         special.
86664         * lib/yesno.c: Include getline.h, not ctype.h.
86665         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86666         Use getline to remove arbitrary restriction on response length.
86667
86668 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86669
86670         * config/srclist-update: Spell out "Street" in FSF postal
86671         mail address; this is the style the FSF seems to prefer.
86672
86673         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86674         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86675         this updates FSF postal mail address.
86676
86677         Sync from coreutils.
86678         * modules/unlinkdir: New file.
86679         * modules/yesno (Depends-on): Add getline.
86680         * MODULES.html.sh (File system functions): Add unlinkdir.
86681
86682 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86683
86684         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86685         lib/strsep.h:
86686         Change the initial comment to refer to GPL, not LGPL.
86687         gnulib-tool will change it to LGPL as needed.
86688
86689         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86690         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86691         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86692         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86693         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86694         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86695         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86696         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86697         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86698         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86699         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86700         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86701         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86702         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86703         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86704         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86705         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86706         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86707         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86708         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
86709         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
86710         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
86711         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
86712         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
86713         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
86714         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
86715         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
86716         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
86717         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
86718         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
86719         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
86720         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
86721         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
86722         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
86723         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
86724         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
86725         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
86726         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
86727         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
86728         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
86729         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
86730         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
86731         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
86732         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
86733         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
86734         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
86735         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
86736         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
86737         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
86738         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
86739         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86740         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
86741         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
86742         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
86743         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
86744         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
86745         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
86746         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
86747         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
86748         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
86749         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
86750         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
86751         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
86752         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
86753         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
86754         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
86755         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
86756         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
86757         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
86758         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
86759         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
86760         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
86761         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
86762         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
86763         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
86764         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
86765         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
86766         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
86767         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
86768         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
86769         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
86770         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
86771         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
86772         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
86773         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
86774         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
86775         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
86776         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
86777         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
86778         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
86779         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
86780         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
86781         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
86782         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
86783         lib/yesno.c, lib/yesno.h:
86784         Update FSF postal mail address.
86785
86786 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86787
86788         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
86789         tests/test-memmem.c, tests/test-stpncpy.c:
86790         Update FSF postal mail address.
86791
86792 2005-05-13  Bruno Haible  <bruno@clisp.org>
86793
86794         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
86795         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
86796         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
86797         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
86798         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
86799         Add support for 64-bit integers in the MSVC compiler.
86800
86801 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86802
86803         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
86804
86805 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
86806
86807         * gnulib-tool (func_import): Sort and uniquify recommended includes.
86808
86809 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
86810
86811         * doc/getdate.texi (General date syntax): Don't say that date
86812         date --iso-8601=ns generates acceptable dates; it doesn't yet.
86813         Problem reported by Nic Ferrier.
86814
86815 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86816
86817         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
86818         specified in ai_socktype. Fix invalid ai_protocol
86819         check. ai_protocol is usually set to 0 or depending on
86820         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
86821         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
86822         ai_socktype / ai_protocol in the returned addrinfo structure.
86823
86824 2005-05-10  Simon Josefsson  <jas@extundo.com>
86825
86826         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
86827         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86828
86829 2005-05-10  Karl Berry  <karl@gnu.org>
86830
86831         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
86832         (from http://www.gnu.org/licenses).
86833         * doc/COPYING.LIB: also rename to COPYING.LESSER.
86834         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
86835         fdl.texi suffices.
86836
86837 2005-05-10  Karl Berry  <karl@gnu.org>
86838
86839         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
86840         (COPYING.DOC): remove.
86841
86842         * config/srclist-update: new FSF address.
86843
86844 2005-05-10  Derek Price  <derek@ximbiot.com>
86845
86846         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
86847         possible.
86848
86849 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86850             Bruno Haible  <bruno@clisp.org>
86851
86852         * modules/inet_ntop: New file.
86853         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86854         inet_ntop.
86855
86856 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86857             Bruno Haible  <bruno@clisp.org>
86858
86859         * m4/inet_ntop.m4: New file.
86860
86861 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86862             Bruno Haible  <bruno@clisp.org>
86863
86864         * lib/inet_ntop.h: New file.
86865         * lib/inet_ntop.c: New file, from glibc with modifications.
86866
86867 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
86868
86869         * modules/time_r (License): Change to LGPL.
86870         * modules/extensions (License): Change to LGPL.  Actually,
86871         the license is more permissive than that, but currently gnulib-tool
86872         doesn't know how to handle more-permissive licenses.
86873
86874         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86875         Problem reported by Dave Love.
86876
86877 2005-05-08  Jim Meyering  <jim@meyering.net>
86878
86879         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86880         blank.
86881
86882 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86883
86884         * modules/argmatch (Depends-on): Add stdbool.
86885         * modules/backupfile (Depends-on): Likewise.
86886         * modules/chdir-long (Depends-on): Likewise.
86887         * modules/closeout (Depends-on): Likewise.
86888         * modules/cycle-check (Depends-on): Likewise.
86889         * modules/dirname (Depends-on): Likewise.
86890         * modules/fnmatch (Depends-on): Likewise.
86891         * modules/fsusage (Depends-on): Likewise.
86892         * modules/fwriteerror (Depends-on): Likewise.
86893         * modules/getcwd (Depends-on): Likewise.
86894         * modules/getloadavg (Depends-on): Likewise.
86895         * modules/hard-locale (Depends-on): Likewise.
86896         * modules/makepath (Depends-on): Likewise.
86897         * modules/mountlist (Depends-on): Likewise.
86898         * modules/nanosleep (Depends-on): Likewise.
86899         * modules/posixtm (Depends-on): Likewise.
86900         * modules/quotearg (Depends-on): Likewise.
86901         * modules/readtokens (Depends-on): Likewise.
86902         * modules/readtokens0 (Depends-on): Likewise.
86903         * modules/readutmp (Depends-on): Likewise.
86904         * modules/save-cwd (Depends-on): Likewise.
86905         * modules/strftime (Depends-on): Likewise.
86906         * modules/userspec (Depends-on): Likewise.
86907         * modules/utimecmp (Depends-on): Likewise.
86908         * modules/xgetcwd (Depends-on): Likewise.
86909         * modules/xnanosleep (Depends-on): Likewise.
86910         * modules/xstrtod (Depends-on): Likewise.
86911         * modules/yesno (Depends-on): Likewise.
86912
86913 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
86914
86915         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
86916         needless checks.
86917
86918 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86919
86920         Merge from coreutils.  Among other things,
86921         add bulletproofing for cases where stdin, stdout, or stderr are closed.
86922         * lib/fd-safer.c: New file.
86923         * lib/fcntl-safer.h, open-safer.c: Remove.
86924         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
86925         * lib/dup-safer.c: Include unistd-safer.h first.
86926         Don't include errno.h.
86927         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
86928         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
86929         * lib/file-type.c: Rely on file-type.h change.
86930         * lib/getloadavg.c: Include unistd-safer.h.
86931         (getloadavg): Use safer open.
86932         * lib/getusershell.c: Include "stdio-safer.h".
86933         (getusershell): Use safer fopen.
86934         * lib/long-options.c (long_options): Use NULL rather than 0.
86935         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
86936         'free'.
86937         * lib/modechange.c: Likewise.
86938         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
86939         (MODE_DONE): New constant.
86940         (struct mode_change): Remove 'next' member.
86941         (make_node_op_equals): New function; like the old one of the
86942         same name, except it allocates an array.
86943         (mode_compile, mode_create_from_ref): Use it.
86944         (mode_compile): Allocate result as an array, not a linked list.
86945         Parse octal string ourself, so that we catch mistakes like "+0".
86946         (mode_adjust): Arg is an array, not a linked list.
86947         * lib/modechange.c: Include stat-macros.h, xalloc.h.
86948         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
86949         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
86950         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
86951         Remove.  This is now stat-macros.h's job.
86952         (talloc): Remove.  All callers replaced by xalloc, so that
86953         our invokers don't have to worry about reporting memory failures.
86954         (make_node_op_equals): Remove.
86955         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86956         New constants.
86957         (struct mode_change): Moved here from modechange.h.
86958         (mode_append_entry): Remove.
86959         (mode_compile): Remove MASKED_OPS arg, since it encouraged
86960         apps to have incorrect behavior.  Use simpler algorithm for head
86961         and tail.  Don't futz with umask; that's now the job of mode_adjust.
86962         Detect more invalid usages rather than having somewhat-random behavior.
86963         Don't insert an "a=" action, as that leads to incorrect behavior.
86964         (mode_compile, mode_create_from_ref): Return NULL on error instead
86965         of an enum, since now there's only one way to have an error.  All
86966         callers changed.
86967         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
86968         at the correct time.  Simplify calculation of "+u" and its ilk.
86969         Don't mishandle "+X".
86970         (mode_free): Remove "register" and localize decls.
86971         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86972         (struct mode_change): Move to modechange.c; callers don't
86973         need to see this stuff.
86974         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
86975         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
86976         (mode_change, mode_adjust): Reflect the new signatures noted above.
86977         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
86978         that might redefine system include files.
86979         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
86980         (my_usleep): Use NULL rather than (void *) 0.
86981         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
86982         Use siginterrupt to specify that system calls should be interrupted.
86983         (rpl_nanosleep): Move initialization of suspended closer to call of
86984         my_usleep.
86985         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
86986         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
86987         (desirable_utmp_entry): New function.
86988         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
86989         using x2nrealloc, to simplify logic.
86990         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
86991         size calculation.  Do not assume utmp file is a regular file.
86992         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
86993         (READ_UTMP_CHECK_PIDS): New constant.
86994         * lib/save-cwd.c: Include unistd-safer.h.
86995         (save_cwd): Use fd_safer.
86996         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
86997         [!_LIBC] Include "stat-macros.h" instead.
86998         * lib/unistd-safer.h (fd_safer): New decl.
86999
87000 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87001
87002         * modules/getloadavg (Depends-on): Add unistd-safer.
87003         * modules/getusershell (Depends-on): Add stdio-safer.
87004         * modules/lstat (Depends-on): Remove xalloc.
87005         * modules/mkstemp (Depends-on): Add stat-macros.
87006         * modules/modechange (Depends-on): Remove xstrtol.
87007         Add stat-macros, xalloc.
87008         * modules/save-cwd (Depends-on): Add unistd-safer.
87009         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87010         * modules/unistd-safer (Files): Add lib/fd-safer.c
87011         (Makefile.am): Remove lib_SOURCES.
87012
87013         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87014         Remove fcntl-safer; unistd-safer supersedes it.
87015
87016 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87017
87018         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87019         AC_HEADER_STAT.
87020         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87021         (gl_PREREQ_CHOWN): Remove.
87022         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87023         it.  Don't require AC_HEADER_STAT.
87024         (gl_PREREQ_LSTAT): Remove.
87025         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87026         Don't require AC_HEADER_STAT.
87027         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87028         (gl_PREREQ_RMDIR): Remove.
87029         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87030         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87031         the stat-macros module a prerequisite.
87032         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87033         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87034         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87035         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87036         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87037         variable names.
87038         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87039         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87040         variable prefixes.
87041         * m4/fcntl-safer.m4: Remove.
87042         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87043         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87044         Invoke gl_PREREQ_FD_SAFER.
87045         (gl_PREREQ_FD_SAFER): New macro.
87046         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87047         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87048         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87049         Remove duplicate call to AC_LIBOBJ(readutmp).
87050         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87051
87052         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87053         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87054
87055 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87056
87057         * MODULES.html.sh (Misc): Add byteswap.
87058
87059 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87060
87061         * modules/getcwd (Depends-on): Add extensions.
87062         * modules/openat (Depends-on): Likewise.
87063
87064 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87065
87066         * modules/byteswap: New file.
87067
87068 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87069
87070         * m4/byteswap.m4: New file.
87071
87072 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87073
87074         * lib/byteswap_.h: New file.
87075
87076 2005-04-25  Karl Berry  <karl@gnu.org>
87077
87078         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87079
87080 2005-04-25  Albert Chin  <china@thewrittenword.com>
87081
87082         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87083         Toolkit C bug.
87084
87085 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87086
87087         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87088         (func_ln_if_changed): Remove forcibly for no error message
87089         in case file does not exist.
87090
87091 2005-04-19  Simon Josefsson  <jas@extundo.com>
87092
87093         * gnulib-tool (Options): Make --symlink mean --symbolic.
87094
87095 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87096
87097         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87098
87099 2005-04-16  Simon Josefsson  <jas@extundo.com>
87100
87101         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87102
87103 2005-04-15  Simon Josefsson  <jas@extundo.com>
87104
87105         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87106
87107 2005-04-15  Simon Josefsson  <jas@extundo.com>
87108
87109         * gnulib-tool: Rename --symlink to --symbolic.
87110
87111 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87112
87113         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87114         symbolic links to files instead of copying/moving.  Add --aux-dir,
87115         specifying directory relative --dir where auxiliary build tools
87116         are placed.
87117
87118 2005-04-14  Bruno Haible  <bruno@clisp.org>
87119
87120         * modules/allocsa (License): Change to LGPL.
87121         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87122
87123 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87124
87125         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87126         that "UTC +1 second" continues to work.  Problem reported
87127         by Dmitry V. Levin.
87128         (relunit_snumber): New rule.
87129         (relunit): Use it.
87130
87131 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87132
87133         * lib/getdate.y (universal_time_zone_table): New constant.
87134         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87135         universal_time_zone_table.
87136         (lookup_zone): Prefer universal_time_zone_table to
87137         local_time_zone_table, so that "GMT" time stamps are allowed in
87138         London during the summer.  Problem reported by Ian Abbott.
87139
87140 2005-04-12  Jim Meyering  <jim@meyering.net>
87141
87142         * lib/human.c (humblock): Set *options even when returning due to
87143         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87144         warning from gcc-4.
87145
87146 2005-04-09  Jim Meyering  <jim@meyering.net>
87147
87148         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87149         -Wuninitialized: initialize tm0.tm_year.
87150
87151 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87152
87153         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87154         count, since there's no maximum.  All uses changed.
87155         Add member dsts_seen.
87156         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87157         not being INT_MAX.
87158         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87159         Use pc_rels_seen to decide whether a date is absolute.
87160
87161         * lib/getdate.y (number): Don't overwrite year.
87162         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87163         check.
87164
87165 2005-04-02  Simon Josefsson  <jas@extundo.com>
87166
87167         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87168         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87169
87170 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87171
87172         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87173         where no absolute path name can be longer than PATH_MAX.
87174
87175 2005-03-27  Jim Meyering  <jim@meyering.net>
87176
87177         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87178
87179 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87180
87181         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87182         "one's complement" -> "ones' complement" in comment, as per Knuth.
87183         "value of type" -> "type or expression" in comment.
87184         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87185
87186 2005-03-26  Jim Meyering  <jim@meyering.net>
87187
87188         Comment nits.
87189         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87190         Correct typos: s/or/of/.
87191
87192 2005-03-26  Jim Meyering  <jim@meyering.net>
87193
87194         * modules/check-include-files: Move to ../ and rename to...
87195         * check-module: ...this.
87196
87197 2005-03-25  Jim Meyering  <jim@meyering.net>
87198
87199         * modules/xvasprintf (Files): Add xalloc.h.
87200
87201 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87202
87203         * modules/gettext (Files): config/config.rpath ->
87204         build-aux/config.rpath
87205         * modules/iconv (Files): Likewise.
87206         Problem reported by Oskar Liljeblad.
87207
87208 2005-03-23  Jim Meyering  <jim@meyering.net>
87209
87210         * modules/check-include-files: New script to check for
87211         missing dependencies, multiple includes, etc.
87212
87213         * modules/c-strtold (Depends-on): Add xalloc.
87214         * modules/c-strtod (Depends-on): Add xalloc.
87215         * modules/hash (Depends-on): Add xalloc.
87216         (Files): Remove lib/xalloc.h.
87217
87218         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87219         * modules/userspec (Files): Add lib/inttostr.h.
87220
87221 2005-03-23  Jim Meyering  <jim@meyering.net>
87222
87223         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87224
87225 2005-03-22  Jim Meyering  <jim@meyering.net>
87226
87227         * modules/stat-macros: New module.
87228         * modules/canonicalize, modules/euidaccess, modules/file-type,
87229         * modules/filemode, modules/lchown, modules/makepath,
87230         * modules/rmdir, modules/stat: Depend on new stat-macros module
87231         rather than listing lib/stat-macros.h manually.
87232         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87233
87234 2005-03-22  Jim Meyering  <jim@meyering.net>
87235
87236         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87237
87238 2005-03-22  Bruno Haible  <bruno@clisp.org>
87239
87240         * config/srclist.txt: Replace target directory 'config' with
87241         'build-aux'.
87242         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87243         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87244         ../build-aux/.
87245
87246 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87247
87248         * modules/chdir-long (Depends-on): Add mempcpy.
87249
87250         * modules/acl, modules/backupfile, modules/c-strtod,
87251         modules/c-strtold, modules/canon-host, modules/canonicalize,
87252         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87253         modules/exclude, modules/exitfail, modules/file-type,
87254         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87255         modules/getdate, modules/getline, modules/getpagesize,
87256         modules/getpass, modules/getugroups, modules/group-member,
87257         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87258         modules/inttostr, modules/long-options, modules/makepath,
87259         modules/md5, modules/memcasecmp, modules/memcoll,
87260         modules/modechange, modules/mountlist, modules/path-concat,
87261         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87262         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87263         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87264         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87265         modules/strftime, modules/strndup, modules/strverscmp,
87266         modules/timespec, modules/unlocked-io, modules/userspec,
87267         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87268         modules/yesno:
87269         Remove lib_SOURCES line from Makefile.am section, as this is now
87270         done automatically by the corresponding Autoconf macro.
87271
87272 2005-03-21  Jim Meyering  <jim@meyering.net>
87273
87274         Changes imported from coreutils.
87275
87276         * lib/cycle-check.c: Don't include xalloc.h.
87277
87278         * lib/path-concat.c: Don't include assert.h.
87279         (path_concat): Remove assertion that would have triggered
87280         for ABASE starting with more than one slash.
87281         Reported by Andreas Schwab.
87282
87283         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87284         properly when ABASE is an absolute file name.
87285         Correct the description of this function.
87286         Include <assert.h>.
87287         Add an assertion and a test driver.
87288         This fixes a bug introduced on 2004-07-02.
87289         Andreas Schwab reported the resulting failure of cp --parents:
87290         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87291
87292 2005-03-21  Jim Meyering  <jim@meyering.net>
87293
87294         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87295         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87296
87297 2005-03-21  Jim Meyering  <jim@meyering.net>
87298         and  Paul Eggert  <eggert@cs.ucla.edu>
87299
87300         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87301         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87302         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87303         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87304         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87305         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87306         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87307         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87308         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87309         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87310         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87311         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87312         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87313         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87314         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87315         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87316         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87317         for these modules.
87318
87319 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87320
87321         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87322         (which shouldn't happen), generate nothing instead of returning 0
87323         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87324
87325 2005-03-16  Bruno Haible  <bruno@clisp.org>
87326
87327         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87328         HAVE_LONGLONG_64BIT.
87329
87330 2005-03-16  Bruno Haible  <bruno@clisp.org>
87331
87332         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87333         HAVE_LONGLONG_64BIT.
87334
87335 2005-03-16  Bruno Haible  <bruno@clisp.org>
87336
87337         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87338         HAVE_LONGLONG_64BIT.
87339
87340 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87341
87342         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87343         reliably distinguish strftime failure from empty output on POSIX
87344         hosts.
87345
87346 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87347
87348         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87349         (iconv_string): Don't guess a size-zero buffer, as that might cause
87350         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87351         result would be 'too large', where 'too large' is (heuristically)
87352         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87353         overflow concerns.  This will prevent some unwanted malloc failures
87354         when the inputs are very large.
87355
87356 2005-03-15  Karl Berry  <karl@gnu.org>
87357
87358         * config/srclist.txt (config.rpath): from gettext.
87359         * config/config.rpath: update.
87360
87361 2005-03-15  Bruno Haible  <bruno@clisp.org>
87362
87363         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87364         to 'negate'.
87365
87366         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87367         variable.
87368
87369         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87370         results.
87371
87372 2005-03-14  Simon Josefsson  <jas@extundo.com>
87373
87374         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87375         <fx@gnu.org>.
87376
87377 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87378
87379         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87380         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87381         intprops.h.
87382         * lib/strtol.c: Likewise.
87383
87384 2005-03-14  Jim Meyering  <jim@meyering.net>
87385
87386         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87387         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87388         to be nonzero so that we (and caller) can detect the difference
87389         between a valid zero-length expansion and an error return, even
87390         when the underlying strftime fails before writing anything into
87391         that location.
87392
87393 2005-03-14  Bruno Haible  <bruno@clisp.org>
87394
87395         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87396         Update from GNU gettext 0.14.3.
87397
87398 2005-03-10  Jim Meyering  <jim@meyering.net>
87399
87400         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87401
87402 2005-03-10  Jim Meyering  <jim@meyering.net>
87403
87404         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87405         so that this module works on systems without fchdir.
87406
87407 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87408
87409         Factor int-properties macros into a single file, except for
87410         glibc-related files.
87411         * lib/intprops.h: New file.
87412         * lib/getloadavg.c: Include it instead of limits.h.
87413         (INT_STRLEN_BOUND): Remove.
87414         * lib/human.c: Include intprops.h.
87415         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87416         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87417         302/1000.
87418         * lib/inttostr.h: Include intprops.h instead of limits.h.
87419         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87420         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87421         for consistency with intprops.h.
87422         (time_t_is_integer, twos_complement_arithmetic): Use them.
87423         * lib/sig2str.h: Include <signal.h>, intprops.h.
87424         (INT_STRLEN_BOUND): Remove.
87425         * lib/strftime.c (TYPE_SIGNED): Remove.
87426         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87427         * lib/strtol.c: Adjust comments to match intprops.h.
87428         * lib/userspec.c: Include intprops.h.
87429         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87430         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87431         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87432         instead of rolling our own expressions.
87433         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87434
87435         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87436         instead of int.
87437         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87438         the right thing even if adding 1900 would overflow.  Similarly
87439         for tm_mon + 1 and tm_yday + 1.
87440         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87441         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87442         (DO_SIGNED_NUMBER): New macro.
87443         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87444
87445 2005-03-07  Bruno Haible  <bruno@clisp.org>
87446
87447         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87448
87449 2005-03-07  Bruno Haible  <bruno@clisp.org>
87450
87451         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87452
87453 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87454
87455         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87456         (func_import): Only replace files via --import when they have actually
87457         changed.
87458
87459 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87460
87461         * m4/mmap-anon.m4: New file.
87462         * m4/pagealign_alloc.m4: New file.
87463
87464 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87465             Bruno Haible  <bruno@clisp.org>
87466
87467         * modules/pagealign_alloc: New file.
87468         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87469
87470 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87471             Bruno Haible  <bruno@clisp.org>
87472
87473         * lib/pagealign_alloc.h: New file.
87474         * lib/pagealign_alloc.c: New file.
87475
87476 2005-03-03  Bruno Haible  <bruno@clisp.org>
87477
87478         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87479         Use an all-permissive copyright notice, recommended by RMS.
87480
87481 2005-03-02  Bruno Haible  <bruno@clisp.org>
87482
87483         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87484         of AIX, the replacement has to be done only after <string.h> is
87485         included, therefore not in config.h. stpncpy.h does the replacement,
87486         and stpncpy.c uses it.
87487
87488 2005-03-02  Bruno Haible  <bruno@clisp.org>
87489
87490         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87491         stpncpy.c uses it.
87492
87493 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87494
87495         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87496         The workaround isn't strictly needed for POSIX conformance, and
87497         it's too much of a pain to configure and maintain.  We'll ask
87498         people to fix their kernels instead.
87499         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87500         (NANOSLEEP_BUG_WORKAROUND): Remove.
87501         (xnanosleep): Remove the workaround.
87502
87503 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87504
87505         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87506         Reported by Derek Price.
87507         (Include): Add "timespec.h".
87508
87509         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87510
87511 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87512
87513         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87514         to detect nanosleep bug.
87515
87516 2005-03-01  Bruno Haible  <bruno@clisp.org>
87517
87518         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87519
87520 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87521
87522         * modules/gethrxtime: New file.
87523         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87524         (Depends-on): Add gethrxtime.
87525         (configure.ac): Add gl_XNANOSLEEP.
87526         (Makefile.am): Remove lib_SOURCES line.
87527
87528 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87529
87530         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87531         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87532
87533 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87534
87535         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87536         * lib/timespec.h (gettime): Return void, since it always
87537         succeeds now.  All uses changed.
87538         * lib/gettime.c (gettime): Likewise.
87539         [HAVE_NANOTIME]: Prefer nanotime.
87540         Assume gettimeofday succeeds, as POSIX requires.
87541         Assime time () succeeds, since other code already does.
87542         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87543         (timespec_subtract): Remove.
87544         (NANOSLEEP_BUG_WORKAROUND): New constant.
87545         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87546         things considerably.  Use it only on GNU/Linux hosts, since the
87547         workaround shouldn't be needed elsewhere.
87548
87549 2005-02-24  Bruno Haible  <bruno@clisp.org>
87550
87551         * modules/gettext (Files): Add m4/glibc2.m4.
87552
87553 2005-02-24  Bruno Haible  <bruno@clisp.org>
87554
87555         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87556         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87557         * m4/progtest.m4:
87558         Update from GNU gettext 0.14.2.
87559         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87560
87561 2005-02-24  Bruno Haible  <bruno@clisp.org>
87562
87563         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87564         * lib/config.charset: Update from GNU gettext 0.14.2.
87565
87566 2005-02-24  Bruno Haible  <bruno@clisp.org>
87567
87568         * lib/gettext.h: Update from GNU gettext 0.14.2.
87569
87570 2005-02-23  Simon Josefsson  <jas@extundo.com>
87571
87572         * m4/iconvme.m4: New file.
87573
87574 2005-02-23  Jim Meyering  <jim@meyering.net>
87575
87576         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87577         change.
87578         Thanks to Bruno Haible for catching it.
87579
87580 2005-02-22  Simon Josefsson  <jas@extundo.com>
87581
87582         * modules/iconvme: New file.
87583
87584         * MODULES.html.sh: Add iconvme.
87585
87586 2005-02-22  Simon Josefsson  <jas@extundo.com>
87587
87588         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87589
87590 2005-02-22  Simon Josefsson  <jas@extundo.com>
87591
87592         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87593
87594 2005-02-22  Jim Meyering  <jim@meyering.net>
87595
87596         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87597         s/ifndef/ifdef/.
87598
87599 2005-02-20  Neil Conway  <neilc@samurai.com>
87600
87601         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87602         returned by OSX/Darwin if the specified buffer is not large
87603         enough for the hostname.
87604
87605 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87606
87607         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87608         pass it to _help, otherwise the latter coredumps trying to
87609         dereference state.root_argp.
87610
87611 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87612
87613         * modules/chdir-long (Depends-on): Add memrchr.
87614         * modules/memrchr (Files): Add lib/memrchr.h.
87615         (Include): "memrchr.h".
87616
87617 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87618
87619         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87620
87621 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87622
87623         * lib/memrchr.h: New file.
87624         * lib/chdir-long.c: Include it.
87625         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87626         Don't bother including stddef.h.
87627
87628 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87629
87630         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87631         inclusion.
87632         Include <sys/types.h>, for dev_t.
87633         (ME_DUMMY, ME_REMOTE): Move from here....
87634         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87635         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87636         Dmitry V. Levin.
87637         Include mountlist.h first, to test the interface.
87638
87639 2005-01-29  Bruno Haible  <bruno@clisp.org>
87640
87641         * lib/progname.c (program_name): Initialize.
87642         Needed when linking statically on MacOS X.
87643
87644 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87645
87646         Sync from coreutils.
87647         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87648         (Depends-on): Add c-strtod.
87649         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87650
87651 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87652
87653         Sync from coreutils.
87654         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87655
87656         Remove files that are specific to coreutils.
87657         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87658
87659 2005-01-28  Bruno Haible  <bruno@clisp.org>
87660
87661         * modules/javacomp: New file.
87662         * MODULES.html.sh (Java): Add javacomp.
87663
87664 2005-01-28  Bruno Haible  <bruno@clisp.org>
87665
87666         * m4/javacomp.m4: New file, from GNU gettext.
87667
87668 2005-01-28  Bruno Haible  <bruno@clisp.org>
87669
87670         * lib/javacomp.sh.in: New file, from GNU gettext.
87671         * lib/javacomp.h: New file, from GNU gettext.
87672         * lib/javacomp.c: New file, from GNU gettext.
87673
87674 2005-01-26  Simon Josefsson  <jas@extundo.com>
87675
87676         * lib/gai_strerror.c: Use GPL in header.
87677
87678 2005-01-26  Bruno Haible  <bruno@clisp.org>
87679
87680         * modules/javaexec: New file.
87681         * MODULES.html.sh (Java): Add javaexec.
87682
87683 2005-01-26  Bruno Haible  <bruno@clisp.org>
87684
87685         * m4/javaexec.m4: New file, from GNU gettext.
87686
87687 2005-01-26  Bruno Haible  <bruno@clisp.org>
87688
87689         * lib/javaexec.sh.in: New file, from GNU gettext.
87690         * lib/javaexec.h: New file, from GNU gettext.
87691         * lib/javaexec.c: New file, from GNU gettext.
87692
87693 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87694
87695         * modules/lchown (Depends-on): Remove lchown.h
87696
87697 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87698
87699         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87700         must be defined if the header file was not found, in order
87701         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87702
87703 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87704
87705         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87706         initializers for struct pentry_state.
87707         (__argp_error): Check return value of __asprintf
87708         (__argp_failure): Translate error message
87709
87710         * lib/argp-parse.c: Removed braces around the expansion of N_()
87711
87712 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87713
87714         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
87715         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
87716         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
87717         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
87718         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
87719         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
87720         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
87721         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
87722         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
87723         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
87724         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
87725         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
87726         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
87727         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
87728         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
87729         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
87730         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
87731         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
87732         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
87733         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
87734         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
87735         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
87736         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
87737         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
87738         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
87739         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
87740         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
87741         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
87742         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
87743         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
87744         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
87745         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
87746         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
87747         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
87748         xstrtol.m4, xstrtoumax.m4, yesno.m4:
87749         Use an all-permissive copyright notice, recommended by RMS.
87750
87751 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87752
87753         * modules/chdir-long (Depends-on): Remove mempcpy.
87754
87755 2005-01-21  Jim Meyering  <jim@meyering.net>
87756
87757         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
87758         same value as for Solaris 9.
87759
87760         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
87761         component length.  This included changing the parameter to be
87762         of type `char *' rather than `char const *'.
87763         * lib/chdir-long.h (chdir_long): Update prototype.
87764
87765         * lib/openat.c (fdopendir, fstatat): New functions.
87766         * lib/openat.h: Include headers required for use of DIR and struct
87767         stat.
87768         [AT_SYMLINK_NOFOLLOW]: Define.
87769         (fdopendir, fstatat): Add prototypes.
87770
87771 2005-01-21  Bruno Haible  <bruno@clisp.org>
87772
87773         * modules/classpath: New file.
87774         * MODULES.html.sh (Java): Add classpath.
87775
87776 2005-01-21  Bruno Haible  <bruno@clisp.org>
87777
87778         * lib/classpath.h: New file, from GNU gettext.
87779         * lib/classpath.c: New file, from GNU gettext.
87780
87781 2005-01-20  Simon Josefsson  <jas@extundo.com>
87782
87783         * modules/version-etc-fsf: New file.
87784
87785 2005-01-20  Simon Josefsson  <jas@extundo.com>
87786
87787         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
87788         * lib/version-etc.c: Remove version_etc_copyright.
87789         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
87790         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
87791
87792 2005-01-20  Simon Josefsson  <jas@extundo.com>
87793
87794         * lib/base64.h (isbase64): Add.
87795
87796         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
87797         using a unsigned prototype, don't inline.
87798         (base64_decode): Use it.
87799
87800 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87801
87802         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
87803         it.
87804
87805 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87806
87807         * lib/save-cwd.c (save_cwd): Remove code to support the case
87808         where fchdir is missing or flaky.
87809
87810 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87811
87812         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
87813
87814 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
87815
87816         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
87817         AC_LIBSOURCES now does this.
87818         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
87819         with new ullong_max module.
87820
87821 2005-01-19  Bruno Haible  <bruno@clisp.org>
87822
87823         * modules/sh-quote: New file.
87824         * MODULES.html.sh (Executing programs): Add sh-quote.
87825
87826 2005-01-19  Bruno Haible  <bruno@clisp.org>
87827
87828         * lib/sh-quote.h: New file, from GNU gettext.
87829         * lib/sh-quote.c: New file, from GNU gettext.
87830
87831 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         Merge from coreutils.
87834         * m4/ullong_max.m4: New file.
87835         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
87836         (gl_MACROS): Assume localeconv exists.
87837
87838 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87839
87840         Merge changes from coreutils, as described below in several
87841         changelogs dated today.
87842
87843         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
87844         (O_DIRECTORY): Remove; not needed here, since "." must be
87845         a directory.  All uses removed.
87846         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
87847         universal on Suns, and we also need to test for IRIX.
87848         Revamp code to use 'if' rather than '#if'.
87849         Avoid unnecessary comparison of cwd->desc to 0.
87850
87851         * lib/utimens.c (futimens): Robustify the previous patch, by checking
87852         for known valid error numbers rather than observed invalid ones.
87853
87854 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87855
87856         * modules/ullong_max: New file.
87857
87858         * modules/chdir-long, modules/openat: New files.
87859         * modules/save-cwd (Depends-on): Depend on chdir-long.
87860         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
87861
87862 2005-01-18  Jim Meyering  <jim@meyering.net>
87863
87864         Merge from coreutils.
87865         * m4/chdir-long.m4, m4/openat.m4: New files.
87866         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
87867         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
87868         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
87869         is sane and DOES follow symlinks.  Besides, testing 20 different
87870         systems found no broken chown implementations.
87871         Prompted by a change in rsync's copy of this macro.
87872         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
87873
87874         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87875
87876         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87877         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87878         NULL-means-set-to-current-time semantics.
87879         Remove temporary file immediately, rather than waiting
87880         for configure's at-exit trap code to do it.
87881
87882 2005-01-18  Jim Meyering  <jim@meyering.net>
87883
87884         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87885
87886         * lib/utimens.c (futimens): Account for the fact that futimes
87887         can also fail with errno == ENOSYS or errno == ENOENT.
87888         Patch from Dmitry V. Levin.
87889
87890         Change the name of the robust chdir function from chdir to chdir_long.
87891         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
87892         (restore_cwd): Use chdir_long, not chdir.
87893         * lib/chdir-long.c: Renamed from chdir.c.
87894         * lib/chdir-long.h: Renamed from chdir.h.
87895         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
87896         Hurd.
87897
87898 2005-01-18  Bruno Haible  <bruno@clisp.org>
87899
87900         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
87901         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
87902         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
87903         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
87904         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
87905         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
87906         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
87907         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
87908         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
87909         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
87910         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
87911         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
87912         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
87913         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
87914         Use an all-permissive copyright notice, recommended by RMS.
87915
87916 2005-01-18  Bob Proulx  <bob@proulx.com>
87917
87918         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
87919         simplify offsetof() macro construct to avoid compile failure with
87920         native HP-UX 11.0 ANSI C compiler.
87921
87922 2005-01-17  Bruno Haible  <bruno@clisp.org>
87923
87924         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
87925         redundant because stpncpy.m4 takes care of it.
87926
87927 2005-01-17  Bruno Haible  <bruno@clisp.org>
87928
87929         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
87930
87931 2005-01-17  Bruno Haible  <bruno@clisp.org>
87932
87933         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
87934         used.
87935
87936 2005-01-17  Bruno Haible  <bruno@clisp.org>
87937
87938         * lib/fwriteerror.h (fwriteerror): Change specification to include
87939         fclose.
87940         * lib/fwriteerror.c: Include <stdbool.h>.
87941         (fwriteerror): At the end, close the file stream. Record whether
87942         stdout was already closed.
87943
87944 2005-01-17  Bruno Haible  <bruno@clisp.org>
87945
87946         * lib/execute.c (environ): Declare if needed.
87947         * lib/pipe.c (environ): Likewise.
87948         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
87949
87950 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87951
87952         * modules/argp: Depend on vsnprintf
87953
87954 2005-01-10  Jim Meyering  <jim@meyering.net>
87955
87956         * modules/closeout (Depends-on): Add atexit.
87957
87958 2005-01-06  Bruno Haible  <bruno@clisp.org>
87959
87960         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
87961
87962 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
87963
87964         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
87965         definitions to be after all include files, to avoid collisions.
87966         Problem reported by Bob Proulx.
87967
87968 2005-01-04  Jim Meyering  <jim@meyering.net>
87969
87970         Changes imported from coreutils.
87971         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
87972         as the mkstemp template, use a temporary directory and an
87973         8.3-friendly template to avoid trouble on systems like DJGPP.
87974         Reported by Juan M. Guerrero via Stepan Kasal.
87975         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
87976         close. Remove the temporary directory right away, rather than waiting
87977         for configure's at-exit trap code to do it.
87978         Suggestion from Stepan Kasal.
87979
87980 2005-01-01  Simon Josefsson  <jas@extundo.com>
87981
87982         * gnulib-tool: Print #include directives when --import'ing.
87983
87984 2004-12-28  Simon Josefsson  <jas@extundo.com>
87985
87986         * tests/test-base64.c: Include required header files.  Remove
87987         unused variables.
87988
87989 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87990
87991         * modules/error (Depends-on): Remove gettext.
87992
87993 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87994
87995         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
87996         not needed.  This removes a dependency on the gettext module.
87997         [defined _LIBC]: Do not include <libintl.h>; not needed.
87998
87999 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88000
88001         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88002         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88003
88004 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88005
88006         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88007         HAVE_DECL_STRTOLD.
88008
88009 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88010
88011         * modules/getdate (Depends-on): Remove alloca-opt.
88012
88013 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88014
88015         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88016
88017 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88018
88019         * lib/argp-parse.c: Include <stddef.h>.
88020         (alignof, alignto): New macros.
88021         (parser_init): Don't assume that void * is aligned sufficiently
88022         for struct option.
88023
88024         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88025         need to extend the stack.
88026         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88027         large.
88028
88029 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88030
88031         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88032
88033 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88034
88035         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88036         (2004-10-24) change.  Apparently this was a false alarm.
88037
88038         * modules/getdate: Depend on alloca-opt, not alloca.
88039
88040 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88041
88042         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88043         Remove now-obsolete comment about AIX.
88044         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88045         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88046         (YYMAXDEPTH): New macro.
88047
88048 2004-12-18  Simon Josefsson  <jas@extundo.com>
88049
88050         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88051
88052 2004-12-18  Bruno Haible  <bruno@clisp.org>
88053
88054         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88055
88056 2004-12-18  Bruno Haible  <bruno@clisp.org>
88057
88058         * lib/fatal-signal.c (fatal_signals): Make non-const.
88059         (init_fatal_signals): New function.
88060         (uninstall_handlers, install_handlers): Ignore signals that were set to
88061         SIG_IGN.
88062         (at_fatal_signal): Call init_fatal_signals.
88063         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88064         SIG_IGN.
88065         Reported by Paul Eggert.
88066
88067 2004-12-18  Bruno Haible  <bruno@clisp.org>
88068
88069         * doc/alloca.texi: New file.
88070         * doc/alloca-opt.texi: New file.
88071
88072 2004-12-17  Jim Meyering  <jim@meyering.net>
88073
88074         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88075         Otherwise, install-sh could exit with improper exit status when
88076         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88077
88078 2004-12-16  Simon Josefsson  <jas@extundo.com>
88079
88080         * tests/test-base64.c: Add license.
88081
88082 2004-12-15  Stepan Kasal  <address@hidden>
88083
88084         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88085
88086 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88087
88088         * modules/getcwd (Files): Add m4/d-ino.m4.
88089         Suggested by Mark D. Baushke.
88090
88091 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88092
88093         * lib/getdate.y (textint): New member "negative".
88094         (time_zone_hhmm): New function.
88095         Expect 14 shift-reduce conflicts, not 13.
88096         (o_colon_minutes): New rule.
88097         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88098         (yylex): Set the "negative" member of signed numbers.
88099
88100 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88101
88102         * doc/getdate.texi (Time of day items, Time zone items):
88103         Describe new formats +00:00, UTC+00:00.
88104
88105 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88106
88107         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88108         spurious "-l"s.  Problem reported by Stepan Kasal.
88109
88110 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88111
88112         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88113         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88114
88115 2004-12-04  Simon Josefsson  <jas@extundo.com>
88116
88117         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88118         Vandoorselaere <yoann@prelude-ids.org>.
88119
88120 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88121
88122         Changes imported from coreutils.
88123         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88124         exist.
88125         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88126
88127 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88128
88129         Changes imported from coreutils.
88130         * lib/hard-locale.c: Assume <locale.h> exists.
88131         Include "strdup.h".
88132         (GLIBC_VERSION): New macro.
88133         (hard_locale): Assume setlocale exists.
88134         Rewrite to avoid #ifdef.
88135         Use strdup rather than malloc + strcpy.
88136         * lib/human.c: Assume <locale.h> exists.
88137         (human_readable): Assume localeconv exists.
88138
88139 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88140
88141         * modules/hard-locale (Depends-on): Add strdup.
88142
88143 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88144
88145         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88146         convert T2, not T.  (Imported from libc.)
88147
88148 2004-11-30  Simon Josefsson  <jas@extundo.com>
88149
88150         * modules/restrict (License): Change to LGPL.
88151
88152 2004-11-30  Simon Josefsson  <jas@extundo.com>
88153
88154         * m4/restrict.m4: Add copyright and copying conditions.
88155
88156 2004-11-30  Simon Josefsson  <jas@extundo.com>
88157
88158         * m4/base64.m4: New file.
88159
88160 2004-11-30  Simon Josefsson  <jas@extundo.com>
88161
88162         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88163         base64.
88164
88165         * tests/test-base64.c: New file.
88166
88167         * modules/base64: New file.
88168
88169 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88170
88171         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88172         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88173
88174         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88175
88176 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88177
88178         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88179         (__getcwd.c): Don't restore errno; glibc doesn't.
88180         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88181         first, falling back to our code only if its results look suspicious.
88182         Ensure that the resulting buffer is only as large as necessary.
88183
88184         * lib/readutmp.c: Include readutmp.h first.
88185         Include <errno.h>, since readutmp.h no longer does that.
88186         * lib/readutmp.h: Don't include <errno.h>,
88187         <sys/param.h>, <time.h>; not needed to establish interface.
88188         (errno): Remove decl.
88189         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88190         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88191         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88192
88193 2004-11-28  Simon Josefsson  <jas@extundo.com>
88194
88195         * lib/base64.h, base64.c: New file.
88196
88197 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88198
88199         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88200
88201 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88202
88203         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88204         (Depends-on): Remove pathmax, same.  Add mempcpy.
88205         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88206         (Makefile.am): Append getcwd.h to lib_SOURCES.
88207         (Include): Add getcwd.h.
88208         (Maintainer): Change from Jim Meyering to "all, glibc",
88209         since getdate now uses intended-for-glibc code.
88210         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88211         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88212
88213 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88214
88215         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88216         HP's ANSI C compiler.
88217         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88218         Declaring int functions causes warnings on some modern systems and
88219         shouldn't be needed to compile on ancient ones.
88220         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88221         defined.
88222
88223         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88224         with the following changes.
88225         (__set_errno): Parenthesize properly.
88226         Include <stdbool.h>.
88227         (MIN, MAX, MATCHING_INO): New macros.
88228         (__getcwd): Define with prototype, not K&R form.
88229         Use heuristics to allocate default buffer on stack if possible.
88230         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88231         behavior, and to avoid the PATH_MAX limit when computing
88232         ../../../../...
88233         Use MATCHING_INO to compare inode number to file.
88234         Check for arithmetic overflow in size calculations.
88235         Fix bug in reallocation of dot array that caused getcwd to fail
88236         on directories nested deeper than 75.
88237         Be more careful about saving errno on error.
88238         Do not use realloc; use only free+malloc, as this is a bit
88239         more flexible and avoids a needless copy operation.
88240         Do not inspect st_dev and st_ino for symbolic links; POSIX
88241         doesn't specify the latter.
88242         Check for closedir errors.
88243         Avoid needless casts.
88244         Use "#ifdef weak_alias" around weak_alias, to be like other
88245         glibc code.
88246         The following changes to getcwd.c have effect only when used in
88247         gnulib; they have no effect inside glibc proper.
88248         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88249         as alloca isn't used.
88250         (alloca, __alloca): Likewise.
88251         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88252         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88253         unconditionally, as gnulib assumes C89 or better.
88254         Do not include <sys/param.h>.
88255         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88256         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88257         better.
88258         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88259         Include <dirent.h> in a way that is compatible with modern Autoconf.
88260         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88261         New macros, if not already defined.
88262         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88263         Use "_LIBC", not "defined _LIBC", for consistency.
88264         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88265         a mempcpy module.
88266         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88267         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88268         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88269         credit only to Jim Meyering and adjust the copyright dates.
88270         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88271         <stdlib.h>, <unistd.h>, "pathmax.h".
88272         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88273         (INITIAL_BUFFER_SIZE): Remove.
88274         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88275
88276 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88277
88278         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88279         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88280         Use the _ONCE methods, for efficiency.
88281         Check for fcntl.h.  In test program, include <errno.h>
88282         and <fcntl.h> if available.  Remove old K&R cruft from
88283         test program.  Check for common errors in GNU/Linux,
88284         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88285         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88286         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88287         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88288         name accordingly.
88289         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88290         accommodate new getcwd.c.
88291         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88292         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88293         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88294         that's all we need now.
88295
88296 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88297
88298         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88299         argp-parse.c depends on getopt internals, that means we should
88300         always use our getopt, to be on the safe side.
88301         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88302         order not to spoil the result of an eventual previous invocation
88303         of gl_GETOPT_SUBSTITUTE.
88304
88305 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88306
88307         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88308         redefinition warnings. To avoid them, include the defines
88309         in `#if !defined __need_getopt ... #endif'. The only place
88310         where __getopt_argv_const is used is in definitions
88311         of getopt_long and getopt_long_only below, which are as well
88312         protected by `#ifndef __need_getopt'.
88313         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88314         __need_getopt after including <stdio.h> and <unistd.h> These
88315         headers might have defined it.
88316
88317 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88318
88319         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88320
88321 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88322
88323         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88324         (futimens): New function, which uses futimes if available.
88325         (futimens, utimens): Support timespec==NULL, with same semantics
88326         as utime and utimens.
88327         * lib/utimens.h (futimens): New decl.
88328
88329 2004-11-23  Jim Meyering  <jim@meyering.net>
88330
88331         * lib/getopt_.h: Remove trailing blanks.
88332
88333 2004-11-23  Jim Meyering  <jim@meyering.net>
88334
88335         * lib/__fpending.c: Add comment.
88336
88337 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88338
88339         * modules/canonicalize (Depends-on): Add xreadlink.
88340         Problem reported by James Youngman.
88341
88342 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88343
88344         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88345         New macros.
88346         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88347         optopt): Use them instead of invoking ## directly; otherwise, the
88348         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88349
88350 2004-11-19  Bruno Haible  <bruno@clisp.org>
88351
88352         * lib/strtok_r.c: Move comments from here...
88353         * lib/strtok_r.h: ... to here.
88354
88355 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88356
88357         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88358         implementations that mishandle size_t overflow.
88359
88360 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88361
88362         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88363         might fail.  Problem reported by Yoann Vandoorselaere.
88364         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88365         implementations that mishandle size_t overflow.
88366
88367 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88368
88369         * modules/canon-host (Depends-on): Add strdup.
88370
88371 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88372
88373         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88374
88375 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88376
88377         * lib/canon-host.c: Include "strdup.h".
88378         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88379         Use strdup instead of malloc/strcpy to duplicate strings.
88380
88381         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88382         (human_space_before_unit): New constant.
88383         * lib/human.c (human_readable): Support it.
88384
88385         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88386         (xgetcwd): Set errno correctly when failing.
88387         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88388         the failure is actually due to a PATH_MAX problem.
88389
88390         Further getopt changes to make it more likely that glibc will
88391         buy the changes back.
88392         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88393         (getopt): Use it, so to preserve glibc semantic
88394         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88395         when compiling for libc.
88396         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88397         (getopt_long, getopt_long_only): Use it.
88398
88399         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88400         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88401         (getopt): Argv is now char * const *, as per standard.
88402         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88403         not char *__getopt_argv_const *.
88404         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88405         _getopt_long_only_r): Likewise.
88406         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88407         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88408         _getopt_long_r, _getopt_long_only_r): Likewise.
88409         * lib/getopt_.h (__getopt_argv_const): Remove.
88410         (getopt): Argv is now char * const *, as per standard.
88411
88412         * lib/getdate.y (tORDINAL): New token.
88413         (day, relunit): Allow it for relative times.
88414         (relative_time_table): Use tORDINAL for ordinals.
88415
88416 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88417
88418         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88419         Document that "second" isn't allowed as an ordinal number.
88420
88421 2004-11-16  Jim Meyering  <jim@meyering.net>
88422
88423         * modules/closeout (Depends-on): Add fpending.
88424
88425 2004-11-15  Jim Meyering  <jim@meyering.net>
88426
88427         * lib/closeout.c: Include "__fpending.h" once again.
88428         Include <stdbool.h>.
88429         (close_stdout): Don't fail just because stdout was closed initially,
88430         since some programs don't write to stdout in the normal course of
88431         operation (other than --version and --help), and we don't want this
88432         function to make e.g. `touch file >&-' fail.
88433         But do fail if it was closed and someone has tried to write to it.
88434         E.g., `printf foo >&-' must fail.
88435
88436 2004-11-13  Jim Meyering  <jim@meyering.net>
88437
88438         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88439
88440 2004-11-12  Simon Josefsson  <jas@extundo.com>
88441
88442         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88443         small doc fix is still pending.
88444
88445 2004-11-11  Simon Josefsson  <jas@extundo.com>
88446
88447         * modules/strtok_r: New file.
88448
88449         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88450         strtok_r.
88451
88452 2004-11-11  Simon Josefsson  <jas@extundo.com>
88453
88454         * m4/strtok_r.m4: New file.
88455
88456         * m4/getopt.m4: Replace opterr.
88457
88458 2004-11-11  Simon Josefsson  <jas@extundo.com>
88459
88460         * lib/strtok_r.h, strtok_r.c: New file.
88461
88462 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88463
88464         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88465         of replacing opterr, getopt, etc.  This should handle the
88466         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88467
88468 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88469
88470         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88471         we can stop lying to compilers about the constness of argv when we
88472         are compiled outside glibc.
88473         (getopt, getopt_long, getopt_long_only): Use it.
88474         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88475         _getopt_internal, getopt): Likewise.
88476         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88477         _getopt_long_only_r): Likewise.
88478         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88479         _getopt_long_r, _getopt_long_only_r): Likewise.
88480
88481         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88482         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88483         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88484         the other external symbols.
88485         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88486         declaration, since the above renaming now works around collisions.
88487
88488 2004-11-11  Jim Meyering  <jim@meyering.net>
88489
88490         * lib/linebreak.c: Remove trailing blanks.
88491         * lib/alloca_.h: Likewise.
88492         * lib/acosl.c: Likewise.
88493         * lib/euidaccess.c: Likewise.
88494         * lib/allocsa.h: Likewise.
88495
88496 2004-11-10  Simon Josefsson  <jas@extundo.com>
88497
88498         * m4/getaddrinfo.m4: New file.
88499
88500 2004-11-10  Simon Josefsson  <jas@extundo.com>
88501
88502         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88503
88504 2004-11-10  Simon Josefsson  <jas@extundo.com>
88505
88506         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88507         getaddrinfo.
88508
88509         * modules/getaddrinfo: New file.
88510
88511 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88512
88513         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88514
88515 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88516
88517         * lib/mktime.c (SHR): New macro, which is a portable
88518         substitute for >> that should work even on Crays.
88519         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88520         Problem reported by Mark D. Baushke in
88521         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88522         * lib/getdate.y (SHR): Likewise.
88523         (tm_diff): Use it.
88524         * lib/strftime.c (SHR): Likewise.
88525         (tm_diff): Use it.
88526         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88527         quote_these_too, so that right shifts are well defined.  All uses
88528         changed.
88529
88530 2004-11-10  Jim Meyering  <jim@meyering.net>
88531
88532         Ensure that no close failure goes unreported.
88533         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88534         return early when it seems there's nothing to flush.
88535         Don't include __fpending.h.
88536
88537 2004-11-10  Jim Meyering  <jim@meyering.net>
88538
88539         * modules/closeout (Depends-on): Remove fpending.
88540
88541 2004-11-10  Jim Meyering  <jim@meyering.net>
88542
88543         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88544
88545 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88546
88547         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88548         gl_FUNC_STRFTIME.
88549         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88550         and AC_REQUIRE when possible, to avoid duplicate checks.
88551         Check for <wchar.h>.
88552
88553 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88554
88555         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88556
88557 2004-11-09  Bruno Haible  <bruno@clisp.org>
88558
88559         * m4/sockpfaf.m4: New file.
88560
88561 2004-11-05  Bruno Haible  <bruno@clisp.org>
88562
88563         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88564         Reported by Mark D. Baushke <mdb@cvshome.org>.
88565
88566 2004-11-04  Bruno Haible  <bruno@clisp.org>
88567
88568         2004-09-11  Bruno Haible  <bruno@clisp.org>
88569                 * allocsa.valgrind: New file.
88570         2004-02-06  Bruno Haible  <bruno@clisp.org>
88571                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88572                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88573                 Reported by Christopher Seip <chris.seip@hp.com>.
88574
88575 2004-11-04  Bruno Haible  <bruno@clisp.org>
88576
88577         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88578         (Makefile.am): Distribute it.
88579
88580 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88581
88582         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88583         with errno == ERANGE if the buffer is too small.
88584         Problem reported by Mark D. Baushke.
88585
88586 2004-11-03  Albert Chin  <china@thewrittenword.com>
88587             Paul Eggert  <eggert@cs.ucla.edu>
88588
88589         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88590         equivalent, substitute $ac_type for equivalent type rather than
88591         blindly using uint32_t *always* which won't work if uint32_t is not
88592         available.  Define _UINT32_T to work around typedef of uint32_t if
88593         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88594         2.5.1.
88595
88596 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88597
88598         * m4/jm-macros.m4: Sync from coreutils.
88599         (gl_MACROS): Check for mbrlen, for pathchk.
88600         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88601
88602 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88603
88604         * lib/xreadlink.c (MAXSIZE): New macro.
88605         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88606         size does not exceed MAXSIZE.  Avoid cast.
88607         As suggested by Mark D. Baushke in
88608         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88609         if readlink fails with buffer size just under MAXSIZE, try again
88610         with MAXSIZE.
88611
88612 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88613
88614         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88615
88616 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88617         and  Paul Eggert  <eggert@cs.ucla.edu>
88618
88619         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88620         (get_date): Overparenthesize to avoid GCC warning.
88621
88622 2004-11-02  Bruno Haible  <bruno@clisp.org>
88623
88624         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88625         returns void.
88626
88627 2004-11-02  Bruno Haible  <bruno@clisp.org>
88628
88629         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88630         function returns void.
88631
88632 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88633
88634         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88635         fflush_unlocked, flockfile, funlockfile, funlockfile,
88636         fputs_unlocked, putc_unlocked.
88637
88638 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88639
88640         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88641         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88642         already declared.
88643
88644 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88645
88646         * modules/getdate (Files): Add doc/getdate.texi.
88647         (Depends-on): Add setenv, xalloc.
88648
88649 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88650
88651         * lib/getdate.y: Add support for TZ="foo" within a date string.
88652         Fix some bugs near time_t boundaries.  Reject dates with
88653         out-of-range components, e.g., "Sept 31".
88654         Include <stdlib.h>, "setenv.h", "xalloc.h".
88655         (ISDIGIT_LOCALE): Remove; unused.
88656         Note that the TZ and time functions used here are not reentrant.
88657         (mktime_ok, get_tz): New functions.
88658         (TZBUFSIZE): New constant.
88659         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88660         This requires that we sometimes generate our own TZ="XXX..." setting.
88661
88662 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88663
88664         * doc/getdate.texi: New file, from coreutils with modifications for
88665         the new TZ parsing.
88666
88667 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88668
88669         * lib/mktime.c (not_equal_tm): Remove redundant check.
88670
88671 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88672
88673         * modules/regex (lib_SOURCES): Add regex.c.
88674         Reported by James Youngman in
88675         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88676
88677 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88678
88679         * lib/getdate.y: Use Bison 1.875 features, and some minor
88680         code cleanups.  This change does not affect semantics.
88681         Don't include <stdlib.h>; no longer needed.
88682         Don't include unlocked-io.h; only the "#if TEST" code uses
88683         stdio, and performance isn't crucial there.
88684         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88685         Bison 1.875 features as described below.
88686         All uses of "PC." replaced by "pc->".
88687         (YYSTYPE): Add a forward declaration.
88688         (yylex, yyerror): Use full prototypes in forward decls.
88689         Use "%pure-parser" rather than obsolescent "%pure_parser".
88690         Use %parse-param and %lex-param instead of obsolescent
88691         YYPARSE_PARAM and YYLEX_PARAM.
88692         (meridian_table, month_and_day_table, time_units_table,
88693         relative_time_table, time_zone_table, military_table,
88694         lookup_zone, lookup_word, get_date):
88695         Use NULL instead of 0 where appropriate.
88696         (to_hour): Avoid abort (), to avoid a dependency on
88697         stdlib.h.
88698         (yyerror, yylex): Now accepts parser_control * arg.
88699         (main) [TEST]: Use '\0' rather than 0 for char.
88700
88701 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88702
88703         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88704
88705 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88706
88707         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88708         It's now the caller's responsibility to handle the case where
88709         !HAVE_GETPAGESIZE && !defined getpagesize.
88710
88711         * lib/mktime.c (leapyear): Arg is long int, not int.
88712
88713 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
88714
88715         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
88716
88717 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
88718
88719         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
88720         missing.  Problem reported by James Youngman.
88721
88722 2004-10-16  Simon Josefsson  <jas@extundo.com>
88723
88724         * gnulib-tool: Fix comments.  Fix parse problem.
88725         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
88726
88727 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
88728
88729         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
88730         implementation of getopt_long.  Problem reported by Alexander Taler in:
88731         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
88732
88733 2004-10-15  Bruno Haible  <bruno@clisp.org>
88734
88735         * gnulib-tool: Untabify. Initialize supplied_libname.
88736         (func_usage): More homogenous output.
88737         (func_modules_transitive_closure, func_modules_to_filelist,
88738         func_emit_lib_Makefile_am): New functions.
88739         (func_import): New function, extracted from big case statement. Use
88740         func_get_license, func_modules_transitive_closure,
88741         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
88742         opt_lgpl. Don't use test -a, as it's not portable.
88743         (func_create_testdir): Use func_modules_transitive_closure,
88744         func_modules_to_filelist, func_emit_lib_Makefile_am.
88745
88746 2004-10-15  Bruno Haible  <bruno@clisp.org>
88747
88748         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
88749
88750 2004-10-15  Bruno Haible  <bruno@clisp.org>
88751
88752         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
88753         the portions belonging to each module.
88754         Suggested by Derek Robert Price <derek@ximbiot.com>.
88755
88756 2004-10-12  Simon Josefsson  <jas@extundo.com>
88757
88758         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88759         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
88760         to real functions.
88761
88762 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88763
88764         * modules/vsnprintf: New file.
88765
88766 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88767
88768         * m4/vsnprintf.m4: New file.
88769
88770 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88771
88772         * lib/vsnprintf.h: New file.
88773         * lib/vsnprintf.c: New file.
88774
88775 2004-10-11  Bruno Haible  <bruno@clisp.org>
88776
88777         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
88778         vsnprintf.
88779
88780 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
88781
88782         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
88783
88784 2004-10-07  Bruno Haible  <bruno@clisp.org>
88785
88786         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
88787         fits into the provided buffer.
88788
88789 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
88790
88791         * lib/diacrit.c, diacrit.h: Add GPL notice.
88792
88793         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
88794         notice.
88795         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
88796         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
88797         This avoids a potential constant-folding bug.
88798
88799 2004-10-05  Bruno Haible  <bruno@clisp.org>
88800
88801         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
88802         for the declaration of strsep.
88803
88804 2004-10-05  Bruno Haible  <bruno@clisp.org>
88805
88806         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
88807
88808 2004-10-04  Simon Josefsson  <jas@extundo.com>
88809
88810         * modules/memmem: New file.
88811         * tests/test-memmem.c: New file.
88812         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
88813
88814 2004-10-04  Simon Josefsson  <jas@extundo.com>
88815
88816         * m4/memmem.m4: New file.
88817
88818 2004-10-04  Simon Josefsson  <jas@extundo.com>
88819
88820         * lib/memmem.h: New file.
88821         * lib/memmem.c: New file, taken from glibc.
88822
88823 2004-10-04  Simon Josefsson  <jas@extundo.com>
88824
88825         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
88826         '#ifdef USE_UNLOCKED_IO'.
88827
88828 2004-10-04  Simon Josefsson  <jas@extundo.com>
88829
88830         * config/srclist.txt: Add memmem from glibc.
88831
88832 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88833
88834         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
88835
88836         * modules/argmatch, modules/argp, modules/closeout, modules/error,
88837         modules/exclude, modules/getdate, modules/getline,
88838         modules/getndelim2, modules/getpass, modules/getpass-gnu,
88839         modules/getusershell, modules/linebuffer, modules/md5,
88840         modules/mountlist, modules/posixtm, modules/readtokens,
88841         modules/readutmp, modules/regex, modules/sha1,
88842         modules/version-etc, modules/yesno:
88843         Remove dependency on unlocked-io.
88844
88845 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88846
88847         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
88848
88849         * m4/unlocked-io.m4: Add copyright notice.
88850         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
88851
88852 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88853
88854         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
88855         * lib/xmalloc.c (xmemdup): Likewise.
88856         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
88857         XFREE): Remove these long-obsolescent macros.
88858         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
88859         * lib/xstrdup.c: Remove.
88860
88861         * lib/regex.c (re_comp): Cast gettext return value to char *,
88862         Problem reported by Martin Neitzel via Mark D. Baushke.
88863
88864 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88865
88866         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
88867         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
88868         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
88869         regex.c, sha1.c, version-etc.c, yesno.c:
88870         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
88871         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
88872         the includer's responsibility.
88873
88874         Sync from coreutils.
88875
88876         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88877         points to the start of a string, as the C Standard says the
88878         resulting behavior is undefined.
88879
88880         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88881         simple -> simple_backups, numbered_existing ->
88882         numbered_existing_backups, numbered -> numbered_backups
88883         to avoid shadowing problems.  All uses changed.
88884         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
88885         * lib/backupfile.c (check_extension, numbered_backup):
88886         Rename locals to avoid shadowing 'basename'.
88887         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
88888         once.
88889
88890         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
88891         * lib/.cvsignore: Add getopt.h.
88892
88893 2004-10-04  Bruno Haible  <bruno@clisp.org>
88894
88895         * modules/README: New file.
88896         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
88897         not a module.
88898
88899 2004-10-02  Jim Meyering  <jim@meyering.net>
88900
88901         * lib/dirfd.h, getpagesize.h: Add copyright notice.
88902
88903 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88904
88905         * modules/strsep: New file.
88906
88907 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88908
88909         * m4/strsep.m4: New file.
88910
88911 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88912
88913         * lib/strsep.h: New file.
88914         * lib/strsep.c: New file.
88915
88916 2004-10-01  Simon Josefsson  <jas@extundo.com>
88917
88918         * lib/snprintf.c (snprintf): Handle size==0.
88919
88920 2004-10-01  Simon Josefsson  <jas@extundo.com>
88921             Bruno Haible  <bruno@clisp.org>
88922
88923         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
88924         (snprintf): Declare 'args'.
88925
88926 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
88927
88928         * lib/snprintf.c: Remove comments as to why each header is needed.
88929
88930 2004-10-01  Bruno Haible  <bruno@clisp.org>
88931
88932         * MODULES.html.sh: Add strsep.
88933
88934 2004-09-30  Simon Josefsson  <jas@extundo.com>
88935
88936         * modules/snprintf: New file.
88937
88938 2004-09-30  Simon Josefsson  <jas@extundo.com>
88939
88940         * m4/snprintf.m4: New file.
88941
88942 2004-09-30  Simon Josefsson  <jas@extundo.com>
88943
88944         * lib/snprintf.h, lib/snprintf.c: New files.
88945
88946 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88947
88948         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
88949         (hol_entry_help): Never translate an empty string.
88950         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
88951         * lib/argp.h (OPTION_NO_TRANS): New option.
88952
88953 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88954
88955         * modules/argp (Maintainer): Replace Simon Josefsson
88956         by Sergey Poznyakoff.
88957
88958 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88959
88960         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
88961         changes merged back into glibc.
88962
88963 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88964
88965         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
88966
88967 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
88968
88969         * lib/xvasprintf.c: Include xalloc.h.
88970         (xvasprintf): Use xalloc_die, not xmalloc_die.
88971
88972 2004-09-29  Bruno Haible  <bruno@clisp.org>
88973
88974         * modules/alloca-opt: New file, derived from modules/alloca.
88975         * modules/allocsa: Depend on alloca-opt instead of alloca.
88976         * modules/setenv: Likewise.
88977         * modules/vasnprintf: Likewise.
88978         * MODULES.html.sh: Add alloca-opt.
88979
88980 2004-09-28  Simon Josefsson  <jas@extundo.com>
88981
88982         * gnulib-tool: New parameter --lgpl, to asseert that modules are
88983         LGPL, and to replace license template from GPL to LGPL.
88984
88985 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88986
88987         * modules/dummy: Change license to LGPL.
88988
88989 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88990
88991         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
88992
88993 2004-09-24  Simon Josefsson  <jas@extundo.com>
88994
88995         * modules/minmax (License): Change from GPL to LGPL.
88996
88997 2004-09-23  Simon Josefsson  <jas@extundo.com>
88998
88999         * gnulib-tool (--import): Typo.
89000
89001 2004-09-23  Simon Josefsson  <jas@extundo.com>
89002
89003         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89004
89005 2004-09-22  Bruno Haible  <bruno@clisp.org>
89006
89007         * modules/*: Add 'License' field.
89008         * gnulib-tool: Accept --extract-license option.
89009         (func_get_license): New function.
89010
89011 2004-09-21  Bruno Haible  <bruno@clisp.org>
89012
89013         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89014         Reported by Simon Josefsson.
89015
89016 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89017
89018         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89019         gl_AC_TYPE_LONG_LONG.
89020
89021 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89022
89023         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89024
89025 2004-09-18  Simon Josefsson  <jas@extundo.com>
89026         and  Paul Eggert  <eggert@cs.ucla.edu>
89027
89028         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89029         calls with autoreconf.  Define GL_LIB.
89030
89031 2004-09-14  Karl Berry  <karl@gnu.org>
89032
89033         * config/srclist.txt: unsync setenv.c, sigh.
89034
89035 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89036
89037         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89038         Problem reported by Bruno Haible in:
89039         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89040
89041 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89042
89043         * config/srclist.txt: Comment out argp-pvh.c.
89044
89045 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89046
89047         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89048         in case some system header has #define'd it.  Problem reported by
89049         Soeren D. Schulze in
89050         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89051
89052 2004-09-09  Karl Berry  <karl@gnu.org>
89053
89054         * regex.[ch]: delete from the root.  These were supposed to be
89055                 synced with emacs cvs, but this has not happened for about
89056                 a year, and anyway nothing else uses emacs regex.[ch].
89057                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89058                 lib/regex[.ch] is untouched.
89059
89060 2004-09-09  Bruno Haible  <bruno@clisp.org>
89061
89062         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89063
89064 2004-09-09  Bruno Haible  <bruno@clisp.org>
89065
89066         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89067         modifications.
89068         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89069
89070 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89071
89072         * modules/xvasprintf: New file.
89073         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89074
89075 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89076
89077         * lib/xvasprintf.h: New file.
89078         * lib/xvasprintf.c: New file.
89079         * lib/xasprintf.c: New file.
89080
89081 2004-09-08  Bruno Haible  <bruno@clisp.org>
89082
89083         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89084
89085 2004-09-08  Bruno Haible  <bruno@clisp.org>
89086
89087         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89088         length is > INT_MAX.
89089         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89090         more.
89091
89092 2004-09-08  Bruno Haible  <bruno@clisp.org>
89093
89094         * lib/stdint_.h: New file, taken from GNU clisp.
89095
89096 2004-09-08  Bruno Haible  <bruno@clisp.org>
89097             Oskar Liljeblad  <oskar@osk.mine.nu>
89098
89099         * modules/stdint: New file.
89100         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89101
89102 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89103
89104         Import from coreutils.
89105         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89106         strings on unbounded length.  alloca's performance benefits aren't
89107         that important here.
89108         (V_STRDUP): Remove.
89109         (parse_with_separator): New function, with most of the internals
89110         of the old parse_user_spec.  Allow user to omit both user and group,
89111         for compatibility with FreeBSD.
89112         Clone only the user name, not the entire spec.
89113         Do not set *uid, *gid unless entirely successful.
89114         Avoid memory leak in some failing cases.
89115         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89116         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89117         (parse_user_spec): Rewrite to use parse_with_separator.
89118
89119 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89120
89121         * modules/userspec: Don't depend on alloca.
89122
89123 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89124
89125         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89126
89127 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89128
89129         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89130         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89131         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89132
89133 2004-08-16  Simon Josefsson  <jas@extundo.com>
89134
89135         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89136         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89137         Add --dry-run for --import.
89138         Let user provided command line parameters override configure.ac
89139         settings.
89140
89141 2004-08-12  Simon Josefsson  <jas@extundo.com>
89142
89143         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89144         as discussed with Paul Eggert in threads rooted at
89145         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89146         and
89147         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89148         Before, the test was empty, and relied on ELIDE_CODE in source
89149         code.)
89150         (gl_PREREQ_GETOPT): New macro.
89151         (gl_GETOPT): Use them.
89152
89153 2004-08-12  Simon Josefsson  <jas@extundo.com>
89154
89155         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89156         * lib/getopt_.h: Renamed from getopt.h.
89157
89158 2004-08-12  Simon Josefsson  <jas@extundo.com>
89159
89160         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89161         Change default library name from libfoo to libgnu.
89162         Now, if you have a configure.ac that says:
89163                 gl_SOURCE_BASE(gl)
89164                 gl_M4_BASE(gl/m4)
89165                 gl_MODULES(error getopt etcetera)
89166                 gl_INIT
89167         you can import all you need by running:
89168                 ../gnulib/gnulib-tool --import
89169
89170         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89171         (Makefile.am): Rewrite, use logic from argz.
89172         (Include): Use <getopt.h> instead of "getopt.h".
89173
89174 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89175
89176         * modules/argp (Files): Add m4/unlocked-io.m4.
89177         (Depends-on): Add extensions.
89178
89179 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89180
89181         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89182         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89183         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89184         Check for program_invocation_name, program_invocation_short_name,
89185         flockfile, funlockfile, features.h, _getopt_long_only_r.
89186
89187 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89188
89189         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89190         its complicated substitute.
89191         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89192         and program_invocation_name.
89193         (__argp_basename) [!_LIBC]: Remove; the only use was
89194         replaced by its body.
89195         (__argp_short_program_name): Change condition from
89196         !defined __argp_short_program_name to
89197         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89198         to match argp-namefrob.h.
89199         (__argp_failure): Don't assume strerror_r returns char *.
89200         * lib/argp-parse.c (N_): Define unconditionally.
89201         (argp_default_options): Fill out initializers with 0 to avoid
89202         gcc warnings.
89203
89204 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89205
89206         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89207         getopt1.c.
89208
89209 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89210
89211         Merge from coreutils.
89212
89213         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89214
89215         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89216         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89217
89218 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89219
89220         Merge from coreutils.
89221
89222         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89223         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89224         for Reliant Unix 5.43.
89225
89226         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89227         (union fooround): Use uintmax_t, not long int.
89228         The rest is a merge from libc:
89229         [defined _LIBC]: Include <shlib-compat.h>.
89230         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89231
89232         * lib/settime.c (settime): Recode to avoid warning with
89233         Sun Forte C 6U2.
89234
89235         * lib/strverscmp.c: Convert to UTF-8.
89236
89237 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89238
89239         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89240         m4/uintmax_t.m4.
89241
89242 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89243
89244         * modules/xalloc-die: New file.
89245         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89246
89247         * modules/md5 (Files): Add m4/uint32_t.m4.
89248         * modules/sha1: Renamed from modules/sha.
89249         (Files):
89250         Rename lib/sha.h to lib/sha1.h.
89251         Rename lib/sha.c to lib/sha1.c.
89252         Rename m4/sha.m4 to m4/sha1.m4.
89253         (lib_SOURCES): Likewise.
89254         (configure.ac): Rename gl_SHA to gl_SHA1.
89255         (Include): sha.h -> sha1.h.
89256
89257 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89258
89259         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89260         * m4/sha1.m4: Renamed from sha.m4.
89261         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89262
89263 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89264
89265         * lib/obstack.h (obstack_empty_p):
89266         Don't assume that chunk->contents is suitably aligned.
89267         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89268         Likewise. Problem reported by Benno in
89269         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89270
89271         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89272         readable.  This could be improved further but it'd take some work.
89273
89274 2004-08-08  Simon Josefsson  <jas@extundo.com>
89275
89276         * modules/xgethostname (Depends-on): Remove exit and error (not
89277         used).
89278
89279         * modules/getpass-gnu: Add getpass.h.
89280         (Depends-on): Add stdbool.
89281         * modules/getpass: Add getpass.h.
89282
89283 2004-08-08  Simon Josefsson  <jas@extundo.com>
89284
89285         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89286         Check getpass declaration.
89287
89288 2004-08-08  Simon Josefsson  <jas@extundo.com>
89289
89290         * lib/xgethostname.c: Don't include error.h (not used).
89291
89292         * lib/getpass.h: Add.
89293         * lib/getpass.c: Include getpass.h first.
89294
89295 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89296
89297         * lib/xalloc-die.c: New file.
89298         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89299         All uses removed.
89300         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89301         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89302         xalloc-die.c.
89303         (_, N_, xalloc_die): Move to xalloc-die.c.
89304         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89305         so that we needn't mess with xalloc_msg_memory_exhausted.
89306
89307         * lib/sha1.h: Renamed from sha.h.
89308         (SHA1_H): Renamed from _SHA_H.
89309         (sha1_ctx): Renamed from sha_ctx.
89310         (sha1_init_ctx): Renamed from sha_init_ctx.
89311         (sha1_process_block): Renamed from sha_process_block.
89312         (sha1_process_bytes): Renamed from sha_process_bytes.
89313         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89314         (sha1_read_ctx): Renamed from sha_read_ctx.
89315         (sha1_stream): Renamed from sha_stream.
89316         (sha1_buffer): Renamed from sha_buffer.
89317         * lib/sha1.c: Likewise; renamed from sha.c.
89318         Do not include <sys/types.h>.
89319         Include <stddef.h> rather than <stdlib.h>.
89320
89321 2004-08-08  Bruno Haible  <bruno@clisp.org>
89322
89323         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89324         FILESYSTEM_PREFIX_LEN.
89325         * lib/progreloc.c: Likewise.
89326         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89327
89328 2004-08-06  Simon Josefsson  <jas@extundo.com>
89329
89330         * modules/progname (Depends-on): Don't depend on stdbool.
89331
89332 2004-08-06  Simon Josefsson  <jas@extundo.com>
89333
89334         * modules/getsubopt: New file.
89335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89336         getsubopt.
89337
89338 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89339
89340         More merge from coreutils.
89341
89342         * m4/utimens.m4, m4/utimecmp.m4: New files.
89343         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89344         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89345         prereq.m4, sha.m4: Import changes from coreutils.
89346
89347 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89348
89349         More merge from coreutils.
89350         * modules/raise, modules/readtokens0, modules/utimens:
89351         * modules/utimecmp, module/xnanosleep: New files.
89352         * modules/strftime: Add lib/strftime.h.
89353         Change include from <time.h> to "strftime.h".
89354         * modules/yesno: Add lib/yesno.h.
89355         * modules/backupfile: Remove lib/addext.c.
89356         * modules/euidaccess: Add stat-macros.h.
89357         * modules/canonicalize, modules/euidaccess,
89358         modules/filemode, modules/lchown, modules/makepath,
89359         modules/rmdir, modules/stat: Likewise.
89360
89361 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89362
89363         Merge from tar.
89364         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89365         SIZE_MAX is a valid preprocessor constant.
89366         (__argp_basename): Change from "#ifndef _LIBC"
89367         to "#ifndef __argp_short_program_name", so that
89368         we don't compile these functions for tar.
89369
89370         More merges from coreutils.
89371         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89372         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89373         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89374         * lib/addext.c: Remove; no longer needed.
89375         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89376         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89377         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89378         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89379         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89380         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89381         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89382         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89383         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89384         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89385         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89386         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89387         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89388         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89389         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89390         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89391         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89392         Import changes from coreutils.
89393
89394 2004-08-05  Simon Josefsson  <jas@extundo.com>
89395
89396         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89397
89398 2004-08-05  Simon Josefsson  <jas@extundo.com>
89399
89400         * m4/getsubopt.m4: New file.
89401
89402 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89403
89404         Merge from coreutils.
89405
89406         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89407         * m4/getcwd-path-max.m4: New files.
89408
89409         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89410         FILESYSTEM_PREFIX_LEN ->
89411         FILE_SYSTEM_PREFIX_LEN.
89412         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89413         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89414         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89415         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89416
89417         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89418         prerequisite modules now handle the DOS stuff.
89419         Don't check for unistd.h.
89420
89421 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89422
89423         Merge from coreutils.
89424
89425         * lib/.gdb-history: Remove; this doesn't belong here.
89426
89427         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89428         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89429         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89430         * lib/getcwd.c: New files.
89431
89432         * lib/dirname.h: Include <stdbool.h>.
89433         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89434         for consistency with POSIX terminology.  All uses changed.
89435         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89436         (strip_trailing_slashes): Use bool for booleans.
89437         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89438
89439         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89440         sometimes returns a positive errno value even when it succeeds.
89441         (print_errno_message) [!LIBC]: Fall back on strerror if
89442         __strerror_r fails.
89443
89444         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89445         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89446         (longest_relative_suffix): New function.
89447         (path_concat): Use it.  Assume first argument is not NULL.
89448         Port to DOS.  Omit redundant separators.
89449         Report an error instead of returning NULL.
89450         Use mempcpy instead of memcpy.
89451         (xpath_concat): Remove: not declared or used.
89452
89453         * lib/same.h: Include <stdbool.h>
89454         (same_name): Return bool, not int.
89455         * lib/same.c (same_name): Likewise.
89456         (errno): Don't declare; we assume C89 or better now.
89457
89458         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89459         if not already defined.
89460
89461         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89462         * lib/dup-safer.c (errno): Likewise.
89463
89464 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89465
89466         Merge from coreutils.
89467         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89468         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89469         * modules/path-concat: Don't depend on strdup.
89470
89471 2004-08-03  Simon Josefsson  <jas@extundo.com>
89472
89473         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89474         * lib/progname.h: Don't include stdbool.h.
89475
89476 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89477
89478         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89479         * MODULES.html.sh (func_all_modules): Remove fatal.
89480
89481 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89482
89483         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89484
89485 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89486
89487         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89488         working.
89489
89490 2004-08-02  Simon Josefsson  <jas@extundo.com>
89491
89492         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89493         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89494         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89495
89496 2004-08-01  Simon Josefsson  <jas@extundo.com>
89497
89498         * lib/xgetdomainname.c: Include stdlib.h, for free().
89499
89500 2004-07-19  Bruno Haible  <bruno@clisp.org>
89501
89502         * MODULES.html.sh (func_all_modules): Add dummy.
89503
89504 2004-07-16  Simon Josefsson  <jas@extundo.com>
89505
89506         * modules/dummy: New file.
89507
89508 2004-07-16  Simon Josefsson  <jas@extundo.com>
89509
89510         * lib/dummy.c: New file.
89511
89512 2004-07-16  Bruno Haible  <bruno@clisp.org>
89513
89514         * lib/backupfile.h: Add extern "C" for C++.
89515         * lib/closeout.h: Likewise.
89516         * lib/copy-file.h: Likewise.
89517         * lib/findprog.h: Likewise.
89518         * lib/full-write.h: Likewise.
89519         * lib/pathname.h: Likewise.
89520         * lib/progname.h: Likewise.
89521         * lib/stpcpy.h: Likewise.
89522         * lib/stpncpy.h: Likewise.
89523         * lib/strcase.h: Likewise.
89524         * lib/strstr.h: Likewise.
89525         * lib/xalloc.h: Likewise.
89526
89527         * lib/mbswidth.h: Add extern "C" for C++.
89528         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89529
89530 2004-07-13  Robert Millan  <robertmh@gnu.org>
89531
89532         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89533
89534 2004-07-09  Simon Josefsson  <jas@extundo.com>
89535
89536         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89537         failed without this.)
89538
89539 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89540
89541         * modules/chown (Files): Add lib/fchown-stub.c, since
89542         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89543
89544 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89545
89546         * lib/fchown-stub.c: New file.
89547
89548 2004-06-24  Jim Meyering  <jim@meyering.net>
89549
89550         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89551
89552 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89553
89554         * modules/argz: Omit "#include".
89555
89556         * MODULES.html.sh (func_all_modules): Add calloc, to match
89557         2004-06-01 addition of calloc module.
89558
89559 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89560
89561         * m4/argz.m4: New file, which is autoupdated from libtool.
89562
89563 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89564
89565         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89566         libtool.
89567
89568 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89569
89570         * config/srclist-update: Don't insist on "USA." before the
89571         close-comment, as libtool omits the period and puts the */ on a
89572         separate line.
89573         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89574         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89575
89576 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89577
89578         * modules/argz: New file.
89579         * MODULES.html.sh (func_all_modules): Add argz.
89580
89581 2004-06-12  Jim Meyering  <jim@meyering.net>
89582         and  Paul Eggert  <eggert@cs.ucla.edu>
89583
89584         * modules/hash (Files): Add lib/xalloc.h.
89585         * modules/pipe (Depends-on): Add wait-process.
89586         * modules/stat (Depends-on): Add xalloc.
89587         * modules/userspec (Files): Add lib/userspec.h.
89588         * modules/xstrto
89589
89590         Upgrade from gettext-0.13.
89591         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89592         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89593         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89594
89595 2004-06-10  Jim Meyering  <jim@meyering.net>
89596
89597         * lib/calloc.c: New file.
89598
89599 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89600
89601         * lib/getdate.y (yylex): Allow space between sign and number.
89602         Problem reported by Dan Jacobson.
89603
89604 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89605
89606         Merge from coreutils CVS.
89607
89608         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89609         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89610         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89611         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89612         xstrtol.m4: Fix copyright date and/or serial number.
89613
89614         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89615         See if we need an fchown replacement.
89616         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89617         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89618         and use the replacement function if we detect either defect.
89619
89620         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89621         gl_UTIMECMP.
89622
89623 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89624         and  Jim Meyering  <jim@meyering.net>
89625
89626         Merge from coreutils CVS.
89627
89628         * lib/stat-macros.h: New file, with contents from file-type.h
89629         and coreutils' system.h.
89630         * lib/file-type.c: Include "stat-macros.h".
89631         * lib/file-type.h (file_type): Move all macro definitions to new file,
89632         stat-macros.h.
89633
89634         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89635         Wrap old code with this conditional.
89636         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89637         function that does not dereference symlinks.
89638         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89639
89640         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89641         dependency problems.
89642         (xreadlink): Accept new arg SIZE, for efficiency.
89643         All decls and uses changed.
89644         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89645
89646         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89647         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89648
89649         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89650         sysexits.h.
89651
89652 2004-06-01  Jim Meyering  <jim@meyering.net>
89653
89654         * m4/calloc.m4: New file.
89655
89656 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89657
89658         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89659         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89660         Also, fix a typo in a diagnostic.
89661
89662 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89663
89664         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89665         or AC_FUNC_REALLOC.
89666
89667 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89668
89669         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89670         macros to be defined.
89671         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89672         the allocator returns NULL because the requested size is zero.
89673
89674 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89675
89676         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89677         var.  Add comment explaining why libc still defines it.  This
89678         merges the following patch from glibc:
89679         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89680
89681 2004-05-20  Andreas Schwab  <schwab@suse.de>
89682
89683         * m4/free.m4: Replace free if it not known to work, not the other
89684         way round.
89685
89686 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89687
89688         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89689         present in glibc since revision 1.1 of this file.
89690         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89691         obstack_alignment_mask, obstack_alloc, obstack_base,
89692         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89693         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89694         obstack_grow0, obstack_init, obstack_int_grow,
89695         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89696         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89697         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89698         nonexistent functions.
89699
89700 2004-05-18  Karl Berry  <karl@gnu.org>
89701
89702         * config/srclist.txt: break link for vasnprintf.c.
89703
89704 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89705
89706         Port obstack to the AS/400, where pointers are 16 bytes wide and
89707         you cannot cast an integer to a valid pointer.  This patch is
89708         currently waiting to be integrated into glibc; see
89709         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
89710
89711         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
89712         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
89713         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
89714         (struct obstack): temp member is now a union of a pointer and
89715         an integer, instead of an integer.  All integer uses changed.
89716         This does not affect the physical layout of struct obstack,
89717         except on hosts (like the AS/400) where the size or alignment of
89718         void * is greater than that of ptrdiff_t.
89719         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
89720         __STDC__)]: Store temporary in pointer member of union, not
89721         integer member.
89722         * lib/obstack.c: Include <stddef.h>, for offsetof.
89723         (struct fooalign): Remove; it doesn't need a name.
89724         (union fooround): Change double to long double, and add void *.
89725         (DEFAULT_ALIGNMENT): Use offsetof to compute.
89726         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
89727         not a macro.  Hence the values are always int; so remove all
89728         casts-to-int in uses.
89729
89730 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89731
89732         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
89733         we can get this patch merged into glibc.
89734
89735 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89736             Paul Eggert  <eggert@cs.ucla.edu>
89737
89738         * m4/argp: Depend on alloca.
89739
89740 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89741             Paul Eggert  <eggert@cs.ucla.edu>
89742
89743         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
89744         freecoding.
89745
89746 2004-05-17  Bruno Haible  <bruno@clisp.org>
89747
89748         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
89749         precision that consists of a '.' followed by an empty digit string.
89750         Patch by Tor Lillqvist <tml@iki.fi>.
89751
89752 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89753
89754         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
89755         for backward compatibility with older code.  We need our own
89756         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
89757         it under some other name, and our alloca.h will define it.
89758
89759 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89760             Derek Price  <derek@ximbiot.com>
89761
89762         * lib/alloca.c: Include <alloca.h>, to get our interface.
89763         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
89764         include <alloca.h> first.  Use C89 prototype for alloca; this
89765         requires including <stddef.h> for size_t.  Use extern "C" if C++.
89766         Use #elif for simplicity, since we can assume C89 now.
89767         Don't try to source the system alloca.h since it will not be found
89768         and to prevent recursively including its replacement.
89769         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
89770         * lib/regex.c: Likewise.
89771
89772 2004-05-16  Derek Price  <derek@ximbiot.com>
89773             Paul Eggert  <eggert@cs.ucla.edu>
89774
89775         getline cleanup.  This changes the getndelim2 API: both order of
89776         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
89777         no delimiter).
89778
89779         * lib/getline.c: Don't include stddef.h or stdio.h, since our
89780         interface does that.
89781         (getline): Always use getdelim, so that we don't have two
89782         copies of this code.
89783         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
89784         if available.
89785         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
89786         (GETNDELIM2_MAXIMUM): New macro.
89787         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
89788         instead of the old practice of delim2==0.  All callers changed.
89789         Return -1 on overflow, instead of returning junk.
89790         Do not set *linesize unless allocation succeeds.
89791         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
89792         that we include sys/types.h.
89793         * lib/getnline.h: Likewise.
89794         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
89795         (getndelim2): Reorder arguments.
89796         * lib/getnline.c (getnline, getndelim):
89797         Don't discard the NMAX argument.
89798         (getnline): Invoke getndelim, to avoid code duplication.
89799         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
89800         of (size_t) -1 by callers of the getnline family.
89801
89802 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89803
89804         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
89805         Check for gettimeofday.
89806         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
89807         Check for settimeofday, stime.
89808
89809 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89810
89811         * lib/nanosleep.c (suspended): Change its type from int to
89812         sig_atomic_t volatile.
89813         (first_call): Make it private to rpl_nanosleep, and have it
89814         be zero initially as that's a bit faster.
89815         (my_usleep): Round up fractional times instead of truncating them,
89816         as this is the usual meaning for 'sleep'.
89817
89818         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
89819         doesn't work.
89820         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
89821         (ENOSYS): Define if not defined.
89822         (settime): Fall back on stime if it exists and settimeofday fails.
89823         But don't bother with fallbacks if a method fails with errno == EPERM.
89824
89825 2004-05-11  Jim Meyering  <jim@meyering.net>
89826
89827         Prior to this change, the save_cwd caller required read access to the
89828         current directory on most systems (ones with the fchdir function).
89829
89830         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
89831         fails, try write-only, and finally, resort to using xgetcwd.
89832
89833 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
89834
89835         * lib/obstack.c, obstack.h: Import changes from libc.
89836
89837 2004-04-28  Bruno Haible  <bruno@clisp.org>
89838
89839         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
89840         also implicitly appends .exe to executables.
89841         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
89842         accepts Windows pathnames.
89843         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89844         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89845         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89846         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89847         Reported by Derek Robert Price <derek@ximbiot.com>.
89848
89849 2004-04-21  Karl Berry  <karl@gnu.org>
89850
89851         * config/srclist.txt (localcharset.c): break sync.
89852
89853 2004-04-20  Paul Eggert  <eggert@twinsun.com>
89854
89855         * m4/host-os.m4: Add a copyright notice.
89856
89857 2004-04-20  Jim Meyering  <jim@meyering.net>
89858
89859         Change UTILS_ to gl_ in AC_DEFINE'd names.
89860         Change utils_- and jm_-prefixed variables, too.
89861         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
89862         UTILS_FUNC_MKDIR_TRAILING_SLASH.
89863         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
89864
89865         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
89866         Don't emit trailing blanks.
89867         Also rename jm_-prefixed variables to have gl_ prefix.
89868
89869         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
89870         Also rename jm_-prefixed variables to have gl_ prefix.
89871
89872         * m4/jm-macros.m4: Reflect the renamings.
89873         * m4/prereq.m4: Likewise.
89874
89875 2004-04-20  Jim Meyering  <jim@meyering.net>
89876
89877         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89878         memory.
89879
89880 2004-04-20  Jim Meyering  <jim@meyering.net>
89881             Bruno Haible  <bruno@clisp.org>
89882
89883         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
89884         memory when realloc fails.
89885
89886 2004-04-19  Jim Meyering  <jim@meyering.net>
89887
89888         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
89889         now that readutmp.c may call `free (0)'.
89890
89891 2004-04-19  Bruno Haible  <bruno@clisp.org>
89892
89893         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
89894         * m4/inttypes_h.m4: Likewise.
89895         * m4/stdint_h.m4: Likewise.
89896         * m4/intmax_t.m4: Likewise.
89897         * m4/uintmax_t.m4: Likewise.
89898
89899 2004-04-18  Jim Meyering  <jim@meyering.net>
89900
89901         * m4/prereq.m4: Don't forbid jm_ prefix.
89902
89903         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
89904         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
89905         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
89906         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
89907         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
89908         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
89909         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
89910         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
89911         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
89912         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
89913         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
89914         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
89915         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
89916         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
89917         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
89918         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
89919         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
89920         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
89921         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
89922
89923 2004-04-18  Jim Meyering  <jim@meyering.net>
89924
89925         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
89926         failure, don't leak memory and do call END_UTMP_ENT.
89927
89928 2004-04-16  Jim Meyering  <jim@meyering.net>
89929
89930         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
89931         coreutils' stat program.
89932         (gl_PREREQ): Don't require jm_PREREQ_STAT.
89933
89934 2004-04-11  Paul Eggert  <eggert@twinsun.com>
89935
89936         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
89937         C89.
89938         (CHAR_BIT): Remove, since we assume C89.
89939         Include <stdint.h> if available, as per current Autoconf CVS advice.
89940
89941 2004-03-31  Jim Meyering  <jim@meyering.net>
89942
89943         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
89944         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
89945         * m4/xalloc.m4: Likewise.
89946
89947 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89948
89949         Merge from coreutils.
89950
89951         * m4/inttostr.m4: New file.
89952         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
89953         Require AM_STDBOOL_H and gl_TIMESPEC instead.
89954         Require gl_CLOCK_TIME.
89955         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
89956
89957 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89958
89959         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
89960         not bool, to be more consistent with Unix conventions.
89961         Suggested by Bruno Haible.
89962
89963         Merge from coreutils.
89964
89965         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
89966         * lib/umaxtostr.c: New files.
89967
89968         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
89969         the usual <time.h> dance.
89970         (get_date): Change signature to support fractional time stamps.
89971         All callers changed.
89972         * lib/getdate.y: Include "getdate.h" first, as we can now
89973         assume C89 and don't need to worry about 'const'.
89974         Similarly, include "unlocked-io.h" near start, not in middle.
89975         Include <limits.h>.
89976         (textint.value): Use long int rather than int.
89977         (textint.digits): Use size_t rather than int.
89978         (BILLION, LOG10_BILLION): New constants.
89979         (parser_control): New member rel_ns.  Members day_ordinal,
89980         time_zone, month, day, hour, minutes, rel_year, rel_month,
89981         rel_day, rel_hour, rel_minutes, rel_seconds
89982         are now long int, not int.  Member seconds is now struct timespec,
89983         not int.  New member timespec_seen.  Members dates_seen, days_seen,
89984         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
89985         not int.
89986         (%union.intval): Now long int, not int.
89987         New member timespec.
89988         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
89989         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
89990         (spec): Now is a timespec or an item list.
89991         (timespec, items): New nonterminals.
89992         (time, rel, relunit, number, get_date):
89993         Add support for fractional seconds.
89994         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
89995         (gmtime, localtime, mktime): Remove decls; not needed with C89.
89996         (to_hour): First arg is now long int, not int.
89997         (to_year): Returns long int, not int.
89998         Don't treat year -70 like 70.
89999         (tm_diff): Returns long int, not int.
90000         (lookup_word): Use bool instead of int when appropriate.
90001         (yylex): Use size_t for count, not int.
90002         Detect overflow when parsing large integer constants.
90003         Add support for fractions.
90004         (get_date): Make pointers 'const' if possible.
90005         Use more-portable code to detect integer overflow.
90006         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90007         Don't use ctime; it's not reliable if the year has >4 digits.
90008
90009         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90010         This is for compatibility with BSD.
90011
90012         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90013         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90014         From coreutils' system.h.
90015
90016         * lib/userspec.c: Don't include "posixver.h".
90017         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90018         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90019         compatible extension.  Simplify code by removing a boolean int
90020         that was always nonzero if a string was nonnull.
90021
90022 2004-03-30  Jim Meyering  <jim@meyering.net>
90023
90024         Merge from coreutils.
90025
90026         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90027         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90028         on some systems one must include <grp.h> before it.
90029         Reported by Christian Krackowizer.
90030
90031 2004-03-30  Jim Meyering  <jim@meyering.net>
90032
90033         Merge from coreutils.
90034
90035         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90036
90037         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90038         an empty input stream.
90039
90040         * lib/readtokens.c: Include <stdbool.h>.
90041         (readtoken): Use `size_t' rather than int/long.
90042         All callers adjusted.
90043         Use `bool' rather than `int' where appropriate.
90044         Use memset rather than an explicit loop.
90045         Use x2nrealloc rather than xrealloc.
90046         Allow the use of `\0' as a delimiter.
90047         (readtokens): Likewise.
90048         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90049
90050 2004-03-30  Jim Meyering  <jim@meyering.net>
90051
90052         * m4/realloc.m4: Remove file, since now it does no more than
90053         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90054         the `configure.ac' section of module/realloc.
90055         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90056
90057 2004-03-30  Bruno Haible  <bruno@clisp.org>
90058
90059         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90060         nonnull.
90061
90062 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90063
90064         Merge changes to getloadavg.c from coreutils and Emacs.
90065
90066         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90067         Define to an expression, not to the empty string.
90068         Include cloexec.h and xalloc.h.
90069         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90070         Use set_cloexec_flag rather than rolling our own.
90071         * lib/cloexec.c, lib/cloexec.h: New files.
90072
90073 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90074
90075         * m4/cloexec.m4: New file.
90076
90077 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90078
90079         * lib/getopt.h: Sync with libc CVS.
90080
90081 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90082             Bruno Haible  <bruno@clisp.org>
90083
90084         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90085         mbswidth.
90086
90087 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90088             Bruno Haible  <bruno@clisp.org>
90089
90090         * lib/mbswidth.h: Include <wchar.h> only if
90091         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90092         <wchar.h>.
90093         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90094
90095 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90096
90097         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90098         Sync with libc CVS.
90099         * lib/getopt_int.h: New file, also synced from libc.
90100
90101 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90102
90103         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90104         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90105         Bring back getopt.c, getopt.h, getopt1.c.
90106
90107 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90108
90109         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90110         All uses changed.  Check for sa_sigaction member; this fixes
90111         a bug first reported by Jason Andrade in
90112         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90113
90114 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90115
90116         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90117         '#if' expressions.  Unlike the code it replaces, it does not
90118         depend on (defined _SC_PAGESIZE).  However, it does depend on
90119         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90120         first reported by Jason Andrade in
90121         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90122
90123 2004-02-25  Simon Josefsson  <jas@extundo.com>
90124
90125         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90126
90127 2004-02-25  Simon Josefsson  <jas@extundo.com>
90128
90129         * lib/strdup.h: New file.
90130         * lib/strdup.c: Include it.
90131         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90132         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90133
90134 2004-02-23  Karl Berry  <karl@gnu.org>
90135
90136         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90137         (from fencepost.gnu.org:/gd/gnuorg).
90138
90139 2004-02-23  Karl Berry  <karl@gnu.org>
90140
90141         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90142         * config/srclist.txt: add maintain/standards documents.
90143
90144 2004-02-18  Bruno Haible  <bruno@clisp.org>
90145
90146         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90147         Reported by Derek Robert Price <derek@ximbiot.com>.
90148
90149 2004-02-16  Karl Berry  <karl@gnu.org>
90150
90151         * config/mkinstalldirs, install-sh: update from automake.
90152
90153 2004-02-06  Karl Berry  <karl@gnu.org>
90154
90155         * m4/po.m4: update from gettext 0.14.1.
90156
90157 2004-02-06  Karl Berry  <karl@gnu.org>
90158
90159         * lib/config.charset: update from gettext 0.14.1.
90160
90161 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90162
90163         Add comments and code, prompted by suggestions from Bruno Haible
90164         for sh-quote.
90165         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90166         describing the enum quoting_style values.
90167         * lib/quotearg.c (quotearg_alloc): New function.
90168         (quotearg_buffer_restyled): Treat lone { and } as special.
90169         Treat = as special.  Work around bug with older shells
90170         that "see" a '\' that is really the 2nd byte of a multibyte char.
90171         Quote empty string with shell_quoting_style.
90172
90173 2004-02-03  Bruno Haible  <bruno@clisp.org>
90174
90175         * m4/pipe.m4: New file, from GNU gettext.
90176
90177 2004-02-03  Bruno Haible  <bruno@clisp.org>
90178
90179         * lib/pipe.h: New file, from GNU gettext.
90180         * lib/pipe.c: New file, from GNU gettext.
90181
90182 2004-01-27  Bruno Haible  <bruno@clisp.org>
90183
90184         * m4/execute.m4: New file, from GNU gettext.
90185
90186 2004-01-27  Bruno Haible  <bruno@clisp.org>
90187
90188         * lib/execute.h: New file, from GNU gettext.
90189         * lib/execute.c: New file, from GNU gettext.
90190         * lib/w32spawn.h: New file, from GNU gettext.
90191
90192 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90193
90194         Merge from diffutils.
90195
90196         * lib/file-type.c (file_type): Add typed memory objects.
90197         * lib/file-type.h (S_TYPEISTMO): New macro.
90198
90199         * lib/c-stack.h (c_stack_action): Remove argv argument.
90200         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90201         (die): Don't calculate message unless segv_action returns.
90202         (get_stack_location, min_address_from_argv, max_address_from_argv,
90203         volatile stack_base, volatile_stack_size): Remove.
90204         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90205         that every segmentation violation is a stack overflow.  (Ouch!)
90206         See Debian bug 136249 (still outstanding) for more info about why
90207         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90208
90209 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90210
90211         Exit-status fix from coreutils.
90212
90213         Use exit_failure consistently in place of EXIT_FAILURE,
90214         so that program exit statuses are consistent on failure.
90215
90216         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90217         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90218         * lib/argmatch.h: Comment fix to match the above.
90219         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90220         Now a macro referring to exit_failure, instead of a separate
90221         variable.  Include "exitfail.h" to get it.
90222         * lib/xstrtol.h: Include "exitfail.h".
90223         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90224
90225         * lib/long-options.c (parse_long_options): Use prototype
90226         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90227         for clarity.
90228
90229 2004-01-21  Jim Meyering  <jim@meyering.net>
90230
90231         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90232         so as not to conflict with a different-sized __mktime_internal
90233         function in GNU libc.
90234         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90235         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90236
90237 2004-01-20  Karl Berry  <karl@gnu.org>
90238
90239         * config/config.guess: update from config.
90240
90241         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90242
90243 2004-01-20  Bruno Haible  <bruno@clisp.org>
90244
90245         Safer stack allocation.
90246         * lib/setenv.c: Include allocsa.h.
90247         (alloca): Remove fallback definition.
90248         (freea): Remove macro.
90249         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90250         instead of freea.
90251
90252 2004-01-20  Bruno Haible  <bruno@clisp.org>
90253
90254         * m4/eealloc.m4: New file, from GNU gettext.
90255
90256 2004-01-20  Bruno Haible  <bruno@clisp.org>
90257
90258         * m4/allocsa.m4: New file, from GNU gettext.
90259
90260 2004-01-20  Bruno Haible  <bruno@clisp.org>
90261
90262         * lib/xallocsa.h: New file, from GNU gettext.
90263         * lib/xallocsa.c: New file, from GNU gettext.
90264
90265 2004-01-20  Bruno Haible  <bruno@clisp.org>
90266
90267         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90268
90269 2004-01-20  Bruno Haible  <bruno@clisp.org>
90270
90271         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90272         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90273         specially.
90274
90275 2004-01-20  Bruno Haible  <bruno@clisp.org>
90276
90277         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90278         patch.
90279
90280 2004-01-20  Bruno Haible  <bruno@clisp.org>
90281
90282         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90283
90284 2004-01-20  Bruno Haible  <bruno@clisp.org>
90285
90286         * lib/eealloc.h: New file.
90287
90288 2004-01-20  Bruno Haible  <bruno@clisp.org>
90289
90290         * lib/binary-io.h: Avoid warnings on Cygwin.
90291
90292 2004-01-20  Bruno Haible  <bruno@clisp.org>
90293
90294         * lib/allocsa.h: New file, from GNU gettext.
90295         * lib/allocsa.c: New file, from GNU gettext.
90296
90297 2004-01-18  Karl Berry  <karl@gnu.org>
90298
90299         * doc/gpl.texi, doc/lgpl.texi: new files.
90300
90301 2004-01-18  Karl Berry  <karl@gnu.org>
90302
90303         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90304         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90305
90306 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90307
90308         Merge from coreutils.
90309
90310         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90311         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90312         (gl_DEFAULT_POSIX2_VERSION): Move
90313         the documentation from 'configure' into 'config.hin',
90314         so that 'configure --help' isn't burdened by it and
90315         we don't have to worry about its formatting there.
90316         Reword the documentation so that it's more succinct
90317         and can be run together into a single paragraph.
90318         * m4/same.m4 (gl_SAME): Check for pathconf.
90319
90320 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90321
90322         Merge from coreutils.
90323
90324         * lib/posixver.c: Include posixver.h.
90325
90326         * lib/same.c: Include <stdbool.h>, <limits.h>.
90327         (_POSIX_NAME_MAX): Define if not defined.
90328         (MIN): New macro.
90329         (same_name): If file names are silently truncated, report
90330         that the file names are the same if they are the same after
90331         the silent truncation.
90332
90333         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90334         conversion function.
90335         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90336         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90337         longer needed.
90338
90339 2004-01-15  Jim Meyering  <jim@meyering.net>
90340
90341         Merge from coreutils.
90342
90343         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90344         if no library is required.
90345         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90346         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90347         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90348         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90349         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90350         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90351         value, $ac_cv_search_crypt, if it's "none required".
90352         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90353         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90354         not gl_FUNC_GETLOADAVG.
90355         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90356         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90357
90358 2004-01-15  Jim Meyering  <jim@meyering.net>
90359
90360         Merge from coreutils.
90361
90362         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90363         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90364         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90365
90366         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90367         optional configure-time default.
90368
90369         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90370
90371         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90372
90373 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90374
90375         Merge from coreutils.
90376
90377         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90378         value, $ac_cv_search_nanosleep, if it's "none required".
90379
90380 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90381
90382         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90383         with like-named macro in fnmatch.c.
90384         (EXT): Use an internal constant instead.
90385
90386         Merge fnmatch patches from glibc.
90387         * lib/fnmatch.c (mbsinit): Remove define.
90388         Add libc_hidden_ver (__fnmatch, fnmatch).
90389         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90390         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90391
90392 2004-01-14  Karl Berry  <karl@gnu.org>
90393
90394         * config/install-sh: update from automake.
90395
90396 2004-01-13  Karl Berry  <karl@gnu.org>
90397
90398         * config/install-sh: update from automake.
90399
90400 2004-01-09  Karl Berry  <karl@gnu.org>
90401
90402         * config/install-sh: update from automake.
90403
90404 2004-01-05  Karl Berry  <karl@gnu.org>
90405
90406         * config/config.{sub,guess}: update from config.
90407
90408 2003-12-31  Karl Berry  <karl@gnu.org>
90409
90410         * config/depcomp: update from automake.
90411
90412 2003-12-14  Karl Berry  <karl@gnu.org>
90413
90414         * lib/config.charset: update from gettext-runtime.
90415
90416 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90417
90418         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90419         Bug reported by Alfred M. Szmidt.
90420
90421 2003-12-03  Bruno Haible  <bruno@clisp.org>
90422
90423         * m4/gettext.m4: Upgrade from gettext-0.13.
90424         * m4/po.m4: Upgrade from gettext-0.13.
90425         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90426         * m4/intmax.m4: New file, from gettext-0.13.
90427         * m4/printf-posix.m4: New file, from gettext-0.13.
90428
90429 2003-11-29  Karl Berry  <karl@gnu.org>
90430
90431         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90432
90433 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90434             Bruno Haible  <bruno@clisp.org>
90435
90436         * lib/printf-parse.h: Don't include sys/types.h.
90437         (ARG_NONE): New macro.
90438         (char_directive): Change type of *arg_index fields to size_t.
90439         * lib/printf-parse.c: Don't include sys/types.h.
90440         (SSIZE_MAX): Remove macro.
90441         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90442         Remove unnecessary overflow check.
90443         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90444         fields.
90445
90446 2003-11-25  Bruno Haible  <bruno@clisp.org>
90447
90448         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90449
90450 2003-11-25  Bruno Haible  <bruno@clisp.org>
90451
90452         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90453         gt_TYPE_SSIZE_T.
90454
90455 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90456
90457         * modules/alloca: Remove dependency on xalloc.
90458
90459 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90460
90461         * lib/alloca.c: Remove dependency on xalloc module.
90462         (xalloc_die): Remove.
90463         (memory_full) [!defined emacs]: New macro.
90464         [!defined emacs]: Don't include xalloc.h.
90465         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90466         address arithmetic overflows.  Change datatypes a bit to avoid
90467         unnecessary casts.
90468
90469 2003-11-22  Jim Meyering  <jim@meyering.net>
90470
90471         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90472         s/size/size_t/.
90473
90474 2003-11-21  Karl Berry  <karl@gnu.org>
90475
90476         * config/config.{sub,guess}: update from config.
90477
90478 2003-11-18  Karl Berry  <karl@gnu.org>
90479
90480         * config/config.{sub,guess}: update from config.
90481
90482         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90483
90484 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90485
90486         * README: Mention that S+T cannot overflow if S is the size of
90487         an existing object and T is sufficiently small.
90488
90489 2003-11-17  Jim Meyering  <jim@meyering.net>
90490
90491         On systems without utime and without a utimes function capable of
90492         dealing with a NULL struct utimbuf* argument, this utime replacement
90493         could -- in unusual circumstances -- leak a file descriptor.
90494         * lib/utime.c: Include <unistd.h> and <errno.h>.
90495         (utime_null): Be sure to close `fd' and to preserve errno.
90496         Reported by Geoff Collyer via Arnold Robbins.
90497
90498 2003-11-17  Bruno Haible  <bruno@clisp.org>
90499
90500         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90501         (Depends-on): Add xsize.
90502
90503 2003-11-17  Bruno Haible  <bruno@clisp.org>
90504
90505         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90506
90507 2003-11-17  Bruno Haible  <bruno@clisp.org>
90508
90509         * lib/vasnprintf.c (alloca): Remove fallback definition.
90510         (freea): Remove definition.
90511         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90512         Reported by Paul Eggert.
90513
90514 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90515             Bruno Haible  <bruno@clisp.org>
90516
90517         Protect against address arithmetic overflow.
90518         * lib/printf-args.h: Include stddef.h.
90519         (arguments): Change type of field 'count' to size_t.
90520         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90521         'unsigned int' where appropriate.
90522         * lib/printf-parse.h: Include sys/types.h.
90523         (char_directive): Change type of *arg_index fields to ssize_t.
90524         (char_directives): Change type of fields 'count', max_*_length to
90525         size_t.
90526         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90527         (SSIZE_MAX): Define fallback value.
90528         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90529         instead of 'int' where appropriate. Check a_allocated, d_allocated
90530         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90531         * lib/vasnprintf.c: Include xsize.h.
90532         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90533         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90534         overflow. Avoid wraparound when converting a width or precision from
90535         decimal to binary.
90536
90537 2003-11-16  Bruno Haible  <bruno@clisp.org>
90538
90539         Update from GNU gettext.
90540         * lib/printf-parse.c: Generalize to it can be compiled for wide
90541         strings.
90542         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90543         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90544         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90545         SNPRINTF): New macros.
90546         Don't include <alloca.h> if the file is used inside libintl.
90547         (local_wcslen): New function, for Solaris 2.5.1.
90548         (VASNPRINTF): Use it instead of wcslen.
90549
90550 2003-11-16  Bruno Haible  <bruno@clisp.org>
90551
90552         * lib/xsize.h (xmax): New function.
90553         (xsum, xsum3, xsum4): Declare as "pure" functions.
90554
90555 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90556
90557         * modules/xalloc (Files): Undo latest change, since xalloc.h
90558         no longer needs SIZE_MAX or PTRDIFF_MAX.
90559
90560 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90561
90562         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90563         gl_PTRDIFF_MAX.
90564
90565 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90566
90567         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90568         "return", to pacify some unknown compiler.  Problem reported
90569         by Joerg Schilling.
90570
90571 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90572
90573         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90574         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90575         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90576         heuristic is just as accurate as far as we know, and it removes a
90577         dependency on size_max.m4 and ptrdiff_max.m4.
90578
90579 2003-11-11  Bruno Haible  <bruno@clisp.org>
90580
90581         * modules/xsize (Files): Add m4/size_max.m4.
90582         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90583
90584 2003-11-11  Bruno Haible  <bruno@clisp.org>
90585
90586         * m4/size_max.m4: New file.
90587         * m4/ptrdiff_max.m4: New file.
90588         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90589         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90590         (gl_XALLOC): Invoke it.
90591
90592 2003-11-11  Bruno Haible  <bruno@clisp.org>
90593
90594         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90595         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90596         defined.
90597
90598 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90599
90600         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90601         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90602         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90603         From Bruno Haible.
90604         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90605         not (size_t) -1, since it's defined here.
90606
90607 2003-11-09  Karl Berry  <karl@gnu.org>
90608
90609         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90610
90611 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90612
90613         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90614         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90615         Reject sizes of exactly SIZE_MAX bytes.
90616         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90617         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90618
90619 2003-11-05  Bruno Haible  <bruno@clisp.org>
90620
90621         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90622         SIZE_MAX defined in <limits.h> on Solaris.
90623
90624 2003-11-04  Jim Meyering  <jim@meyering.net>
90625
90626         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90627         variable names, rather than @VAR@.
90628         * modules/poll: Likewise.
90629
90630 2003-11-04  Bruno Haible  <bruno@clisp.org>
90631
90632         * modules/xsize: New file.
90633         * modules/linebreak: Depend on xsize.
90634         * MODULES.html.sh (func_all_modules): Add xsize.
90635
90636 2003-11-04  Bruno Haible  <bruno@clisp.org>
90637
90638         * m4/xsize.m4: New file.
90639
90640 2003-11-04  Bruno Haible  <bruno@clisp.org>
90641
90642         * lib/xsize.h: New file.
90643         * lib/linebreak.c: Include xsize.h.
90644         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90645         argument for overflow.
90646         Suggested by Paul Eggert.
90647
90648 2003-11-03  Karl Berry  <karl@gnu.org>
90649
90650         * config/config.{guess,sub}: update from config.
90651
90652 2003-11-03  Jim Meyering  <jim@meyering.net>
90653
90654         * modules/userspec (lib_SOURCES): Add userspec.h.
90655         (Include): Add "userspec.h".
90656         Improve description.
90657
90658 2003-11-03  Jim Meyering  <jim@meyering.net>
90659
90660         * lib/userspec.c: Include "userspec.h".
90661         * lib/userspec.h: New file.
90662
90663 2003-11-03  Bruno Haible  <bruno@clisp.org>
90664
90665         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90666
90667 2003-11-03  Bruno Haible  <bruno@clisp.org>
90668
90669         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90670         available, to avoid (extremely rare) race condition.
90671         Suggested by Paul Eggert.
90672
90673 2003-11-02  Karl Berry  <karl@gnu.org>
90674
90675         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90676
90677 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90678
90679         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90680         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90681         (read_filesystem_list): Set and use me_type_malloced.
90682         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90683         whatever the type happens to be), for brevity and consistency.
90684         Check for size calculation overflow on Alphas running OSF/1.
90685
90686 2003-10-31  Jim Meyering  <jim@meyering.net>
90687
90688         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90689
90690         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90691
90692 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90693             Bruno Haible  <bruno@clisp.org>
90694
90695         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90696         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90697
90698 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90699
90700         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90701         netbsd*-gnu*.  Suggested by Robert Millan.
90702
90703 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90704
90705         * modules/group-member: Depend on stdbool.
90706
90707 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90708
90709         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
90710
90711 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90712
90713         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
90714         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
90715         after the 'gnu' in these cases.  This fixes some bugs in the
90716         previous change, and is based on suggestions by Robert Millan.
90717
90718 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90719
90720         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
90721         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
90722         no longer needed.
90723         * lib/quotearg.c (quotearg_n_options): Use it.
90724         * lib/group-member.c: Include <stdbool.h>.
90725         (free_group_info): Arg is now const *; don't free arg.
90726         (get_group_info): Now returns bool and accepts struct group_info *,
90727         rather than returning a malloc'ed struct group_info *.
90728         All uses changed.  Check for overflow in internal size calculation.
90729
90730         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
90731         rather than xmalloc/xrealloc.
90732         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
90733         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
90734         conformance bug: the old code used a pointer after freeing the
90735         storage that it addressed.
90736         * lib/hash.c (hash_initialize): Simplify the code by using
90737         xalloc_oversized rather than doing it by hand.
90738         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
90739         the buffer preserved.  Use free and xmalloc instead.
90740         * lib/quotearg.c (quotearg_n_options): Likewise.
90741         Use a simpler test for size overflow.  Don't use xalloc_oversized
90742         because unsigned int might be wider than size_t (!); this suggests
90743         that we should switch from unsigned int to size_t for slot numbers.
90744
90745 2003-10-28  Paul Eggert  <eggert@twinsun.com>
90746
90747         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
90748         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
90749         NetBSD kernels.  Requested by Richard Stallman.
90750
90751 2003-10-27  Paul Eggert  <eggert@twinsun.com>
90752
90753         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
90754         to allocate the returned structure.  Do not allocate a subarray,
90755         as x2nrealloc will do that.
90756         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
90757         instead of xnrealloc.
90758         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
90759
90760 2003-10-27  Bruno Haible  <bruno@clisp.org>
90761
90762         * lib/stdbool_.h: Better support for BeOS.
90763
90764 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90765
90766         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
90767         now uses inline.
90768
90769 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90770
90771         * lib/xalloc.h (xalloc_oversized): New static inline function, for
90772         callers that want to do their own size-overflow checking.  Include
90773         <stdbool.h>, since xalloc_oversized returns bool.
90774         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
90775         to use xalloc_oversized.
90776
90777         Add two functions x2realloc, x2nrealloc, for programs that grow
90778         arrays dynamically by doubling their sizes.
90779         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
90780         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
90781         New functions.
90782
90783         Port to C99 semantics for 'inline' of external functions.
90784         Bug reported by Bruno Haible.
90785         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
90786         with the old contents of xnmalloc.
90787         (xnmalloc, xmalloc): Use it.
90788         (xnrealloc_inline): New static inline function,
90789         with the old contents of xnrealloc.
90790         (xnrealloc, xrealloc): Use it.
90791
90792         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
90793         that.
90794
90795 2003-10-26  Karl Berry  <karl@gnu.org>
90796
90797         * config/srclist.txt (COPYING.DOC): no longer available from
90798         /gd/gnuorg; don't know where the ultimate source is.
90799
90800 2003-10-25  Paul Eggert  <eggert@twinsun.com>
90801
90802         Fix several address-calculation bugs in the hash modules,
90803         plus some minor code cleanup.
90804
90805         * lib/hash.h: Include <stdbool.h>, for bool.
90806         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
90807         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
90808         hash_get_n_entries, hash_get_max_bucket_length,
90809         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
90810         hash_rehash): Use size_t rather than unsigned.
90811         * lib/hash.c (struct hash_table, hash_get_n_buckets,
90812         hash_get_n_buckets_used, hash_get_n_entries,
90813         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
90814         hash_get_entries, hash_do_for_each, hash_string, is_prime,
90815         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
90816         Likewise.
90817         (SIZE_MAX): Define if not defined.
90818         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
90819         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
90820         hash_print):
90821         Use const * when possible.
90822         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
90823         (check_tuning): Fix bug: if tuning parameters were very close to
90824         0 or 1, rounding errors could have caused subscript violations.
90825         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
90826         (hash_initialize): Add 'fail:' label
90827         to free table and return NULL, and use it to simplify code.
90828         Use calloc rather than clearing the storage ourself.
90829         (hash_initialize, hash_rehash): Check for arithmetic overflow in
90830         buffer size calculations.
90831         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
90832         Include <stddef.h>, for size_t.
90833         * lib/hash-pjw.c (hash_pjw): Likewise.
90834         Switch to method described by Bruno Haible.
90835         Include <limits.h>, for CHAR_BIT.
90836         (SIZE_BITS): New macro.
90837
90838 2003-10-23  Paul Eggert  <eggert@twinsun.com>
90839
90840         * m4/getline.m4 (AM_FUNC_GETLINE):
90841         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
90842         hosts.  Problem reported by Derek Robert Price in
90843         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
90844         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
90845         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
90846
90847 2003-10-21  Paul Eggert  <eggert@twinsun.com>
90848
90849         * lib/getndelim2.c (getndelim2): When size calculation overflows,
90850         ceiling the allocation at NMAX bytes rather than silently
90851         discarding input bytes before NMAX is reached.  This makes
90852         a difference only if NMAX exceeds SIZE_MAX / 2.
90853
90854         * lib/obstack.c: Merge from glibc.
90855         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
90856         Add libc_hidden_def (_obstack_newchunk).
90857         (_obstack_free) [! defined _LIBC]: Remove.
90858         [defined _LIBC]: Make a strong alias from obstack_free, rather than
90859         a clone of the function body.
90860         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
90861         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
90862
90863         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
90864         glibc.
90865         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
90866         arg to memcpy.
90867
90868         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
90869         (obstack_ptr_grow_fast, obstack_int_grow_fast):
90870         Don't use lvalue casts, as GCC plans to remove support for them
90871         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
90872         was also present in the non-GCC version, indicating that this
90873         code had always been buggy and had never been widely used.
90874         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90875         Use the fast variant of each macro, rather than copying the
90876         definiens of the fast variant; that way, we'll be more likely to
90877         catch future bugs in the fast variants.
90878
90879 2003-10-20  Bruno Haible  <bruno@clisp.org>
90880
90881         * modules/wait-process: New file.
90882         * MODULES.html.sh (func_all_modules): Add wait-process.
90883
90884 2003-10-20  Bruno Haible  <bruno@clisp.org>
90885
90886         * m4/wait-process.m4: New file.
90887
90888 2003-10-20  Bruno Haible  <bruno@clisp.org>
90889
90890         * lib/wait-process.h: New file, from GNU gettext.
90891         * lib/wait-process.c: New file, from GNU gettext.
90892
90893 2003-10-19  Jim Meyering  <jim@meyering.net>
90894
90895         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
90896         HPUX 10.20.
90897
90898 2003-10-18  Karl Berry  <karl@gnu.org>
90899
90900         * config/config.guess: update from config.
90901
90902 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90903
90904         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
90905         (getgroups): First arg is int, not size_t.
90906         Don't let 'free' mangle errno.
90907
90908 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90909
90910         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
90911
90912 2003-10-16  Karl Berry  <karl@gnu.org>
90913
90914         * config/config.{guess,sub}: update from config.
90915
90916 2003-10-16  Jim Meyering  <jim@meyering.net>
90917
90918         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
90919         memcpy.
90920
90921 2003-10-15  Paul Eggert  <eggert@twinsun.com>
90922
90923         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
90924         (SIZE_MAX): Remove.
90925         (new_exclude, add_exclude_file): Initial size no longer needs to
90926         be a power of 2.
90927         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
90928         our own address arithmetic overflow checking.
90929
90930         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
90931         (fnmatch): Do not alloca more than 2000 wide characters;
90932         instead, use malloc for large buffers.
90933         Check for address arithmetic overflow, and return -1
90934         with errno set to ENOMEM in that case.
90935         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
90936         (NEW_PATTERN): Do not alloca more than 8000 bytes;
90937         instead, return -1.  Check for address arithmetic overflow.
90938
90939 2003-10-14  Paul Eggert  <eggert@twinsun.com>
90940
90941         Handle invalid suffixes and overflow independently, so that
90942         callers can treat them independently as needed.  Fix some bugs in
90943         suffix handling, e.g., "100k@" was not diagnosed as an invalid
90944         suffix for a human-readable blocksize.  The major caller-visible
90945         change is the addition of a new
90946         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
90947         that both overflow and suffix chars were found.
90948
90949         * lib/human.c (humblock): Don't check separately for invalid suffix
90950         char; that is xstrtoumax's job (now that its bug is fixed).
90951         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
90952         INTMAX_MAX]: New macros.
90953         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
90954         TYPE_MAXIMUM): New macros.
90955         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
90956         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
90957         if overflow occurs, as it's what __strtol does and it's more useful
90958         in practice.
90959         (__xstrtol): If __strtol reports some error other than ERANGE,
90960         reflect it to the caller as LONGINT_INVALID.  If it reports
90961         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
90962         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
90963         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
90964         value.
90965         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
90966         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
90967         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
90968         [defined UINTMAX_MAX]: New macros.
90969
90970 2003-10-14  Bruno Haible  <bruno@clisp.org>
90971
90972         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
90973
90974 2003-10-14  Bruno Haible  <bruno@clisp.org>
90975
90976         * m4/sig_atomic_t: New file, from GNU gettext.
90977         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
90978
90979 2003-10-14  Bruno Haible  <bruno@clisp.org>
90980
90981         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
90982         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
90983         Also use volatile where needed.
90984
90985 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90986
90987         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
90988         Change maintainer from Bruno Haible to 'all'.
90989
90990 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90991
90992         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
90993
90994 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90995
90996         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
90997         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
90998         and define in terms of the other primitives.
90999         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91000         (SIZE_MAX): Define if not already defined.
91001         (array_size_overflow): New function.
91002         (xalloc_die): Abort instead of exiting if 'error' returns.
91003         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91004         (xmalloc, xrealloc): Use them.
91005         (xcalloc): Check for address arithmetic overflow.
91006         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91007         a bit faster than strcpy.
91008
91009 2003-10-10  Simon Josefsson  <jas@extundo.com>
91010
91011         * modules/argp (Depends-on): Add restrict and strcase.
91012
91013 2003-10-10  Simon Josefsson  <jas@extundo.com>
91014
91015         * m4/argp.m4: Add AC_C_INLINE.
91016
91017 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91018
91019         Merge getpass from libc, plus a few fixes.
91020
91021         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91022         Include <stdbool.h>.
91023         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91024         __fsetlocking to empty.
91025         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91026         do include <bits/libc-lock.h>.
91027         Do not include <fcntl.h>; not needed.
91028         [_LIBC]: Include <wchar.h>.
91029         (NOTCANCEL_MODE): New macro.
91030         (flockfile, funlockfile) [_LIBC]: New macros.
91031         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91032         [!_LIBC]: New macros.
91033         (call_fclose): New function.
91034         (getpass): Use it.  Save tty stream separately; this simplifies the
91035         code and makes it more reliable if stdin happens to equal stdout.
91036         Invoke __fsetlocking on tty.
91037         Handle thread cancellation if needed.
91038         Namespace cleanup (use __tcgetattr, __getline).
91039         Use bool for Booleans.
91040         [USE_IN_LIBIO]: Handle wide streams.
91041         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91042         stream might go where.
91043
91044         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91045         doesn't have to include <stdio.h> before us.
91046         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91047         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91048         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91049         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91050         if not declared, so that we can use getpass.c code from libc without
91051         rewriting it.
91052         (flockfile, ftrylockfile, funlockfile): New macros.
91053
91054 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91055
91056         * modules/getpass: Depend on stdbool.
91057
91058 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91059
91060         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91061
91062 2003-10-07  Karl Berry  <karl@gnu.org>
91063
91064         * config/config.{guess,sub}: update from config.
91065
91066 2003-10-06  Jim Meyering  <jim@meyering.net>
91067             Bruno Haible  <bruno@clisp.org>
91068
91069         This lets translators provide better translations for the
91070         "Written by ..." part of --version output.
91071         * lib/version-etc.h: Include stdarg.h.
91072         (version_etc_copyright): Declare as readonly.
91073         (version_etc): Make this function variadic with a NULL-terminated list
91074         of author name strings.
91075         (version_etc_va): New declaration.
91076         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91077         (version_etc_copyright): Declare as readonly.
91078         (version_etc_va): New function. Provide a different translatable string
91079         for each possible number of authors < 10. Abbreviate when there are 10
91080         authors or more.
91081         (version_etc): Make this function variadic. Call version_etc_va.
91082         Suggestion from Gary V. Vaughan.
91083
91084         * lib/long-options.h (parse_long_options): Change prototype: the
91085         authors string is moved to the end and becomes variadic.
91086         * lib/long-options.c: Include stdarg.h.
91087         (parse_long_options): Make this function variadic, too.
91088         Call version_etc_va, not version_etc.
91089
91090 2003-10-06  Bruno Haible  <bruno@clisp.org>
91091
91092         * modules/version-etc-2: Remove file.
91093         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91094
91095 2003-10-06  Bruno Haible  <bruno@clisp.org>
91096
91097         * modules/fatal-signal: New file.
91098         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91099
91100 2003-10-06  Bruno Haible  <bruno@clisp.org>
91101
91102         * m4/fatal-signal.m4: New file.
91103         * m4/signalblocking.m4: New file, from GNU gettext.
91104
91105 2003-10-06  Bruno Haible  <bruno@clisp.org>
91106
91107         * lib/version-etc-2.h: Remove file.
91108         * lib/version-etc-2.c: Remove file.
91109
91110 2003-10-06  Bruno Haible  <bruno@clisp.org>
91111
91112         * lib/fatal-signal.h: New file, from GNU gettext.
91113         * lib/fatal-signal.c: New file, from GNU gettext.
91114
91115 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91116
91117         * README: Rework advice for preventing empty .o files.
91118         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91119         not <sys/types.h>.
91120
91121 2003-10-04  Karl Berry  <karl@gnu.org>
91122
91123         * lib/argp*: update from libc.
91124
91125 2003-10-04  Karl Berry  <karl@gnu.org>
91126
91127         * config/config.{guess,sub}: update from config.
91128
91129 2003-10-02  Bruno Haible  <bruno@clisp.org>
91130
91131         * modules/lchown (Include): Add lchown.h.
91132         * modules/time_r (Include): Use "..." syntax.
91133         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91134
91135 2003-10-01  Simon Josefsson  <jas@extundo.com>
91136
91137         * MODULES.html.sh (func_all_modules): Move gethostname from section
91138         'based on' to section 'lacking' POSIX:2001.
91139
91140 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91141
91142         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91143         to output mode on the same stream.
91144
91145 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91146
91147         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91148         Fix arg typo in previous patch.
91149
91150 2003-09-28  Jim Meyering  <jim@meyering.net>
91151
91152         * lib/error.c: Correct cpp indentation.
91153
91154 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91155
91156         * modules/free: New file.
91157
91158 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91159
91160         * m4/free.m4: New file.
91161
91162 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91163
91164         * lib/minmax.h (MIN, MAX)
91165         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91166         Omit the special code that used __typeof__, since we worry that
91167         it could be more trouble than it's worth.  See:
91168         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91169         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91170
91171         * lib/free.c: New file.
91172
91173 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91174
91175         Trivial fixes to Makefile.am parts of module listings.
91176         * modules/strstr: Append strstr.h to lib_SOURCES.
91177         * modules/strcase: Likewise, for strcase.h.
91178
91179 2003-09-27  Karl Berry  <karl@gnu.org>
91180
91181         * config/mkinstalldirs: update from automake.
91182
91183 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91184
91185         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91186         (error_tail): Do not loop, reallocating temporary buffer, since
91187         the output cannot contain more wide characters than the input
91188         contains bytes, the size must be big enough already.  This avoids
91189         one potential size overflow calculation.  Check for size overflow
91190         when calculating temporary buffer size.  Free temporary buffer
91191         when done, if it was allocated with malloc; this plugs a memory
91192         leak.  Remove casts from void * to pointers, that are no longer
91193         needed now that we're assuming C89 or better.
91194
91195         Merge error changes from glibc.
91196
91197         * lib/error.c, error.h: Update copyright notice header to match glibc.
91198         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91199         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91200         Disable cancellation while printing error.
91201         * lib/error.h: Prepend __ to parameter names.
91202
91203 2003-09-26  Jim Meyering  <jim@meyering.net>
91204
91205         * lib/error.c (error_tail): Move some declarations
91206         into inner scope where the local variables are used.
91207
91208 2003-09-26  Bruno Haible  <bruno@clisp.org>
91209
91210         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91211         stpncpy().
91212         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91213
91214 2003-09-26  Bruno Haible  <bruno@clisp.org>
91215
91216         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91217         (stpncpy): Define as alias for gnu_stpncpy.
91218         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91219
91220 2003-09-25  Simon Josefsson  <jas@extundo.com>
91221
91222         * lib/xgetdomainname.h: New file.
91223         * lib/xgetdomainname.c: New file.
91224
91225 2003-09-25  Simon Josefsson  <jas@extundo.com>
91226             Bruno Haible  <bruno@clisp.org>
91227
91228         * modules/getdomainname: New file.
91229         * modules/xgetdomainname: New file.
91230         * MODULES.html.sh (func_all_modules): Add getdomainname,
91231         xgetdomainname.
91232
91233 2003-09-25  Simon Josefsson  <jas@extundo.com>
91234             Bruno Haible  <bruno@clisp.org>
91235
91236         * m4/getdomainname.m4: New file.
91237
91238 2003-09-25  Simon Josefsson  <jas@extundo.com>
91239             Bruno Haible  <bruno@clisp.org>
91240
91241         * lib/getdomainname.h: New file.
91242         * lib/getdomainname.c: New file.
91243
91244 2003-09-25  Karl Berry  <karl@gnu.org>
91245
91246         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91247
91248 2003-09-25  Karl Berry  <karl@gnu.org>
91249
91250         * config/install-sh: update from automake.
91251
91252 2003-09-25  Bruno Haible  <bruno@clisp.org>
91253
91254         * modules/version-etc-2: New file, from modules/version-etc with
91255         modifications.
91256         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91257
91258 2003-09-25  Bruno Haible  <bruno@clisp.org>
91259
91260         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91261         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91262
91263 2003-09-24  Simon Josefsson  <jas@extundo.com>
91264
91265         * modules/xgethostname: Add xgethostname.h.
91266
91267 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91268
91269         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91270         the buffer associated with the argument.  Bug reported by
91271         Simon Josefsson.
91272
91273 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91274
91275         * README: Document assumptions that 'int' is at least 32 bits
91276         wide, that integer arithmetic is 2's complement without overflow,
91277         that there are no holes in integer values, that adding sizes of
91278         two nonoverlapping objects can't overflow, and that all-bits-zero
91279         yields scalar zero.  Fix spelling and capitalization typos.
91280
91281 2003-09-19  Karl Berry  <karl@gnu.org>
91282
91283         * lib/argp.h: update from libc.
91284
91285 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91286
91287         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91288         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91289         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91290
91291 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91292
91293         * gnulib-tool: Use "test -h", not "test -L", for portability
91294         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91295         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91296         (sed_extract_prog): Issue s commands one-by-one, rather than
91297         using \| in one s command.
91298
91299 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91300
91301         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91302         input error, instead of returning NULL the next time we are called
91303         (and therefore losing track of errno).
91304
91305 2003-09-16  Bruno Haible  <bruno@clisp.org>
91306
91307         * gnulib-tool (func_create_testdir): Warn about duplicated
91308         dependencies.
91309
91310 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91311
91312         * modules/argmatch, modules/fatal, modules/obstack,
91313         modules/xalloc, modules/xgethostname: Sort dependencies by
91314         importance, not alphabetically.
91315
91316 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91317
91318         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91319         fails, so that the caller gets the proper errno.
91320
91321         * lib/readutmp.c (read_utmp): Likewise.
91322         Check for fstat error.  Close stream and free storage
91323         when failing.
91324
91325 2003-09-14  Karl Berry  <karl@gnu.org>
91326
91327         * config/srclist.txt (strdup.c): disable for c89 changes.
91328
91329 2003-09-14  Jim Meyering  <jim@meyering.net>
91330
91331         * lib/getloadavg.c: Correct cpp indentation.
91332         * lib/strdup.c: Likewise.
91333         * lib/vasnprintf.c: Likewise.
91334
91335 2003-09-14  Bruno Haible  <bruno@clisp.org>
91336
91337         * modules/fwriteerror: New file.
91338         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91339
91340 2003-09-14  Bruno Haible  <bruno@clisp.org>
91341
91342         * lib/fwriteerror.h: New file.
91343         * lib/fwriteerror.c: New file.
91344
91345 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91346
91347         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91348         modules/xgethostname, modules/xalloc: Depend on exit.
91349
91350 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91351
91352         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91353
91354         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91355         and AC_MINIX, too, so that their extensions are available.
91356
91357         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91358         This macro has been superseded by gl_BACKUPFILE.
91359
91360         More patches to assume C89 or better.
91361
91362         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91363
91364         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91365         unconditionally.
91366         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91367         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91368         Include <string.h>, <stdlib.h> unconditionally.
91369         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91370         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91371         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91372         headers or for string.h.
91373         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91374         or strtoul.
91375
91376         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91377         headers.
91378         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91379         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91380         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91381         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91382         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91384         memcpy, memset.
91385         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91386         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91387         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91388         strtol.
91389         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91390         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91391         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91392         strtoul.
91393
91394 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91395
91396         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91397         * lib/obstack.c [!defined _LIBC]: Likewise.
91398         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91399         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91400         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91401
91402         More changes to assume C89 or better.
91403
91404         * lib/error.c (error_tail): Assume vprintf.
91405
91406         * lib/argmatch.c (getenv): Remove decl.
91407         * lib/progreloc.c (get_full_program_name): Define via prototype.
91408         * lib/setenv.c (clearenv): Likewise.
91409         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91410         needed.
91411         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91412         (malloc, memcpy): Remove decls.
91413         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91414         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91415         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91416         (memcpy): Remove macro.
91417         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91418         (__P): Remove.  All uses removed.
91419         (PTR): Remove.  All uses changed to void *.
91420         (CHAR_BIT, NULL): Remove.
91421         (spaces, zeros, memset_space, memset_zero)
91422         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91423         Remove.
91424         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91425         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91426         Define with prototype.
91427         Remove now-unnecessary prototype decl.
91428         (extra_args_spec): Assume ANSI C.  All uses changed.
91429         (extra_args_spec_iso): Remove.
91430         (my_strftime, emacs_strftimeu): Define via prototype.
91431         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91432         unconditionally.
91433         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91434         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91435         (strtoul, strtol): Remove decls.
91436         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91437         LONG_MAX): Remove.
91438         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91439         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91440         (LOCALE_PARAM_PROTO): New macro.
91441         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91442         (INTERNAL (strtol), strtol): Define with a prototype.
91443         (PARAMS): Remove.  All uses removed.
91444         * lib/tempname.c: Include <string.h> unconditionally.
91445         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91446         * lib/xgethostname.c (main): Define with a prototype.
91447         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91448         Include <stdlib.h> unconditionally.
91449         (calloc, malloc, realloc, free): Remove decls.
91450         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91451         Include <stdlib.h> unconditionally.  Sort include file names.
91452         (strtod): Remove.
91453         (xstrtod): Define with a prototype.
91454         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91455         (strtol, strtoul): Remove decls.
91456
91457 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91458
91459         More patches to assume C89 or better.
91460         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91461         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91462         string.h, memchr, STDC_HEADERS.
91463
91464 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91465
91466         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91467         Include <stdlib.h>, <string.h> unconditionally.
91468         Remove now-unnecessary cast to char *.
91469         * lib/strnlen.c: Include <string.h> unconditionally.
91470         * lib/yesno.c (yesno): Define with a prototype.
91471
91472 2003-09-11  Bruno Haible  <bruno@clisp.org>
91473
91474         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91475
91476 2003-09-10  Jim Meyering  <jim@meyering.net>
91477
91478         * lib/error.c: Correct indentation of cpp directives.
91479
91480 2003-09-10  Bruno Haible  <bruno@clisp.org>
91481
91482         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91483         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91484         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91485         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91486         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91487         <stdlib.h> and <string.h> checks.
91488         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91489         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91490
91491 2003-09-10  Bruno Haible  <bruno@clisp.org>
91492
91493         * lib/strcspn.c: Include <string.h> unconditionally.
91494         * lib/strpbrk.c: Include <string.h> unconditionally.
91495         * lib/strstr.c: Include <string.h> unconditionally.
91496         * lib/unicodeio.c: Include <string.h> unconditionally.
91497         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91498         * lib/unsetenv.c: Likewise.
91499         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91500         * lib/yesno.c: Include <stdlib.h> unconditionally.
91501         (rpmatch): Add prototype.
91502
91503 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91504
91505         More patches to assume C89 or better.
91506         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91507         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91508         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91509         or for string.h.
91510         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91511         stdlib.h.
91512         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91513         C headers.
91514         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91515         string.h.
91516         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91517         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91518         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91519         or for string.h.
91520         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91521         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91522         C headers.
91523         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91524         memcpy.
91525         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91526         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91527         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91528         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91529         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91530         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91531         string.h, free.
91532         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91533         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91534         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91535         C headers, or for string.h.
91536         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91537         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91538         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91539         headers, memory.h, stdlib.h, string.h, strings.h.
91540         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91541         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91542         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91543         strchr.
91544         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91545         headers, memory.h, string.h.
91546         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91547         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91548         free.
91549         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91550         headers.
91551         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91552         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91553         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91554         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91555         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91556
91557 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91558
91559         More K&R removal.
91560
91561         * lib/acosl.c (main): Use a prototype.
91562         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91563         tanl.c: Likewise.
91564
91565         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91566
91567         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91568         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91569         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91570         with a prototype.
91571         * lib/getopt.c (const): Remove macro.
91572         Include <string.h> unconditionally.
91573         (my_index): Remove; all uses changed to strchr.
91574         (strlen): Remove decl.
91575         (exchange): Remove forward decl; no longer needed.
91576         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91577         Define with prototype.
91578         * lib/getopt1.c (const): Remove macro.
91579         (getopt_long, getopt_long_only, main): Define with prototype.
91580
91581         * lib/getugroups.c: Include <string.h> unconditionally.
91582
91583         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91584         (getusershell, setusershell, endusershell, readname, main):
91585         Define with prototypes.
91586
91587         * lib/group-member.c: Include group-member.h first.
91588         Include <stdlib.h> unconditionally.
91589
91590         * lib/hard-locale.c: Include hard-locale.h first.
91591         Include <stdlib.h>, <string.h> unconditionally.
91592
91593         * lib/hash.c (free, malloc): Remove decls.
91594         Include <stdlib.h> unconditionally.
91595
91596         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91597         (getenv): Do not declare.
91598
91599         * lib/idcache.c: Include <string.h> unconditionally.
91600
91601         * lib/long-options.c: Include long-options.h first, to test interface.
91602         Include <stdlib.h> unconditionally.
91603
91604         * lib/makepath.c: Include makepath.h first, to test interface.
91605         Include <stdlib.h> and <string.h> unconditionally.
91606
91607         * lib/linebuffer.c: Include <stdlib.h>.
91608         (free): Remove decl.
91609
91610         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91611         stddef.h. rpl_malloc returns void *, not char *.
91612         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91613         prototype.
91614
91615         * lib/md5.h: Include <limits.h> unconditionally.
91616         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91617         (__P): Remove; all uses removed.
91618         * lib/md5.c: Include "md5.h" first.
91619         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91620         md5_buffer, md5_process_bytes, md5_process_block):
91621         Define with prototypes.
91622         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91623         * lib/sha.c: Include "sha.h" first.
91624         Include <stdlib.h>, <string.h> unconditionally.
91625
91626         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91627         * lib/memcmp.c (__ptr_t): Likewise.
91628         * lib/memrchr.c (__ptr_t): Likewise.
91629         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91630         Include <string.h> unconditionally.
91631         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91632         * lib/memchr.c: Include <stdlib.h> unconditionally.
91633         * lib/memchr.c (LONG_MAX): Remove.
91634         * lib/memrchr.c (LONG_MAX): Likewise.
91635         * lib/memchr.c (__memchr): Define via a prototype.
91636         * lib/memrchr.c (__memrchr): Likewise.
91637         * lib/memcmp.c (__P): Remove, and remove all uses.
91638         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91639         Remove forward decls; no longer needed.
91640         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91641         Use types required by C89 in prototype.
91642
91643         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91644         * lib/savedir.c: Likewise.
91645         * lib/mkdir.c (free): Remove decl.
91646         * lib/rmdir.c (rmdir): Define with a prototype.
91647         * lib/savedir.c: Include savedir.h first, to test interface.
91648
91649         * lib/mktime.c (STDC_HEADERS): Remove.
91650         Include <stdlib.h>, <string.h> unconditionally.
91651
91652         * lib/modechange.c: Include <stdlib.h> unconditionally.
91653         (malloc): Remove decl.
91654
91655         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91656         (free): Remove decl.
91657
91658         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91659         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91660         (This type really should be intptr_t, but that's a C99ism.)
91661         (_obstack_memcpy): Remove: all uses changed to memcpy.
91662         Include <string.h> unconditionally.
91663         (struct obstack): Assume __STDC__ for types of members
91664         chunkfun, freefun, extra_arg.
91665         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91666         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91667         obstack_begin, obstack_specify_allocation,
91668         obstack_specify_allocation_with_arg, obstack_chunkfun,
91669         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91670         Remove unprototyped decls and the macros that use them.
91671         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91672         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91673         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91674         (defined __STDC__ && __STDC__)]:
91675         Remove nonprototyped code.
91676         Include <stdlib.h> unconditionally.
91677         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91678         _obstack_allocated_p, _obstack_free, obstack_free,
91679         _obstack_memory_used, print_and_abort):
91680         Define using prototypes.
91681         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91682         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91683         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91684         obstack_next_free, obstack_object_size, obstack_room) [0]:
91685         Remove unused, unprototyped code.
91686
91687         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91688
91689         * lib/physmem.c (physmem_total, physmem_available, main): Define
91690         with prototypes.
91691
91692         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91693         (main): Define with a prototype.
91694
91695         * lib/posixver.c (getenv): Remove decl.
91696
91697         * lib/putenv.c (malloc): Returns void *, not char *.
91698         Include <string.h> unconditionally.
91699         (strchr, memcpy, NULL): Do not define.
91700
91701         * lib/readtokens.c: Include readtokens.h first, to test interface.
91702         Include <stdlib.h>, <string.h> unconditionally.
91703         (init_tokenbuffer): Define with a prototype.
91704
91705         * lib/regex.c (PARAMS): Remove.  All uses removed.
91706         All uses of _RE_ARGS removed, too.
91707         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91708         unconditionally.
91709         (bzero): Assume memset exists.
91710         (memcmp, memcpy, NULL): Remove.
91711         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
91712         char, or assignments to local vars of type signed char.
91713         (init_syntax_once, PREFIX(extract_number_and_incr),
91714         PREFIX(print_partial_compiled_pattern),
91715         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
91716         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
91717         PREFIX(regex_grow_registers), PREFIX(regex_compile),
91718         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
91719         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
91720         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
91721         wcs_compile_range, byte_compile_range, truncate_wchar,
91722         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
91723         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
91724         count_mbs_length, wcs_re_match_2_internal,
91725         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
91726         PREFIX(alt_match_null_string_p),
91727         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
91728         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
91729         regfree, PREFIX(extract_number)): Define with prototype.  Remove
91730         now-unnecessary declaration, if any.
91731         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
91732         regcomp, regexec):
91733         Remove now-unnecessary casts among pointer types.
91734         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
91735
91736         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
91737         (free): Remove decl.
91738
91739         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
91740
91741         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
91742         (free): Remove decl.
91743
91744         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
91745         * lib/xgetcwd.c: Likewise.
91746
91747         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
91748         (free): Remove decl.
91749
91750         * lib/strchrnul.c (strchrnul): Define with a prototype.
91751         Fix bug: c_in was not converted to char before searching.
91752
91753         The following changes are not K&R related:
91754
91755         * lib/group-member.h: Include <sys/types.h>, so that this file is
91756         self-contained.
91757         * lib/makepath.h: Likewise.
91758
91759         * lib/getusershell.c (readname, default_index, line_size, readname):
91760         Use size_t, not int, for sizes.
91761         (readname): If the size overflows, report an error instead of
91762         looping forever.
91763
91764 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91765
91766         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
91767         libc.
91768
91769 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91770
91771         * README: New section: portability guidelines.
91772
91773 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91774
91775         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
91776         C89 spec.
91777
91778 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91779
91780         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
91781
91782 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91783
91784         Assume C89 or better; remove K&R cruft.
91785         A few of these changes were first proposed by Derek Robert Price
91786         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
91787
91788         * lib/addext.c: Include <string.h> unconditionally.
91789         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
91790         Don't declare getenv or malloc.
91791
91792         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
91793         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
91794         (NULL): Remove.
91795         (find_stack_direction, alloca): Use prototypes.
91796
91797         * lib/atexit.c (atexit): Define using a prototype.
91798
91799         * lib/basename.c, dirname.c, stripslash.c:
91800         Include <string.h> unconditionally.
91801
91802         * lib/bcopy.c: Include <stddef.h>.
91803         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
91804
91805         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
91806
91807         * lib/error.h (error, error_at_line, error_print_progname)
91808         [! (defined (__STDC__) && __STDC__)]: Remove decls.
91809         * lib/error.c: Include error.h first, to check interface.
91810         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91811         (VA_START): Remove; all uses changeed to va_start.
91812         (exit, strerror): Remove decls.
91813         (error_print_progname): Prototype uncondionally.
91814         Don't include <errno.h>; no longer needed.
91815         (private_strerror): Remove.
91816         (error_tail): Always define.
91817         (error, error_at_line): Assume C89 or better; always use prototypes.
91818         * lib/fatal.c: Include "fatal.h" first, to test interface.
91819         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91820         (VA_START): Remove; all uses changed to va_start.
91821         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
91822         this case.
91823         (exit): Remove decl.
91824         (fatal): Prototype unconditionally.  Assume va_start works.
91825         Abort at end, to pacify gcc.
91826
91827         * lib/euidaccess.c (main): Define with a prototype.
91828
91829         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
91830
91831         * lib/exitfail.c: Include <stdlib.h> unconditionally.
91832
91833         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
91834         prototypes.
91835         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
91836         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
91837         (getenv): Remove decl.
91838         (fnmatch): Define using a prototype.
91839         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
91840         (FCT): Define using a prototype.
91841
91842         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
91843
91844         * lib/gethostname.c: Include <stddef.h>.
91845         (gethostname): Define with prototype.  Length is size_t, not int.
91846
91847 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91848
91849         Assume C89 or better; remove K&R cruft.
91850         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
91851         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
91852         string.h, getenv, malloc.
91853         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
91854         headers.
91855         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
91856         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
91857         do not check for strerror.
91858         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
91859         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
91860         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
91861         do not check for doprnt or vprintf.
91862         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
91863         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
91864
91865 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91866
91867         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
91868         getversion.c should have been removed then, but was accidentally
91869         preserved.
91870
91871         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
91872         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
91873
91874 2003-09-08  Karl Berry  <karl@gnu.org>
91875
91876         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91877                 config, forget about prep.
91878
91879         * config/depcomp, missing: update from automake.
91880
91881 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91882
91883         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
91884         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91885
91886 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91887
91888         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
91889         copy_tm_result.  Bug reported by Simon Josefsson in
91890         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91891
91892 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91893
91894         * m4/time_r.m4: New file.
91895         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
91896         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
91897         is. Check for timegm declaration.
91898         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
91899         Do not check for gmtime_r.
91900         Replace mktime if __mktime_internal does not exist and if mktime
91901         hasn't been replaced already.
91902
91903 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91904
91905         * lib/time_r.c, lib/time_r.h: New files.
91906
91907         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
91908         __localtime_r.
91909         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
91910         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
91911
91912         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
91913         __gmtime_r.
91914         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
91915         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
91916         Include <time_r.h>.
91917
91918         * lib/timegm.c: Switch to glibc implementation, with the following
91919         changes:
91920         [defined HAVE_CONFIG_H]: Include <config.h>.
91921         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
91922         (__mktime_internal) [!defined _LIBC]: New decl.
91923         (__gmtime_r) [!defined _LIBC]: New macro and function.
91924         (timegm): Use a prototype, since gnulib assumes C89.
91925         Do not bother declaring tmp to be const, as it's not really usefu.
91926         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
91927         (timegm): Declare only if HAVE_DECL_TIMEGM.
91928
91929 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91930
91931         * MODULES.html.sh (func_all_modules): Add time_r.
91932         * modules/time_r: New file.
91933         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
91934         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
91935
91936 2003-09-03  Paul Eggert  <eggert@twinsun.com>
91937
91938         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
91939         Bug reported by Lute Kamstra in
91940         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
91941
91942         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
91943         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
91944         course with correspondingly smaller numbers for tomorrow and
91945         yesterday.  From Tadayoshi Funaba.  Originally installed into
91946         sh-utils on 1999-08-07, but the patch got lost (I guess during the
91947         coreutils merge?).
91948
91949 2003-08-31  Simon Josefsson  <jas@extundo.com>
91950
91951         * modules/timegm: New file.
91952         * MODULES.html.sh (func_all_modules): Add timegm.
91953
91954 2003-08-31  Simon Josefsson  <jas@extundo.com>
91955
91956         * m4/timegm.m4: New file.
91957
91958 2003-08-31  Simon Josefsson  <jas@extundo.com>
91959
91960         * lib/timegm.h: New file.
91961         * lib/timegm.c: New file.  Based on
91962         wget-1.8.2/src/http.c:mktime_from_utc.
91963
91964 2003-08-31  Karl Berry  <karl@gnu.org>
91965
91966         * lib/argp.h: update from libc.
91967
91968 2003-08-28  Bruno Haible  <bruno@clisp.org>
91969
91970         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
91971         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
91972         followed by '#define fnmatch fnmatch_posix' gives an error.
91973
91974 2003-08-28  Bruno Haible  <bruno@clisp.org>
91975
91976         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
91977         warning on QNX, which defines O_BINARY to 000000.
91978
91979 2003-08-27  Jim Meyering  <jim@meyering.net>
91980
91981         * m4/mkstemp.m4: Require that the system mkstemp be able to create
91982         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
91983         would fail after 32.  Reported by Danny Levinson.  Details here:
91984         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
91985
91986 2003-08-24  Bruno Haible  <bruno@clisp.org>
91987
91988         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
91989         MSVC7 <stdio.h> is included later.
91990
91991 2003-08-22  Simon Josefsson  <jas@extundo.com>
91992
91993         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
91994
91995 2003-08-20  Karl Berry  <karl@gnu.org>
91996
91997         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
91998
91999 2003-08-20  Bruno Haible  <bruno@clisp.org>
92000
92001         * modules/progname: New file.
92002         * MODULES.html.sh (func_all_modules): Add progname.
92003
92004 2003-08-20  Bruno Haible  <bruno@clisp.org>
92005
92006         * lib/progname.h: New file, from GNU gettext.
92007         * lib/progname.c: New file, from GNU gettext.
92008         * lib/progreloc.c: New file, from GNU gettext.
92009
92010 2003-08-19  Jim Meyering  <jim@meyering.net>
92011
92012         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92013         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92014
92015 2003-08-19  Bruno Haible  <bruno@clisp.org>
92016
92017         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92018         more.
92019
92020 2003-08-19  Bruno Haible  <bruno@clisp.org>
92021
92022         * lib/xstrdup.c: Assume <string.h> exists.
92023
92024 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92025
92026         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92027         in makefile rules.
92028
92029 2003-08-18  Jim Meyering  <jim@meyering.net>
92030
92031         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92032         * m4/lib-ld.m4: Likewise.
92033
92034 2003-08-18  Jim Meyering  <jim@meyering.net>
92035
92036         * lib/setenv.h: Indent nested cpp directive.
92037         * lib/vasnprintf.c: Remove trailing blanks.
92038
92039 2003-08-17  Simon Josefsson  <jas@extundo.com>
92040
92041         * modules/xstrndup: New file.
92042         * MODULES.html.sh (func_all_modules): Add xstrndup.
92043
92044 2003-08-17  Simon Josefsson  <jas@extundo.com>
92045
92046         * modules/argp: Fix autoconf macro name. Add more dependencies.
92047
92048 2003-08-17  Simon Josefsson  <jas@extundo.com>
92049
92050         * m4/xstrndup.m4: New file.
92051
92052 2003-08-17  Simon Josefsson  <jas@extundo.com>
92053
92054         * m4/argp.m4: New file.
92055
92056 2003-08-17  Simon Josefsson  <jas@extundo.com>
92057             Bruno Haible  <bruno@clisp.org>
92058
92059         * lib/xstrndup.h: New file.
92060         * lib/xstrndup.c: New file.
92061
92062 2003-08-17  Bruno Haible  <bruno@clisp.org>
92063
92064         * modules/strndup (Files, Include): Add lib/strndup.h.
92065
92066 2003-08-17  Bruno Haible  <bruno@clisp.org>
92067
92068         * modules/euidaccess (Files): Add lib/euidaccess.h.
92069
92070 2003-08-17  Bruno Haible  <bruno@clisp.org>
92071
92072         * lib/strndup.h: New file.
92073
92074 2003-08-17  Bruno Haible  <bruno@clisp.org>
92075
92076         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92077         like AC_GNU_SOURCE.
92078         * modules/extensions (configure.ac): Comment out the invocation of
92079         gl_USE_SYSTEM_EXTENSIONS.
92080
92081 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92082
92083         Merges from coreutils, etc.
92084         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92085         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92086         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92087         fixing a typo.
92088         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92089         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92090
92091 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92092
92093         Document merge from coreutils.
92094         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92095         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92096         * modules/utime: Add m4/utimes-null.m4.
92097
92098 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92099
92100         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92101         space, undoing this 2003-08-12 change:
92102         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92103
92104 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92105
92106         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92107         strtoul.c from libc, undoing this 2003-08-12 change:
92108         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92109
92110 2003-08-16  Jim Meyering  <jim@meyering.net>
92111
92112         Merges from coreutils.
92113         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92114         prefix.  Adjust cache variables similarly.  Create 500 rather than
92115         just 300 files, to exercise bug on Darwin6.5, too.
92116         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92117         $missing_dir.
92118         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92119         AM_SYS_POSIX_TERMIOS.
92120         Reported by mkc@mathdogs.com.
92121         Also change use of $am_cv_sys_posix_termios
92122         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92123         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92124         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92125         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92126         in /proc/mounts until it finds one with matching device number.  This
92127         is unnecessary when the FILE argument *is* a mount point.  No stat call
92128         is necessary in that case.  So, disable the statvfs-testing code on
92129         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92130         as RedHat bug# 84846.
92131         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92132         to 1MB, so as not to render systems with no stack size limit (e.g.,
92133         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92134         Include <unistd.h>.  On some systems,
92135         it is required for the definition of _SC_PAGESIZE.
92136
92137 2003-08-16  Jim Meyering  <jim@meyering.net>
92138
92139         Merge from coreutils.
92140         * lib/xstrtoimax.c: #else #if -> #elif.
92141         * lib/xstrtoumax.c: Likewise.
92142
92143 2003-08-16  Jim Meyering  <jim@meyering.net>
92144
92145         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92146         * m4/utimes.m4: Removed.
92147         * m4/utimes-null.m4: Renamed from utimes.m4.
92148
92149         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92150         to 1MB, so as not to render systems with no stack size limit (e.g.,
92151         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92152         Include <unistd.h>.  On some systems,
92153         it is required for the definition of _SC_PAGESIZE.
92154
92155 2003-08-16  Jim Meyering  <jim@meyering.net>
92156         and Paul Eggert  <eggert@cs.ucla.edu>
92157
92158         Merges from coreutils, etc.
92159
92160         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92161         using the latest version from cvs.  This avoids problems with #line
92162         directives using a vendor (Sun) compiler.
92163         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92164         Don't set GETGROUPS_LIB here; now it's
92165         done via getgroups.m4's wrapper function.
92166         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92167         rather than just in sh-util/configure.in, so that the
92168         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92169         same.
92170         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92171         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92172         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92173         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92174         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92175         Remove code that is now done by the newly-required macros.
92176         Append $(EXEEXT) to DF_PROG.
92177         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92178         Do not invoke or require the following here,
92179         since prereq.m4 or some gnulib .m4 now does this for us:
92180         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92181         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92182         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92183         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92184         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92185         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92186         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92187         AC_FUNC_OBSTACK.
92188         Do not replace the following functions, as this is now the job
92189         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92190         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92191         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92192         atexit getpass, strdup, getpagesize.
92193         Replace 'raise'.
92194         Do not check for the following functions, as this is now the job
92195         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92196         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92197         setregid.
92198         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92199         Check for sys/sysctl.h.
92200         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92201         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92202         of checking for ssize_t ourselves.
92203
92204         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92205         Require every macro that gnulib/modules/* suggests for us.
92206         (jm_PREREQ_ADDEXT): New macro.
92207         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92208         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92209
92210         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92211         (gl_PHYSMEM): Use it.
92212         Also check for `table' function.
92213         Check for new headers and functions.
92214         Add check for sys/sysmp.h.
92215         With suggestions from Kaveh Ghazi.
92216         Ignore headers that are present but cannot be compiled.  This
92217         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92218         C 5.4.
92219
92220 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92221
92222         Document merge from coreutils.
92223         * modules/userspec: Depend on posixver.
92224         * modules/strftime: Depend on tzset.
92225
92226 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92227
92228         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92229         rather than tab, after '#' in shell-script copyright notices.
92230         Suggested by Bruno Haible.
92231
92232 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92233
92234         * config/srclist-update: Use three spaces, rather than tab, after '#'
92235         in shell-script copyright notices.  Suggested by Bruno Haible.
92236         Remove unnecessary parenthesization in regular expression.
92237
92238 2003-08-15  Jim Meyering  <jim@meyering.net>
92239
92240         Merge from coreutils.
92241         * lib/xgethostname.c: Include <stdlib.h>.
92242         (xghostname): Don't exit for anything other than memory-related
92243         failure; just return NULL.
92244         * lib/userspec.c: Include "posixver.h".
92245         (parse_user_spec): Accept `.' as a separator only
92246         in pre-POSIX-200112 mode.
92247         * lib/strtoimax.c: Use #elif rather than #else #if.
92248         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92249         Remove function, now that we can rely on a working tzset function.
92250         [!_LIBC]: Ensure that the required autoconf test has been run.
92251         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92252         Use underlying_strftime for %r.
92253         * lib/sha.c: Merge in some clean-up and optimization changes from
92254         glibc.
92255         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92256         Ensure that it is a multiple of 64.
92257         Rearrange loop exit tests so as to avoid performing an
92258         additional fread after encountering an error or EOF.
92259         * lib/realloc.c: Update copyright date.
92260
92261 2003-08-15  Jim Meyering  <jim@meyering.net>
92262         and Paul Eggert  <eggert@twinsun.com>
92263
92264         Merge from coreutils.
92265         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92266         member but strut utmpx does not.  Needed for AIX 4.3.3.
92267         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92268
92269 2003-08-15  Jim Meyering  <jim@meyering.net>
92270         and Paul Eggert  <eggert@cs.ucla.edu>
92271
92272         Merges from coreutils, etc.
92273         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92274         Require gl_FUNC_TZSET_CLOBBER.
92275         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92276         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92277         members.
92278
92279 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92280
92281         Help the merge from coreutils.
92282         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92283         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92284         * m4/tzset.m4: Use it too.
92285
92286 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92287
92288         * modules/tzset: New file.
92289
92290 2003-08-14  Jim Meyering  <jim@meyering.net>
92291
92292         Merges from coreutils.
92293         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92294         variable names, rather than @FNMATCH_H@.
92295         * modules/alloca: Likewise for $(ALLOCA_H).
92296
92297         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92298         the three copies of the literal target, `fnmatch.h'.
92299         * modules/alloca (alloca.h): Likewise.
92300
92301 2003-08-14  Jim Meyering  <jim@meyering.net>
92302
92303         Merge from coreutils.
92304         * m4/tzset.m4: New file.
92305         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92306         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92307         otherwise, AIX 5.1 systems would end up using the latter.
92308         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92309         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92310         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92311         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92312
92313 2003-08-14  Jim Meyering  <jim@meyering.net>
92314
92315         Merge from coreutils.
92316         * lib/obstack.h: Whitespace changes.
92317         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92318         and xcalloc return values.
92319         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92320         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92321         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92322         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92323         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92324         error from mntctl.
92325         Use mntctl's return value to drive the entry-processing loop, since
92326         we can't rely on the value of the vmt_length member in the last
92327         entry.  On some systems doing so could result in exhausting
92328         virtual memory.  Based in part on a patch from Mike Jetzer.
92329
92330 2003-08-14  Jim Meyering  <jim@meyering.net>
92331         and Paul Eggert  <eggert@twinsun.com>
92332
92333         Merges from coreutils, plus other fixes.
92334         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92335         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92336         for credits and details.  Thanks to Kaveh Ghazi for helping
92337         to keep these files in sync.
92338         (ARRAY_SIZE): Define it.
92339         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92340         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92341         (memcasecmp): Don't assume size_t fits in unsigned int.
92342         Remove casts and duplicate code.
92343         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92344         (memcpy): Remove definition.
92345         Merge in some clean-up and optimization changes from glibc.
92346         [BLOCKSIZE]: Move definition to top of file.
92347         Ensure that it is a multiple of 64.
92348         Rearrange loop exit tests so as to avoid performing an
92349         additional fread after encountering an error or EOF.
92350         * lib/md5.h (md5_uintptr): Define.
92351         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92352         return to the initial working directory.  Preserve errno
92353         for caller.
92354         * lib/idcache.c: Include "xalloc.h".
92355         (xmalloc, xrealloc): Remove decls.
92356         (getuser): Remove casts no longer required in C89.
92357         * lib/human.c: Include stdio.h, for sprintf.
92358         * lib/group-member.c: Include "xalloc.h".
92359         (xmalloc, xrealloc): Remove decls.
92360         (get_group_info): Remove casts no longer required in C89.
92361         * lib/getusershell.c (readname): Remove casts no longer required in
92362         C89.
92363         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92364         * lib/getline.c: Whitespace fix, from coreutils.
92365
92366 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92367
92368         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92369         Check for isascii.
92370
92371         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92372         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92373         Undo previous (whitespace-only) change.
92374
92375 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92376
92377         * lib/exclude.c: Include <ctype.h>
92378         (IN_CTYPE_DOMAIN): New macro.
92379         (is_space): New fn.
92380         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92381         and empty lines.
92382
92383         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92384         Undo previous (whitespace-only) change.
92385
92386 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92387
92388         * config/srclist-update: Change update back to the old behavior,
92389         leaving whitespace alone.  Use one 'sed' command rather than a
92390         pipeline.
92391         (fixlicense): Now a variable, not a function.
92392         (remove_trailing_blanks): Remove.
92393         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92394         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92395         Undo previous (whitespace-only) change.
92396
92397 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92398
92399         Merge from coreutils.
92400         * modules/euidaccess: Add lib_SOURCES, include for new
92401         file euidaccess.h
92402
92403 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92404
92405         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92406         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92407         Normalize leading white space and remove trailing white space.
92408
92409         Merge from coreutils
92410         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92411
92412         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92413         0.12.1.  These files are now being upgraded automatically by
92414         ../config/srclist-update.
92415
92416 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92417
92418         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92419         Normalize leading white space and remove trailing white space.
92420         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92421         notice, as per ../config/srclist-update.
92422
92423         Merge from coreutils.
92424         * lib/euidaccess.h: New file.
92425         * lib/euidaccess.c: Include it.
92426         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92427         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92428         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92429
92430 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92431
92432         * config/srclist-update: Add copyright notice.
92433         (remove_id_lines, remove_trailing_blanks): New constants.
92434         (fixfile): Use them to normalize spacing a bit in copied files.
92435         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92436         Normalize leading white space and remove trailing white space.
92437
92438         * config/texinfo.tex: Sync with texinfo.
92439
92440         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92441         strtoul.c from libc, to merge coreutils whitespace changes.
92442
92443         * config/srclist.txt: Get the following m4 files from gettext:
92444         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92445         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92446         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92447         wint_t.m4.
92448
92449 2003-08-12  Karl Berry  <karl@gnu.org>
92450
92451         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92452         been made.
92453
92454 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92455
92456         * modules/gnu-source, m4/gnu-source.m4:
92457         Remove; we're assuming Autoconf 2.54 or later now.
92458         Suggested by Bruno Haible.
92459         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92460
92461 2003-08-11  Bruno Haible  <bruno@clisp.org>
92462
92463         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92464
92465 2003-08-11  Bruno Haible  <bruno@clisp.org>
92466
92467         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92468         (vasnprintf): Use it instead of wcslen.
92469
92470 2003-08-11  Bruno Haible  <bruno@clisp.org>
92471
92472         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92473         value to ensure that _Bool promotes to int. Use #define for _Bool when
92474         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92475
92476 2003-08-10  Karl Berry  <karl@gnu.org>
92477
92478         * lib/regex.h: update from libc (whitespace fix).
92479
92480 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92481
92482         Merge some files from coreutils.  These changes were
92483         originally made by Jim Meyering.
92484         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92485         many older Unixes require this.
92486         * lib/alloca.c (alloca): Remove cast to argument of free;
92487         no longer needed in C89.
92488         * lib/alloca_.h, regex.h: Fix white space to match
92489         what GNU indent does.
92490
92491 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92492
92493         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92494         apparently Emacs's Unicode mode got confused before my 2003-08-05
92495         checkin.
92496
92497 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92498
92499         * m4/extensions.m4: New file.
92500         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92501         Require gl_USE_SYSTEM_EXTENSIONS.
92502         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92503         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92504
92505 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92506
92507         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92508         * modules/extensions, modules/gnu-source: New files.
92509         * modules/timespec, modules/unlocked-io: Depend on extensions.
92510
92511 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92512
92513         * modules/restrict: New file.
92514         * MODULES.html.sh (func_all_modules): Add restrict.
92515         * modules/regex: Depend on restrict.
92516
92517 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92518
92519         * m4/restrict.m4: New file.
92520         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92521
92522 2003-08-07  Bruno Haible  <bruno@clisp.org>
92523
92524         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92525         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92526
92527 2003-08-07  Bruno Haible  <bruno@clisp.org>
92528
92529         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92530         makes the module 'getndelim2' compatible with the module 'getline'.
92531
92532 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92533
92534         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92535         byte with "\201" to avoid glitches when editing that source file
92536         with multi-gnome-terminal.
92537
92538 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92539
92540         * lib/bumpalloc.h: Remove.
92541
92542 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92543
92544         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92545         * modules/bumpalloc: Remove.
92546
92547 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92548
92549         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92550         GNU coding style.
92551
92552         Merge from coreutils.
92553         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92554         1. From glibc.
92555         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92556         from Karl Berry, implemented by Jim Meyering.
92557         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92558         from Dmitry V. Levin.
92559         Remove anachronistic cast of xrealloc.
92560         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92561         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92562         type. Otherwise, it wouldn't compile with at least /bin/cc on
92563         ymp-cray-unicos9.0.2.X.
92564         Combine two mostly-identical uses of alloca into one.
92565         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92566
92567 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92568
92569         [From Emacs.]
92570
92571         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92572         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92573         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92574         obsolete NLIST_NAME_UNION.
92575         [__GNU__]: Undef BSD and FSCALE.
92576         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92577
92578 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92579
92580         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92581         an enum type, so that it's guaranteed to promote to int.  See:
92582         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92583
92584 2003-08-03  Karl Berry  <karl@gnu.org>
92585
92586         * config/depcomp: update from automake.
92587
92588 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92589
92590         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92591         (strerror): Don't assume that a printable int fits in 14 bytes.
92592
92593 2003-07-31  Bruno Haible  <bruno@clisp.org>
92594
92595         * modules/getpass-gnu: New file.
92596         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92597
92598 2003-07-31  Bruno Haible  <bruno@clisp.org>
92599
92600         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92601
92602 2003-07-24  Karl Berry  <karl@gnu.org>
92603
92604         * config/missing: update from automake.
92605
92606 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92607             Bruno Haible  <bruno@clisp.org>
92608
92609         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92610         * lib/getline.c (getline, getdelim): Likewise.
92611         Remove _GNU_SOURCE define; now it's defined in config.h through
92612         m4/getline.m4.
92613
92614 2003-07-23  Karl Berry  <karl@gnu.org>
92615
92616         * config/config.sub: update from prep.
92617
92618 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92619
92620         * modules/xalloc (Depends-on): Add exitfail.
92621         * modules/xmemcoll: Likewise.
92622
92623 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92624
92625         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92626         over-parenthesization in macros.
92627
92628         Sync with coreutils.
92629
92630         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92631         required by C99.
92632
92633         Use `exit_failure' for xalloc and xmemcoll instead of their own
92634         private exit-failure variables.
92635         * lib/xalloc.h (xalloc_exit_failure): Remove.
92636         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92637         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92638         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92639         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92640         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92641
92642 2003-07-20  Jim Meyering  <jim@meyering.net>
92643
92644         * modules/closeout (Depends-on): Add exitfail.
92645         Suggestion from Bruno Haible.
92646
92647 2003-07-19  Karl Berry  <karl@gnu.org>
92648
92649         * config/config.sub: update from prep.
92650
92651 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92652
92653         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92654         Remove.
92655         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92656         to test that it can stand by itself.  Include "exitfail.h".
92657         Clients should set exit_failure instead.
92658         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92659
92660 2003-07-18  Bruno Haible  <bruno@clisp.org>
92661
92662         * modules/getndelim2: New file.
92663         * modules/getline: Share files with module getndelim2.
92664         * modules/getnline: Depend on getndelim2 instead of sharing files with
92665         it. Add getnline.c to lib_SOURCES.
92666         * MODULES.html.sh (func_all_modules): Add getndelim2.
92667
92668 2003-07-18  Bruno Haible  <bruno@clisp.org>
92669
92670         * m4/getndelim2.m4: New file.
92671         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92672         invoke gl_PREREQ_GETNDELIM2.
92673         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92674         gl_PREREQ_GETNDELIM2.
92675         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92676         gl_GETNDELIM2.
92677
92678 2003-07-18  Bruno Haible  <bruno@clisp.org>
92679
92680         * lib/getndelim2.h: New file.
92681         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92682         getndelim2.h.
92683         (getndelim2): Make non-static. Change return type to ssize_t.
92684         * lib/getline.h: Change argument names.
92685         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92686         * lib/getnline.c: Include getndelim2.h.
92687
92688 2003-07-18  Andreas Schwab  <schwab@suse.de>
92689
92690         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92691
92692 2003-07-17  Karl Berry  <karl@gnu.org>
92693
92694         * config/config.sub: update from prep.
92695
92696 2003-07-17  Bruno Haible  <bruno@clisp.org>
92697
92698         * modules/getnline: New file.
92699         * modules/getline: Add lib/getndelim2.c to source file list.
92700         * MODULES.html.sh (func_all_modules): Add getnline.
92701
92702 2003-07-17  Bruno Haible  <bruno@clisp.org>
92703
92704         * m4/getnline.m4: New file.
92705
92706 2003-07-17  Bruno Haible  <bruno@clisp.org>
92707
92708         * m4/Makefile.am.in: Remove file.
92709         * m4/Makefile.am: Remove file.
92710         * m4/Makefile.in: Remove file.
92711
92712 2003-07-17  Bruno Haible  <bruno@clisp.org>
92713
92714         * lib/getnline.h: New file.
92715         * lib/getnline.c: New file.
92716         * lib/getndelim2.c: New file, extracted from getline.c.
92717         (getndelim2): Renamed from getdelim2, with added nmax argument.
92718         * lib/getline.c: Include getndelim2.c.
92719         (getdelim2): Moved out to getndelim2.c.
92720         (getline, getdelim): Update.
92721
92722 2003-07-17  Bruno Haible  <bruno@clisp.org>
92723
92724         * lib/Makefile.am: Remove file.
92725         * lib/Makefile.in: Remove file.
92726
92727 2003-07-17  Bruno Haible  <bruno@clisp.org>
92728
92729         * configure.in: Remove file.
92730         * Makefile.in: Remove file.
92731
92732 2003-07-17  Bruno Haible  <bruno@clisp.org>
92733
92734         * MODULES.html.sh: Put the </BODY> right before </HTML>.
92735
92736 2003-07-16  Karl Berry  <karl@gnu.org>
92737
92738         * config/srclist-update: was running fixlicense twice, which caused
92739                 texinfo.tex to be nullified for some reason.  Simplify,
92740                 $gplsrc is no longer needed as far as I can see?
92741
92742 2003-07-16  Jim Meyering  <jim@meyering.net>
92743
92744         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
92745
92746 2003-07-15  Paul Eggert  <eggert@twinsun.com>
92747
92748         * config/srclist.txt: Get the following files from gettext-runtime/intl
92749         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
92750         ref-del.sin.  From Bruno Haible.
92751         * config/srclist-update (fixfile): Change grep pattern again, since the
92752         previous fix didn't work (there was another trailing $).  Use
92753         '[$]' to escape the $s.
92754
92755 2003-07-15  Karl Berry  <karl@gnu.org>
92756
92757         * lib/vasnprintf.c: update from gettext.
92758
92759 2003-07-15  Karl Berry  <karl@gnu.org>
92760
92761         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
92762         gets expanded when surrounded by '$'.
92763
92764 2003-07-15  Jim Meyering  <jim@meyering.net>
92765
92766         * modules/save-cwd: Don't depend on error.  From Derek Price.
92767
92768 2003-07-15  Jim Meyering  <jim@meyering.net>
92769
92770         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
92771
92772 2003-07-14  Simon Josefsson  <jas@extundo.com>
92773
92774         * modules/mempcpy: New file.
92775         * MODULES.html.sh (func_all_modules): Add mempcpy.
92776
92777 2003-07-14  Simon Josefsson  <jas@extundo.com>
92778
92779         * m4/mempcpy.m4: New file.
92780
92781 2003-07-14  Simon Josefsson  <jas@extundo.com>
92782
92783         * lib/mempcpy.h: New file.
92784         * lib/mempcpy.c: New file.
92785
92786 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92787
92788         * modules/getdate, modules/posixtm: Depend on mktime.
92789
92790 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92791
92792         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
92793         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
92794         unicodeio.c, unicodeio.h, unlocked-io.h:
92795         Switch from LGPL to GPL.
92796
92797 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92798
92799         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
92800         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
92801         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
92802         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
92803         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
92804         updated automatically by ../config/srclist-update.  This changes
92805         their license from LPGL to GPL.
92806
92807 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92808
92809         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
92810         assumed to refer to the root of the most recent stable gettext version.
92811         * config/srclistvars.sh: Add defaults for eggert.
92812         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
92813         Match "This program" as well as "The program".  This is needed
92814         for gettext.
92815
92816 2003-07-14  Jim Meyering  <jim@meyering.net>
92817
92818         Don't emit diagnostics.  Let callers do that.
92819         * lib/save-cwd.c: Don't include "error.h".
92820         (save_cwd): Don't call error.  Ensure that errno is valid
92821         when returning nonzero.
92822
92823         * lib/save-cwd.h (restore_cwd): Update prototype.
92824         * lib/save-cwd.c (restore_cwd): Remove two parameters.
92825         Simplify.  Don't call error upon failure.  Let callers do that.
92826         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
92827         when auditing is enabled.  But don't bother updating the #if.
92828
92829 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
92830
92831         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
92832         it breaks C++ compilation.
92833         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
92834
92835 2003-07-10  Simon Josefsson  <jas@extundo.com>
92836
92837         * modules/strchrnul (Makefile.am): Add strchrnul.h.
92838
92839 2003-07-10  Jim Meyering  <jim@meyering.net>
92840
92841         * m4/clock_time.m4: Remove trailing blank.
92842         * m4/intmax_t.m4: Likewise.
92843
92844 2003-07-10  Jim Meyering  <jim@meyering.net>
92845
92846         * lib/vasnprintf.c: Remove trailing blanks.
92847         Make cpp indentation consistent.
92848
92849 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92850
92851         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
92852         posixver.c, strftime.c, strnlen.c, strverscmp.c:
92853         Switch from LGPL to GPL.
92854
92855 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92856
92857         * config/srclist.txt: Sort sublists.  Add
92858         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
92859         that differ from gnulib for one reason or another; we'd like this list
92860         to be smaller but for now let's document what we have.
92861
92862 2003-07-08  Paul Eggert  <eggert@twinsun.com>
92863
92864         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
92865         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
92866         and sweeter "eval x=$x".
92867         * config/srclist.txt: Get lib/argp* from glibc.
92868
92869 2003-07-07  Paul Eggert  <eggert@twinsun.com>
92870
92871         * lib/mktime.c: Fix some boundary cases and remove need for floating
92872         point.
92873
92874         Issue a compile-time diagnostic if time_t is floating point, or if
92875         two's complement arithmetic is not in effect, or if arithmetic
92876         right shift does not propagate the sign.  These assumptions were
92877         all in the original code but they weren't checked.
92878
92879         (TIME_T_MIDPOINT, verify): New macros.
92880         (__isleap): Remove; it has integer overflow problems.
92881         (leapyear): New function, without those problems.
92882         (ydhms_tm_diff): Remove; splitting into two parts.
92883         (ydhms_diff): New function, containing the arithmetic part of
92884         the old ydhms_tm_diff function.  Issue a compile-time
92885         diagnostic if we are not using C99 integer division.
92886         Avoid casts when possible.
92887         (guess_time_tm): New function, containing the checking part of
92888         the old ydhms_tm_diff function.  Return the new value, rather than
92889         the difference between it and the old.  Accept a new argument T
92890         so that *T specifies the old value.  Check for overflow in the result.
92891
92892         (__mktime_internal): Use a time_t offset, not a long int offset.
92893         This undoes the 2003-06-04 change, which is no longer needed now
92894         that we have better overflow checking.
92895         (localtime_offset): Likewise.
92896
92897         (__mktime_internal): Avoid harmful overflow on hosts where time_t
92898         and long are 64-bit but int is only 32-bit.
92899         (ydhms_diff): Use long int to store year1 and yday1.
92900         Issue a compile-time diagnostic if long int is not wide enough.
92901
92902         (__mktime_internal): Use long int to store adjusted year and yday.
92903         Use plain C rather than preprocessor commands, if that doesn't
92904         affect efficiency.
92905         Check for overflow (and try to repair) after each probe
92906         rather than checking only at the very end.  This avoids some bugs
92907         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
92908         does not equal GMT offset at maximum time).
92909         Use integer to check for overflow rather than floating point; this
92910         is more portable to non-IEEE hosts, and is a tad faster.
92911         When we detect that we are oscillating between two values,
92912         don't check whether tm_isdst has the requested value, since
92913         we already know the answer.  When tm_isdst has the wrong value,
92914         use a different heuristic to find the right one, based on the
92915         extreme values actually observed in practice in tz2003a,
92916         rather than the (overly optimistic) "previous 3 calendar quarters".
92917
92918         (not_equal_tm, print_tm, check_result): Use "const T" rather than
92919         "T const" to accommodate glibc style.
92920         (check_result): Use less-confusing report format.  "long" -> "long int.
92921         (main): Likewise.
92922         Don't loop if the iteration overflows time_t.
92923         Allow a negative step in the iteration.
92924
92925 2003-07-06  Karl Berry  <karl@gnu.org>
92926
92927         * config/depcomp: update from automake.
92928         * config/config.sub: update from prep.
92929
92930 2003-07-03  Karl Berry  <karl@gnu.org>
92931
92932         * config/config.guess: update from prep.
92933
92934 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92935
92936         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
92937         xreadlink.c now includes it unconditionally.
92938
92939 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92940
92941         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
92942         having it depend on HAVE_SYS_TYPES_H.
92943
92944 2003-07-01  Bruno Haible  <bruno@clisp.org>
92945
92946         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
92947         <sys/types.h> should be sufficient.
92948         Reported by Paul Eggert.
92949
92950 2003-06-26  Karl Berry  <karl@gnu.org>
92951
92952         * config/depcomp: update from automake.
92953
92954 2003-06-26  Bruno Haible  <bruno@clisp.org>
92955
92956         * modules/human: Depend on module stdbool.
92957
92958 2003-06-25  Bruno Haible  <bruno@clisp.org>
92959
92960         * modules/readlink: New file.
92961         * modules/xreadlink: Depend on it.
92962         * MODULES.html.sh (func_all_modules): Add readlink.
92963
92964 2003-06-25  Bruno Haible  <bruno@clisp.org>
92965
92966         * m4/readlink.m4: New file.
92967
92968 2003-06-25  Bruno Haible  <bruno@clisp.org>
92969
92970         * lib/readlink.c: New file.
92971
92972 2003-06-22  Karl Berry  <karl@gnu.org>
92973
92974         * config/srclist.txt: update mkinstalldirs from automake.
92975         * config/mkinstalldirs: update.
92976
92977 2003-06-22  Bruno Haible  <bruno@clisp.org>
92978
92979         Portability to mingw32.
92980         * m4/ssize_t.m4: New file, from GNU gettext.
92981         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
92982         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
92983
92984 2003-06-22  Bruno Haible  <bruno@clisp.org>
92985
92986         * modules/safe-read: Add m4/ssize_t.m4.
92987         * modules/xreadlink: Add m4/ssize_t.m4.
92988
92989 2003-06-20  Bruno Haible  <bruno@clisp.org>
92990
92991         Assume C89, so PARAMS isn't needed.
92992         * lib/unicodeio.h (PARAMS): Remove.
92993         * lib/unicodeio.c: Don't use PARAMS.
92994
92995 2003-06-18  Karl Berry  <karl@gnu.org>
92996
92997         * config/config.{guess,sub}: update from prep.
92998
92999 2003-06-18  Jim Meyering  <jim@meyering.net>
93000
93001         Merge changes from coreutils.
93002         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93003         Remove explicit declarations of xmalloc and realloc.
93004         Include xalloc.h.
93005         (read_utmp): Remove anachronistic cast of xmalloc.
93006
93007 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93008
93009         Assume C89, so PARAMS isn't needed.
93010         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93011         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93012         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93013         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93014         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93015         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93016         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93017         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93018         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93019         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93020         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93021         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93022         no longer needed. Anyway, config.h should always be included before any
93023         other file.
93024
93025 2003-06-11  Simon Josefsson  <jas@extundo.com>
93026
93027         * modules/sysexits: New file.
93028         * MODULES.html.sh (func_all_modules): Add sysexits.
93029
93030 2003-06-11  Simon Josefsson  <jas@extundo.com>
93031
93032         * lib/sysexit_.h: New file.
93033
93034 2003-06-11  Derek Price  <derek@ximbiot.com>
93035
93036         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93037         necessary.
93038
93039 2003-06-11  Bruno Haible  <bruno@clisp.org>
93040
93041         * m4/sysexits.m4: New file.
93042
93043 2003-06-10  Simon Josefsson  <jas@extundo.com>
93044
93045         * lib/argp.h: New file, from glibc.
93046         * lib/argp-ba.c: New file, from glibc.
93047         * lib/argp-eexst.c: New file, from glibc.
93048         * lib/argp-fmtstream.c: New file, from glibc.
93049         * lib/argp-fmtstream.h: New file, from glibc.
93050         * lib/argp-fs-xinl.c: New file, from glibc.
93051         * lib/argp-help.c: New file, from glibc.
93052         * lib/argp-namefrob.h: New file, from glibc.
93053         * lib/argp-parse.c: New file, from glibc.
93054         * lib/argp-pv.c: New file, from glibc.
93055         * lib/argp-pvh.c: New file, from glibc.
93056         * lib/argp-xinl.c: New file, from glibc.
93057
93058 2003-06-10  Simon Josefsson  <jas@extundo.com>
93059
93060         * modules/strchrnul: New file.
93061
93062 2003-06-10  Simon Josefsson  <jas@extundo.com>
93063
93064         * modules/argp: New file.
93065
93066 2003-06-10  Simon Josefsson  <jas@extundo.com>
93067
93068         * m4/strchrnul.m4: New file.
93069
93070 2003-06-10  Simon Josefsson  <jas@extundo.com>
93071
93072         * lib/strchrnul.h: New file.
93073         * lib/strchrnul.c: New file.
93074
93075 2003-06-10  Bruno Haible  <bruno@clisp.org>
93076
93077         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93078
93079 2003-06-07  Karl Berry  <karl@gnu.org>
93080
93081         * config/config.{guess,sub}: update from prep.
93082
93083 2003-06-07  Jim Meyering  <jim@meyering.net>
93084
93085         * modules/strtod: Use $(...) notation, not @...@ for
93086         AC_REPLACE'd variables.
93087         * modules/localcharset: Likewise.
93088
93089 2003-06-07  Jim Meyering  <jim@meyering.net>
93090
93091         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93092         in place of my name in the copyright comment.
93093         Remove definition and uses of __P.
93094
93095         From coreutils.
93096         * lib/stat.c: Don't declare xmalloc explicitly.
93097         Instead, include "xalloc.h".
93098         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93099         xrealloc, and xcalloc return values.
93100         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93101         Improve comment.
93102         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93103
93104 2003-06-07  Bruno Haible  <bruno@clisp.org>
93105
93106         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93107         avoid AC_CONFIG_LINKS.
93108         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93109         fnmatch.h, to avoid AC_CONFIG_LINKS.
93110         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93111
93112 2003-06-07  Bruno Haible  <bruno@clisp.org>
93113
93114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93115         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93116         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93117         directory.
93118         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93119         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93120         directory.
93121
93122 2003-06-06  Jim Meyering  <jim@meyering.net>
93123
93124         Merge from coreutils.
93125         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93126         Consolidate declarations and initializations of *_base* locals.
93127
93128         Merge from coreutils.
93129         This avoids a core dump on systems without GNU putenv,
93130         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93131         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93132         (unsetenv): New static function, from GNU libc.
93133         (rpl_putenv): Use it.
93134
93135         * lib/modechange.c: Remove trailing blanks.
93136
93137         Merge from coreutils.
93138         * lib/fsusage.c: Remove declaration of statfs.
93139         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93140
93141         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93142
93143 2003-06-06  Jim Meyering  <jim@meyering.net>
93144
93145         * lib/stdbool_.h: Renamed from stdbool.h.in.
93146
93147 2003-06-06  Jim Meyering  <jim@meyering.net>
93148             Bruno Haible  <bruno@clisp.org>
93149
93150         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93151         Adjust Makefile.am snippet not to redirect directly to target.
93152         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93153
93154 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93155
93156         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93157         mismatch, look in future quarters as well as past.  This fixes a
93158         bug when processing fall-backwards gaps immediately after a long
93159         period of daylight-saving time.
93160
93161         * lib/mktime.c: Assume freestanding C89 or better.
93162         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93163         (__P): Remove; not used.
93164         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93165         (mktime, not_equal_tm, print_tm, check_result,
93166         main): Use prototypes.  Use const * where appropriate.
93167         (main): Fix typo in testing code that uncovered by above changes.
93168         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93169
93170 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93171
93172         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93173         locale.h, localeconv.  This merges changes from coreutils.
93174
93175         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93176         It can be removed after the next Autoconf is released.
93177         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93178         needed.
93179
93180 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93181
93182         * lib/mktime.c: Fix Debian bug 177940
93183         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93184         (localtime_offset): Now long int, not time_t, because we want it
93185         to be guaranteed to be signed.  All uses changed.
93186         (__mktime_internal): If overflow would occur when adding offset,
93187         don't add it.
93188
93189         Merge 'human' changes from coreutils.  Rewrite to support
93190         locale-specific notations like thousands separators.
93191         * lib/human.c: Simplify authorship notice.
93192         Include human.h immediately after config.h.
93193         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93194         <limits.h>: Do not include, since human.h does.
93195         (SIZE_MAX, UINTMAX_MAX): New macros.
93196         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93197         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93198         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93199         (power_letter): Renamed from suffixes.
93200         (generate_suffix_backwards): Remove.
93201         (adjust_value): Now takes int style (because of human.h changes)
93202         and long double value (for greater precision on some platforms).
93203         (group_number): New function.
93204         (human_readable): Use it.  Use integer options, not enum.
93205         Put the options before the sizes in the arg list.
93206         Support all the new options.
93207         The old human_readable function has been removed;
93208         use inttostr.h instead.
93209         (human_readable, default_block_size, humblock):
93210         Use uintmax_t, not int, for block sizes.
93211         (human_readable_inexact, block_size_types): Remove.
93212         (block_size_opts): New constant.
93213         (human_options): Renamed from human_block_size, with new signature
93214         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93215         * lib/human.h: Add copyright and authorship notice.
93216         Include <limits.h> and <stdbool.h> unconditionally.
93217         (PARAMS): Remove.  All uses removed.
93218         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93219         (enum human_inexact_style): Remove tag; now a nameless enum.
93220         (human_floor, human_ceiling, human_round_to_even): Now have
93221         values 2, 0, 1 rather than -1, 1, 0.
93222         (human_group_digits, human_suppress_point_zero, human_autoscale,
93223         human_base_1024, human_SI, human_B): New constants.
93224         (human_readable_inexact, human_block_size): Remove.
93225         (human_readable): Size args are now uintmax_t, not int.
93226         (human_options): New decl.
93227
93228         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93229         unnecessary now that we assume C89 or better.  This change
93230         imported from coreutils.
93231
93232         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93233         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93234         in the 2003-05-30 sync from glibc.
93235
93236         .h files should stand alone, but we shouldn't include <sys/types.h>
93237         if we can get away with just <stddef.h>.
93238
93239         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93240         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93241         rather than <sys/types.h>, as we merely need size_t.
93242         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93243         to get size_t.
93244         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93245         Include <stdio.h>, to get FILE.
93246         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93247         memcasecmp.h has included <stddef.h> and all we need is size_t.
93248         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93249         our interface, instead of including <sys/types.h>
93250
93251 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93252
93253         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93254         now, as glibc mktime is buggy on non-glibc systems.
93255
93256 2003-06-03  Karl Berry  <karl@gnu.org>
93257
93258         * config/config.sub: update from prep.
93259
93260 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93261
93262         [from coreutils]
93263         Fix some minor time-related bugs with POSIX time arguments.
93264         Some valid time stamps were being rejected (notably -1, and
93265         time stamps before 1900 on 64-bit hosts).  And some invalid
93266         time stamps were being accepted, e.g. September 31.
93267
93268         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93269         that we can return (time_t) -1 successfully.
93270         * lib/posixtm.c: Likewise.
93271         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93272         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93273         (t): Remove static var.
93274         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93275         of static var.  All uses changed.
93276         (year): Do not reject years before 1900; they can occur with
93277         64-bit time_t.
93278         (posix_time_parse): Do not check for out-of-range components;
93279         that is now the caller's responsibility, since our checks were
93280         only approximations.
93281         (posixtime): Use mktime to check for out-of-range components,
93282         since it knows them exactly.
93283         If mktime returns (time_t) -1, check whether an error actually occurred
93284         by invoking localtime on -1.
93285         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93286         posixtime failures better.
93287         Improve the test data (in comments only).
93288
93289 2003-06-02  Karl Berry  <karl@gnu.org>
93290
93291         * config/mkinstalldirs (version): new variable.
93292         (--version): new option.
93293         (usage): improve message.
93294
93295 2003-05-30  Karl Berry  <karl@gnu.org>
93296
93297         * lib/mktime.c: update from libc.
93298
93299 2003-05-30  Bruno Haible  <bruno@clisp.org>
93300
93301         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93302         * config/config.rpath: Upgrade to gettext-0.12.1.
93303
93304 2003-05-30  Bruno Haible  <bruno@clisp.org>
93305
93306         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93307         * m4/nls.m4: New file, from gettext-0.12.1.
93308         * m4/po.m4: New file, from gettext-0.12.1.
93309         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93310
93311 2003-05-30  Bruno Haible  <bruno@clisp.org>
93312
93313         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93314         * lib/localcharset.h: Likewise.
93315         * lib/localcharset.c: Likewise.
93316
93317 2003-05-29  Karl Berry  <karl@gnu.org>
93318
93319         * config/config.rpath: update from gettext.
93320
93321 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93322
93323         Assume the headers required for C89 freestanding compilers.
93324         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93325         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93326         * m4/human.m4 (gl_HUMAN): Likewise.
93327         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93328         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93329         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93330         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93331         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93332         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93333
93334 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93335
93336         Assume the headers required for C89 freestanding compilers.
93337         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93338         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93339         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93340         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93341         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93342         define, since <limits.h> is guaranteed to do that.
93343         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93344         * lib/exclude.c: Include <stdbool.h> unconditionally.
93345         * lib/tempname.c: Include <stddef.h> unconditionally.
93346         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93347         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93348         <stddef.h> does that.
93349         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93350         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93351         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93352         needed.
93353         * lib/xstrtol.c: Likewise.
93354         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93355         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93356
93357         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93358         warnings on some platforms.
93359
93360         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93361         arbitrarily.
93362
93363 2003-05-26  Jim Meyering  <jim@meyering.net>
93364
93365         Merge in a change from coreutils:
93366         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93367         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93368         that condition, rather than `-1' which is slightly misleading.
93369         Change the name of the cache variable to have the gl_ prefix.
93370         Prompted by a patch from Richard Dawe for DJGPP.
93371
93372 2003-05-24  Karl Berry  <karl@gnu.org>
93373
93374         * config/config.guess: update from prep.
93375
93376 2003-05-22  Karl Berry  <karl@gnu.org>
93377
93378         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93379
93380 2003-05-20  Karl Berry  <karl@gnu.org>
93381
93382         * config/config.guess: update from prep.
93383
93384 2003-05-18  Karl Berry  <karl@gnu.org>
93385
93386         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93387         might actually be set by the user.
93388
93389         * config/depcomp, install-sh, mdate-sh: update from automake.
93390
93391 2003-05-17  Bruno Haible  <bruno@clisp.org>
93392
93393         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93394         invalid expansion for AC_EGREP_CPP.
93395         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93396         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93397         Suggested by Akim Demaille <akim@epita.fr> in
93398         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93399
93400 2003-05-12  Jim Meyering  <jim@meyering.net>
93401
93402         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93403         the space-padded-by-default conversion specifiers, %e, %k, %l.
93404
93405 2003-05-12  Bruno Haible  <bruno@clisp.org>
93406
93407         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93408         the string is longer than 4 KB.
93409
93410 2003-05-11  Karl Berry  <karl@gnu.org>
93411
93412         * config/config.{guess,sub}: update from prep.
93413
93414 2003-05-09  Bruno Haible  <bruno@clisp.org>
93415
93416         * modules/error: Add m4/strerror_r.m4 to file list.
93417
93418 2003-05-03  Bruno Haible  <bruno@clisp.org>
93419
93420         Upgrade to Unicode-4.0.
93421         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93422         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93423         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93424         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93425         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93426         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93427         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93428         Change width of U+E0100..U+E01EF from 1 to 0.
93429
93430 2003-04-25  Jim Meyering  <jim@meyering.net>
93431
93432         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93433         of type size_t, not int.
93434
93435 2003-04-25  Bruno Haible  <bruno@clisp.org>
93436
93437         * lib/copy-file.c: Include <stddef.h>, for size_t.
93438
93439 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93440
93441         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93442         code which expansion is under static control.  Patch imported from
93443         Akim Demaille's patch to Bison; see
93444         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93445
93446 2003-04-14  Bruno Haible  <bruno@clisp.org>
93447
93448         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93449
93450 2003-04-11  Jim Meyering  <jim@meyering.net>
93451
93452         Merge changes from Coreutils.
93453
93454         2003-03-22  Jim Meyering  <jim@meyering.net>
93455
93456         * lib/strftime.c (widen): Cast alloca return value to proper type.
93457
93458         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93459
93460         From GNU libc.
93461         * lib/strftime.c (my_strftime): Handle very large width
93462         specifications for numeric values correctly.  Improve checks for
93463         overflow.
93464
93465         2003-01-19  Jim Meyering  <jim@meyering.net>
93466
93467         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93468         definitions.
93469         (nl_get_alt_digit) [! defined my_strftime]: Define.
93470         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93471         _nl_get_alt_digit and _nl_get_walt_digit.
93472
93473         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93474         libc. These changes have no effect outside of _LIBC.
93475
93476 2003-04-10  Bruno Haible  <bruno@clisp.org>
93477
93478         * modules/findprog: New file.
93479         * MODULES.html.sh (func_all_modules): Add it.
93480
93481 2003-04-10  Bruno Haible  <bruno@clisp.org>
93482
93483         * m4/findprog.m4: New file.
93484         * m4/eaccess.m4: New file.
93485
93486 2003-04-10  Bruno Haible  <bruno@clisp.org>
93487
93488         * lib/findprog.h: New file, from GNU gettext.
93489         * lib/findprog.c: New file, from GNU gettext.
93490
93491 2003-04-05  Jim Meyering  <jim@meyering.net>
93492
93493         Merge changes from Coreutils.
93494
93495         * lib/exclude.h (PARAMS): Remove definition and uses.
93496         * lib/exclude.c: Remove uses of `PARAMS'.
93497
93498         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93499         Add test-cases for DOS filenames. Declare program_name.
93500         (main): Set up program_name.  Patch by Rich Dawe.
93501
93502         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93503         error from mntctl.
93504         Use mntctl's return value to drive the entry-processing loop, since
93505         we can't rely on the value of the vmt_length member in the last
93506         entry.  On some systems doing so could result in exhausting
93507         virtual memory.  Based in part on a patch from Mike Jetzer.
93508
93509 2003-04-04  Bruno Haible  <bruno@clisp.org>
93510
93511         * modules/linebreak: New file.
93512         * MODULES.html.sh (func_all_modules): Add it.
93513
93514 2003-04-04  Bruno Haible  <bruno@clisp.org>
93515
93516         * m4/linebreak.m4: New file.
93517
93518 2003-04-04  Bruno Haible  <bruno@clisp.org>
93519
93520         * lib/linebreak.h: New file, from GNU gettext.
93521         * lib/linebreak.c: New file, from GNU gettext with slight
93522         modifications.
93523         * lib/lbrkprop.h: New file, from GNU gettext.
93524
93525 2003-04-03  Bruno Haible  <bruno@clisp.org>
93526
93527         * modules/utf8-ucs4: New file.
93528         * modules/utf16-ucs4: New file.
93529         * modules/ucs4-utf8: New file.
93530         * modules/ucs4-utf16: New file.
93531         * MODULES.html.sh (func_all_modules): Add them.
93532
93533 2003-04-03  Bruno Haible  <bruno@clisp.org>
93534
93535         * m4/utf-ucs4.m4: New file.
93536         * m4/ucs4-utf.m4: New file.
93537
93538 2003-04-03  Bruno Haible  <bruno@clisp.org>
93539
93540         * lib/utf8-ucs4.h: New file, from GNU gettext.
93541         * lib/utf16-ucs4.h: New file, from GNU gettext.
93542         * lib/ucs4-utf8.h: New file, from GNU gettext.
93543         * lib/ucs4-utf16.h: New file, from GNU gettext.
93544
93545 2003-04-02  Bruno Haible  <bruno@clisp.org>
93546
93547         * modules/binary-io: New file.
93548         * MODULES.html.sh (func_all_modules): Add it.
93549
93550 2003-04-02  Bruno Haible  <bruno@clisp.org>
93551
93552         * lib/binary-io.h: New file, from GNU gettext.
93553
93554 2003-04-01  Bruno Haible  <bruno@clisp.org>
93555
93556         * modules/pathname: New file.
93557         * MODULES.html.sh (func_all_modules): Add it.
93558
93559 2003-04-01  Bruno Haible  <bruno@clisp.org>
93560
93561         * lib/pathname.h: New file, from GNU gettext.
93562         * lib/concatpath.c: New file, from GNU gettext.
93563
93564 2003-03-30  Bruno Haible  <bruno@clisp.org>
93565
93566         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93567
93568 2003-03-30  Bruno Haible  <bruno@clisp.org>
93569
93570         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93571         function chown() doesn't exist.
93572
93573 2003-03-28  Bruno Haible  <bruno@clisp.org>
93574
93575         * modules/copy-file: New file.
93576         * MODULES.html.sh (func_all_modules): Add it.
93577
93578 2003-03-28  Bruno Haible  <bruno@clisp.org>
93579
93580         * m4/copy-file.m4: New file.
93581
93582 2003-03-28  Bruno Haible  <bruno@clisp.org>
93583
93584         * lib/copy-file.h: New file, from GNU gettext.
93585         * lib/copy-file.c: New file, from GNU gettext.
93586
93587 2003-03-18  Jim Meyering  <jim@meyering.net>
93588
93589         * lib/quote.c (quote_n): Fix typo in comment.
93590
93591 2003-03-18  Bruno Haible  <bruno@clisp.org>
93592
93593         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93594         checking.
93595         * m4/onceonly_2_57.m4: Likewise.
93596
93597 2003-03-17  Bruno Haible  <bruno@clisp.org>
93598
93599         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93600         (m4_quote): Remove macro.
93601         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93602
93603 2003-03-14  Jim Meyering  <jim@meyering.net>
93604
93605         Merge changes from Coreutils.
93606         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93607         to be const, in order to avoid warnings.
93608         (obstack_room): Likewise.
93609         (obstack_empty_p): Likewise.
93610
93611 2003-03-14  Bruno Haible  <bruno@clisp.org>
93612
93613         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93614         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93615
93616 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93617
93618         Merge changes from Bison.
93619         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93620         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93621         when compiling Bison 1.875's `bitset bset = obstack_alloc
93622         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93623         * lib/hash.c: Include <stdbool.h> unconditionally.
93624
93625 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93626
93627         * m4/onceonly.m4 (m4_quote): New macro.
93628         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93629         Quote AC_FOREACH variable-expansions properly.
93630
93631 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93632
93633         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93634
93635 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93636
93637         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93638         Reported by Bruce Becker; see:
93639         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93640
93641 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93642             Bruno Haible  <bruno@clisp.org>
93643
93644         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93645         Reported by John Hughes, see
93646         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93647
93648 2003-02-20  Bruno Haible  <bruno@clisp.org>
93649
93650         * MODULES.html.sh (func_all_modules): Add poll.
93651
93652 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93653
93654         * modules/poll: New file.
93655
93656 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93657
93658         * lib/poll_.h: New file.
93659         * lib/poll.c: New file.
93660
93661 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93662
93663         * m4/poll.m4: New file.
93664
93665 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93666
93667         * modules/mathl: New file.
93668
93669 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93670
93671         * lib/mathl.h: New file.
93672         * lib/acosl.c: New file.
93673         * lib/asinl.c: New file.
93674         * lib/atanl.c: New file.
93675         * lib/ceill.c: New file.
93676         * lib/cosl.c: New file.
93677         * lib/expl.c: New file.
93678         * lib/floorl.c: New file.
93679         * lib/frexpl.c: New file.
93680         * lib/ldexpl.c: New file.
93681         * lib/logl.c: New file.
93682         * lib/sincosl.c: New file.
93683         * lib/sinl.c: New file.
93684         * lib/sqrtl.c: New file.
93685         * lib/tanl.c: New file.
93686         * lib/trigl.c: New file.
93687         * lib/trigl.h: New file.
93688
93689 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93690
93691         * m4/mathl.m4: New file.
93692
93693 2003-02-18  Bruno Haible  <bruno@clisp.org>
93694
93695         * MODULES.html.sh (func_all_modules): Add mathl.
93696
93697 2003-02-17  Bruno Haible  <bruno@clisp.org>
93698
93699         * modules/mkdtemp: New module.
93700         * MODULES.html.sh (func_all_modules): Add it.
93701
93702 2003-02-17  Bruno Haible  <bruno@clisp.org>
93703
93704         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93705
93706 2003-02-17  Bruno Haible  <bruno@clisp.org>
93707
93708         * lib/mkdtemp.h: New file, from GNU gettext.
93709         * lib/mkdtemp.c: New file, from GNU gettext.
93710
93711 2003-02-02  Jim Meyering  <jim@meyering.net>
93712
93713         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
93714         e.g. glibc-2.2.93.
93715
93716 2003-01-31  Bruno Haible  <bruno@clisp.org>
93717
93718         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
93719         'rpl_rename'.
93720         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
93721         'rpl_strnlen'.
93722         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
93723         'rpl_strtod'.
93724         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
93725         'rpl_utime'.
93726
93727 2003-01-31  Bruno Haible  <bruno@clisp.org>
93728
93729         * lib/rename.c: #undef rename before defining rpl_rename.
93730         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
93731
93732 2003-01-30  Bruno Haible  <bruno@clisp.org>
93733
93734         * modules/vasnprintf, modules/vasprintf: New modules.
93735         * MODULES.html.sh (func_all_modules): Add them.
93736
93737 2003-01-30  Bruno Haible  <bruno@clisp.org>
93738
93739         * m4/signed.m4: New file, from GNU gettext.
93740         * m4/longdouble.m4: New file, from GNU gettext.
93741         * m4/wchar_t.m4: New file, from GNU gettext.
93742         * m4/wint_t.m4: New file, from GNU gettext.
93743         * m4/vasnprintf.m4: New file.
93744         * m4/vasprintf.m4: New file.
93745
93746 2003-01-30  Bruno Haible  <bruno@clisp.org>
93747
93748         * lib/printf-args.h: New file, from GNU gettext.
93749         * lib/printf-args.c: New file, from GNU gettext.
93750         * lib/printf-parse.h: New file, from GNU gettext.
93751         * lib/printf-parse.c: New file, from GNU gettext.
93752         * lib/vasnprintf.h: New file, from GNU gettext.
93753         * lib/vasnprintf.c: New file, from GNU gettext.
93754         * lib/asnprintf.c: New file, from GNU gettext.
93755         * lib/vasprintf.h: New file, from GNU gettext with modifications.
93756         * lib/vasprintf.c: New file, from GNU gettext.
93757         * lib/asprintf.c: New file, from GNU gettext.
93758
93759 2003-01-29  Bruno Haible  <bruno@clisp.org>
93760
93761         * modules/stpncpy: New module.
93762         * MODULES.html.sh (func_all_modules): Add it.
93763
93764 2003-01-29  Bruno Haible  <bruno@clisp.org>
93765
93766         * m4/stpncpy.m4: New file.
93767
93768 2003-01-29  Bruno Haible  <bruno@clisp.org>
93769
93770         * lib/stpncpy.h: New file, from GNU gettext with modifications.
93771         * lib/stpncpy.c: New file, from GNU gettext with modifications.
93772
93773 2003-01-28  Bruno Haible  <bruno@clisp.org>
93774
93775         * modules/c-ctype: New module.
93776         * MODULES.html.sh (func_all_modules): Add it.
93777
93778 2003-01-28  Bruno Haible  <bruno@clisp.org>
93779
93780         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
93781         Paul Eggert.
93782         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
93783         Paul Eggert.
93784
93785 2003-01-27  Bruno Haible  <bruno@clisp.org>
93786
93787         * modules/xsetenv: New module.
93788         * MODULES.html.sh (func_all_modules): Add it.
93789
93790 2003-01-27  Bruno Haible  <bruno@clisp.org>
93791
93792         * lib/xsetenv.h: New file, from GNU gettext.
93793         * lib/xsetenv.c: New file, from GNU gettext.
93794
93795 2003-01-23  Jim Meyering  <jim@meyering.net>
93796
93797         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
93798         from working on systems without dirfd (at least Irix and OSF1/Tru64).
93799
93800 2003-01-23  Bruno Haible  <bruno@clisp.org>
93801
93802         * modules/minmax: New module.
93803         * MODULES.html.sh (func_all_modules): Add it.
93804
93805 2003-01-23  Bruno Haible  <bruno@clisp.org>
93806
93807         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
93808         Eggert.
93809
93810 2003-01-22  Bruno Haible  <bruno@clisp.org>
93811
93812         * modules/exit: New module.
93813         * MODULES.html.sh (func_all_modules): Add it.
93814
93815 2003-01-22  Bruno Haible  <bruno@clisp.org>
93816
93817         * lib/exit.h: New file, from GNU gettext.
93818
93819 2003-01-19  Bruno Haible  <bruno@clisp.org>
93820
93821         * gnulib-tool: Recognize option --extract-maintainer.
93822         (func_get_maintainer): New function.
93823         * modules/*: Add Maintainer entry.
93824
93825 2003-01-16  Jim Meyering  <jim@meyering.net>
93826
93827         * m4/regex.m4: The `regex' struct is both input and output.
93828         Initialize it before each use.  Patch by Tim Waugh.
93829
93830 2003-01-16  Bruno Haible  <bruno@clisp.org>
93831
93832         * MODULES.html.sh: Add a table of contents. Add the module name as
93833         leftmost column. Add hyperlinks.
93834
93835 2003-01-15  Bruno Haible  <bruno@clisp.org>
93836
93837         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
93838
93839 2003-01-15  Bruno Haible  <bruno@clisp.org>
93840
93841         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
93842         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
93843         suffix.
93844
93845 2003-01-15  Bruno Haible  <bruno@clisp.org>
93846
93847         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
93848
93849 2003-01-15  Bruno Haible  <bruno@clisp.org>
93850
93851         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
93852         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
93853
93854 2003-01-14  Jim Meyering  <jim@meyering.net>
93855
93856         * lib/same.c (same_name): Tweak a comment.
93857
93858 2003-01-14  Bruno Haible  <bruno@clisp.org>
93859
93860         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
93861         when a string comparison is sufficient.
93862
93863 2003-01-14  Bruno Haible  <bruno@clisp.org>
93864
93865         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
93866         'unsigned int'.
93867
93868 2003-01-14  Bruno Haible  <bruno@clisp.org>
93869
93870         * lib/hash-pjw.c: Add comment about low quality of this function.
93871
93872 2003-01-13  Bruno Haible  <bruno@clisp.org>
93873
93874         * modules/stpcpy: Distribute lib/stpcpy.h.
93875         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93876
93877 2003-01-13  Bruno Haible  <bruno@clisp.org>
93878
93879         * modules/*: Add a description.
93880         * modules/strpbrk: Fix Makefile.am snippet.
93881         * modules/strtoimax: Fix dependencies.
93882         * modules/strtoumax: Likewise.
93883
93884 2003-01-13  Bruno Haible  <bruno@clisp.org>
93885
93886         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
93887         * modules/alloca (Makefile.am): All object files depend on alloca.h.
93888         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
93889
93890 2003-01-13  Bruno Haible  <bruno@clisp.org>
93891
93892         * gnulib-tool (func_create_testdir): Store config/* files in the main
93893         directory.
93894         * config.rpath: Move to ...
93895         * config/config.rpath: ... here.
93896         * modules/gettext: Contains config/config.rpath, not config.rpath.
93897         * modules/iconv: Likewise.
93898
93899 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93900
93901         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93902         to avoid collisions with libcurses and libreadline.
93903
93904         * m4/getstr.m4: Remove.
93905         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
93906
93907 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93908
93909         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93910         to avoid collisions with libcurses and libreadline.
93911
93912         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
93913         * lib/getstr.h, getstr.c: Remove.
93914         * lib/getline.c: Include "getline.h", to check interface.
93915         Move body of old getstr.c here: this defines MIN_CHUNK and
93916         declares getdelim2, which is renamed from getstr.
93917         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
93918
93919         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
93920         All uses changed.
93921         * lib/linebuffer.h: Likewise.
93922         (readline): Remove backward-compatibility macro.
93923
93924 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93925
93926         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93927         to avoid collisions with libcurses and libreadline.
93928         * getstr: Remove.
93929         * MODULES.html.sh: Remove getstr.
93930         * modules/getline: Depend on unlocked-io, not getstr.
93931
93932 2003-01-12  Jim Meyering  <jim@meyering.net>
93933
93934         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
93935
93936 2003-01-10  Bruno Haible  <bruno@clisp.org>
93937
93938         * modules/alloca: Change Makefile.am requirements. Simplify Include
93939         requirements. Add lib/alloca_.h to file list.
93940
93941 2003-01-10  Bruno Haible  <bruno@clisp.org>
93942
93943         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
93944
93945 2003-01-10  Bruno Haible  <bruno@clisp.org>
93946
93947         * lib/alloca_.h: New file.
93948         * lib/getdate.y: Unconditionally include alloca.h.
93949         * lib/makepath.c: Likewise.
93950         * lib/setenv.c: Likewise.
93951         * lib/userspec.c: Likewise.
93952
93953 2003-01-09  Karl Berry  <karl@gnu.org>
93954
93955         * MODULES.html.sh: include `dirname $0` in PATH, to find
93956         gnulib-tool.
93957
93958 2003-01-09  Bruno Haible  <bruno@clisp.org>
93959
93960         * modules/stdbool: Change configure.ac, Makefile.am requirements.
93961         Simplify Include requirements. Add lib/stdbool.h.in to file list.
93962
93963 2003-01-09  Bruno Haible  <bruno@clisp.org>
93964
93965         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
93966
93967 2003-01-09  Bruno Haible  <bruno@clisp.org>
93968
93969         * lib/stdbool.h.in: New file.
93970
93971 2003-01-09  Bruno Haible  <bruno@clisp.org>
93972
93973         * gnulib-tool (func_all_modules): Ignore files ending in ~.
93974         * MODULES.html.sh: Likewise.
93975
93976 2003-01-08  Jim Meyering  <jim@meyering.net>
93977
93978         * lib/full-write.c: Undefine and define-away `const' after inclusion
93979         of errno.h, not before.  Suggestion from Bruno Haible.
93980
93981 2003-01-08  Bruno Haible  <bruno@clisp.org>
93982
93983         * modules/full-read: Depend on full-write.
93984
93985 2003-01-08  Bruno Haible  <bruno@clisp.org>
93986
93987         * lib/safe-read.c: Include specification header first, to ensure its
93988         selfcontainedness.
93989         * lib/full-write.c: Likewise.
93990
93991 2003-01-07  Jim Meyering  <jim@meyering.net>
93992
93993         * lib/full-write.c: Rework so that it may serve to define full_read,
93994         too.
93995         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
93996
93997 2003-01-07  Bruno Haible  <bruno@clisp.org>
93998
93999         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94000         <inttypes.h>.
94001         * lib/xstrtol.h: Likewise.
94002         * lib/xstrtoimax.c: Likewise.
94003         * lib/xstrtoumax.c: Likewise.
94004         * lib/human.h: Likewise.
94005
94006         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94007         on systems that have <inttypes.h> but not <stdint.h>.
94008
94009 2003-01-07  Bruno Haible  <bruno@clisp.org>
94010
94011         * MODULES.html.sh: Add copyright notice.
94012         (missed_files): Omit CVS directory entries.
94013         (func_module): Make it work with sed-3.02.
94014         * MODULES.txt: Remove file.
94015
94016 2003-01-06  Jim Meyering  <jim@meyering.net>
94017
94018         * lib/version-etc.c: Update year in translatable copyright string.
94019
94020 2003-01-03  Karl Berry  <karl@gnu.org>
94021
94022         * config/config.{guess,sub}: update from prep.
94023
94024 2003-01-02  Karl Berry  <karl@gnu.org>
94025
94026         * doc/COPYING.DOC: belatedly updated to 1.2.
94027
94028 2003-01-01  Karl Berry  <karl@gnu.org>
94029
94030         * gnulib-tool (func_verify_module): report module name $module in
94031         error message, not $1.
94032         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94033         be created, only if it doesn't exist.
94034         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94035
94036 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94037
94038         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94039
94040 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94041
94042         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94043         memcmp if strcoll doesn't work.
94044
94045 2002-12-31  Bruno Haible  <bruno@clisp.org>
94046
94047         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94048         nonempty.
94049
94050 2002-12-31  Bruno Haible  <bruno@clisp.org>
94051
94052         * lib/memcoll.c (STRCOLL): New macro.
94053         (memcoll): Use it.
94054
94055 2002-12-31  Bruno Haible  <bruno@clisp.org>
94056
94057         * lib/localcharset.h: New file.
94058         * lib/localcharset.c: Include it.
94059         * lib/unicodeio.c: Likewise.
94060
94061 2002-12-31  Bruno Haible  <bruno@clisp.org>
94062
94063         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94064         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94065
94066 2002-12-31  Bruno Haible  <bruno@clisp.org>
94067
94068         * lib/getline.h: Include <stddef.h>, for size_t.
94069
94070         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94071         * lib/unicodeio.c: Don't include <stddef.h>.
94072
94073 2002-12-31  Bruno Haible  <bruno@clisp.org>
94074
94075         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94076         HAVE_TM_ZONE.
94077
94078 2002-12-24  Karl Berry  <karl@gnu.org>
94079
94080         * config/config.guess: update from prep.
94081
94082 2002-12-24  Bruno Haible  <bruno@clisp.org>
94083
94084         General infrasructure.
94085         * m4/README: Rewritten.
94086         * m4/onceonly.m4: New file.
94087         * m4/onceonly_2_57.m4: New file.
94088
94089         Module atexit.
94090         * m4/atexit.m4: New file.
94091
94092         Module strtod.
94093         * m4/strtod.m4: New file.
94094
94095         Module strtol.
94096         * m4/strtol.m4: New file.
94097
94098         Module strtoul.
94099         * m4/strtoul.m4: New file.
94100
94101         Module memchr.
94102         * m4/memchr.m4: New file.
94103
94104         Module memcmp.
94105         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94106         (jm_FUNC_MEMCMP): Invoke it.
94107
94108         Module memcpy.
94109         * m4/memcpy.m4: New file.
94110
94111         Module memmove.
94112         * m4/memmove.m4: New file.
94113
94114         Module memset.
94115         * m4/memset.m4: New file.
94116
94117         Module strcspn.
94118         * m4/strcspn.m4: New file.
94119
94120         Module strpbrk.
94121         * m4/strpbrk.m4: New file.
94122
94123         Module strstr.
94124         * m4/strstr.m4: New file.
94125
94126         Module strerror.
94127         * m4/strerror.m4: New file.
94128
94129         Module mktime.
94130         * m4/mktime.m4: Renamed from jm-mktime.m4.
94131         (gl_PREREQ_MKTIME): New macro.
94132         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94133
94134         Module malloc.
94135         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94136         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94137         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94138
94139         Module realloc.
94140         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94141         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94142         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94143
94144         Module strftime.
94145         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94146         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94147         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94148         gl_TM_GMTOFF.
94149         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94150
94151         Module xalloc.
94152         * m4/xalloc.m4: New file.
94153
94154         Module alloca.
94155         * m4/alloca.m4: New file.
94156
94157         Module putenv.
94158         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94159         (jm_FUNC_PUTENV): Invoke it.
94160
94161         Module setenv.
94162         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94163         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94164         when invoked twice.
94165         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94166         gt_FUNC_SETENV.
94167
94168         Module memrchr.
94169         * m4/memrchr.m4: New file.
94170
94171         Module stpcpy.
94172         * m4/stpcpy.m4: New file.
94173
94174         Module strcase.
94175         * m4/strcase.m4: New file.
94176
94177         Module strdup.
94178         * m4/strdup.m4: New file.
94179
94180         Module strnlen.
94181         * m4/strnlen.m4: New file.
94182
94183         Module strndup.
94184         * m4/strndup.m4: New file.
94185
94186         Module xstrtod.
94187         * m4/xstrtod.m4: New file.
94188
94189         Module xstrtol.
94190         * m4/xstrtol.m4: New file.
94191
94192         Module getdate.
94193         * m4/getdate.m4: New file.
94194
94195         Module unlocked-io.
94196         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94197         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94198         * m4/jm-glibc-io.m4n: Remove file.
94199
94200         Module long-options.
94201         * m4/long-options.m4: New file.
94202
94203         Module md5.
94204         * m4/md5.m4: New file.
94205
94206         Module sha.
94207         * m4/sha.m4: New file.
94208
94209         Module getstr.
94210         * m4/getstr.m4: New file.
94211
94212         Module getline.
94213         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94214         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94215         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94216         simply getline. Infoke gl_PREREQ_GETLINE.
94217
94218         Module obstack.
94219         * m4/obstack.m4: New file.
94220
94221         Module hash.
94222         * m4/hash.m4: New file.
94223
94224         Module readtokens.
94225         * m4/readtokens.m4: New file.
94226
94227         Module strverscmp.
94228         * m4/strverscmp.m4: New file.
94229
94230         Module stdbool.
94231         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94232         OSF/1.
94233
94234         Module strtoll.
94235         * m4/strtoll.m4: New file.
94236
94237         Module strtoull.
94238         * m4/strtoull.m4: New file.
94239
94240         Module strtoimax.
94241         * m4/strtoimax.m4: New file.
94242
94243         Module strtoumax.
94244         * m4/strtoumax.m4: New file.
94245
94246         Module xstrtoimax.
94247         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94248         jm_AC_PREREQ_XSTRTOIMAX.
94249         Moved the strtol prerequisites to strtol.m4.
94250         Moved the strtoll prerequisites to strtoll.m4.
94251         Moved the strtoimax prerequisites to strtoimax.m4.
94252
94253         Module xstrtoumax.
94254         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94255         jm_AC_PREREQ_XSTRTOUMAX.
94256         Moved the strtoul prerequisites to strtoul.m4.
94257         Moved the strtoull prerequisites to strtoull.m4.
94258         Moved the strtoumax prerequisites to strtoumax.m4.
94259
94260         Module chown.
94261         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94262         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94263
94264         Module dup2.
94265         * m4/dup2.m4: New file.
94266
94267         Module ftruncate.
94268         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94269         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94270
94271         Module getgroups.
94272         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94273         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94274
94275         Module gettimeofday.
94276         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94277         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94278         gl_PREREQ_GETTIMEOFDAY.
94279
94280         Module mkdir.
94281         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94282         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94283
94284         Module mkstemp.
94285         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94286         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94287         jm_AC_TYPE_UINTMAX_T.
94288         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94289
94290         Module stat.
94291         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94292         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94293
94294         Module lstat.
94295         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94296         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94297
94298         Module timespec.
94299         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94300         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94301         * m4/st_mtim.m4: Indentation.
94302
94303         Module nanosleep.
94304         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94305         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94306         gl_PREREQ_NANOSLEEP.
94307
94308         Module regex.
94309         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94310         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94311         (gl_REGEX): New macro.
94312
94313         Module rename.
94314         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94315         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94316
94317         Module rmdir.
94318         * m4/rmdir.m4: New file.
94319
94320         Module utime.
94321         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94322         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94323         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94324
94325         Module dirname.
94326         * m4/dirname.m4: New file.
94327
94328         Module getopt.
94329         * m4/getopt.m4: New file.
94330
94331         Module unistd-safer.
94332         * m4/unistd-safer.m4: New file.
94333
94334         Module fnmatch.
94335         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94336         declaration.
94337         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94338         (gl_FUNC_FNMATCH_POSIX): New macro.
94339         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94340         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94341         simply fnmatch.
94342
94343         Module exclude.
94344         * m4/exclude.m4: New file.
94345
94346         Module human.
94347         * m4/human.m4: New file.
94348
94349         Module acl.
94350         * m4/acl.m4: Nop.
94351
94352         Module backupfile.
94353         * m4/backupfile.m4: New file.
94354         * m4/d-ino.m4: Indentation.
94355
94356         Module fsusage.
94357         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94358         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94359         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94360
94361         Module dirfd.
94362         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94363         requirements.
94364
94365         Module euidaccess.
94366         * m4/euidaccess.m4: New file.
94367
94368         Module file-type.
94369         * m4/file-type.m4: New file.
94370
94371         Module fileblocks.
94372         * m4/fileblocks.m4: New file.
94373
94374         Module filemode.
94375         * m4/filemode.m4: New file.
94376
94377         Module isdir.
94378         * m4/isdir.m4: New file.
94379
94380         Module lchown.
94381         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94382         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94383
94384         Module makepath.
94385         * m4/makepath.m4: New file.
94386
94387         Module modechange.
94388         * m4/modechange.m4: New file.
94389
94390         Module mountlist.
94391         * m4/mountlist.m4: New file.
94392         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94393         Indentation.
94394
94395         Module path-concat.
94396         * m4/path-concat.m4: New file.
94397
94398         Module pathmax.
94399         * m4/pathmax.m4: New file.
94400
94401         Module same.
94402         * m4/same.m4: New file.
94403
94404         Module save-cwd.
94405         * m4/save-cwd.m4: New file.
94406
94407         Module savedir.
94408         * m4/savedir.m4: New file.
94409
94410         Module xgetcwd.
94411         * m4/xgetcwd.m4: New file.
94412         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94413
94414         Module xreadlink.
94415         * m4/xreadlink.m4: New file.
94416
94417         Module safe-read.
94418         * m4/safe-read.m4: New file.
94419
94420         Module safe-write.
94421         * m4/safe-write.m4: New file.
94422
94423         Module closeout.
94424         * m4/closeout.m4: New file.
94425
94426         Module stdio-safer.
94427         * m4/stdio-safer.m4: New file.
94428
94429         Module getpass.
94430         * m4/getpass.m4: New file.
94431
94432         Module getugroups.
94433         * m4/getugroups.m4: New file.
94434
94435         Module group-member.
94436         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94437         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94438
94439         Module idcache.
94440         * m4/idcache.m4: New file.
94441
94442         Module userspec.
94443         * m4/userspec.m4: New file.
94444
94445         Module gettime.
94446         * m4/clock_time.m4: New file.
94447         * m4/gettime.m4: New file.
94448
94449         Module settime.
94450         * m4/settime.m4: New file.
94451
94452         Module posixtm.
94453         * m4/posixtm.m4: New file.
94454
94455         Module gethostname.
94456         * m4/gethostname.m4: New file.
94457
94458         Module canon-host.
94459         * m4/canon-host.m4: New file.
94460
94461         Module gettext.
94462         * m4/codeset.m4: New file, from gettext-0.11.5.
94463         * m4/gettext.m4: New file, from gettext-0.11.5.
94464         * m4/glibc21.m4: New file, from gettext-0.11.5.
94465         * m4/iconv.m4: New file, from gettext-0.11.5.
94466         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94467         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94468         * m4/inttypes.m4: New file, from gettext-0.11.5.
94469         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94470         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94471         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94472         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94473         * m4/lib-link.m4: New file, from gettext-0.11.5.
94474         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94475         * m4/progtest.m4: New file, from gettext-0.11.5.
94476         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94477         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94478         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94479
94480         Module localcharset.
94481         * m4/localcharset.m4: New file.
94482
94483         Module hard-locale.
94484         * m4/hard-locale.m4: New file.
94485
94486         Module mbswidth.
94487         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94488         onceonly macros.
94489         * m4/mbrtowc.m4: Add comment.
94490
94491         Module memcasecmp.
94492         * m4/memcasecmp.m4: New file.
94493
94494         Module memcoll.
94495         * m4/memcoll.m4: New file.
94496
94497         Module unicodeio.
94498         * m4/unicodeio.m4: New file.
94499
94500         Module rpmatch.
94501         * m4/rpmatch.m4: New file.
94502
94503         Module yesno.
94504         * m4/yesno.m4: New file.
94505
94506         Module exitfail.
94507         * m4/exitfail.m4: New file.
94508
94509         Module c-stack.
94510         * m4/c-stack.m4 (gl_C_STACK): New macro.
94511         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94512
94513         Module error.
94514         * m4/error.m4 (gl_ERROR): New macro.
94515         (jm_PREREQ_ERROR): Use onceonly macros.
94516
94517         Module fatal.
94518         * m4/fatal.m4: New file.
94519
94520         Module getloadavg.
94521         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94522         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94523
94524         Module getpagesize.
94525         * m4/getpagesize.m4: New file.
94526
94527         Module getusershell.
94528         * m4/getusershell.m4: New file.
94529
94530         Module physmem.
94531         * m4/physmem.m4: New file.
94532
94533         Module posixver.
94534         * m4/posixver.m4: New file.
94535
94536         Module quotearg.
94537         * m4/quotearg.m4: New file.
94538
94539         Module quote.
94540         * m4/quote.m4: New file.
94541
94542         Module readutmp.
94543         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94544
94545         Module sig2str.
94546         * m4/sig2str.m4: New file.
94547
94548         Other.
94549         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94550         ulonglong.m4.
94551         * m4/intmax_t.m4: New file.
94552         * m4/d-type.m4: Indentation.
94553         * m4/jm-macros.m4: Update.
94554         * m4/prereq.m4 (jm_PREREQ): Update.
94555         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94556         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94557         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94558         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94559         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94560         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94561         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94562         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94563         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94564         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94565         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94566         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94567         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94568         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94569         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94570         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94571         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94572         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94573         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94574
94575 2002-12-24  Bruno Haible  <bruno@clisp.org>
94576
94577         * MODULES.txt: Update according to m4/ changes.
94578
94579         Module gettext.
94580         * config.rpath: New file, from gettext-0.11.5.
94581
94582         * modules/*: New module descriptions.
94583         * gnulib-tool: New file.
94584         * MODULES.html.sh: New file.
94585
94586 2002-12-21  Karl Berry  <karl@gnu.org>
94587
94588         * doc/fdl.texi: update to version 1.2.
94589
94590 2002-12-19  Karl Berry  <karl@gnu.org>
94591
94592         * config/config.guess: update from prep.
94593
94594 2002-12-18  Bruno Haible  <bruno@clisp.org>
94595
94596         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94597         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94598
94599 2002-12-17  Bruno Haible  <bruno@clisp.org>
94600
94601         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94602         stdlib.h, string.h.
94603
94604 2002-12-17  Bruno Haible  <bruno@clisp.org>
94605
94606         * lib/canon-host.c (strdup): Remove unused declaration.
94607
94608         * lib/fsusage.c: Include full_read.h.
94609         (get_fs_usage): Use full_read instead of safe_read.
94610
94611         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94612
94613 2002-12-12  Karl Berry  <karl@gnu.org>
94614
94615         * config/config.guess: update from prep.
94616
94617 2002-12-11  Bruno Haible  <bruno@clisp.org>
94618
94619         * m4/setenv.m4: New file, from gettext-0.11.5.
94620
94621 2002-12-11  Bruno Haible  <bruno@clisp.org>
94622
94623         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94624         not unsetenv().
94625         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94626         modifications:
94627
94628         2002-12-11  Bruno Haible  <bruno@clisp.org>
94629
94630                 * setenv.c (alloca): Fall back to malloc.
94631                 (freea): New macro.
94632                 (setenv): Use freea() to free memory allocated with alloca().
94633
94634         2002-11-13  Bruno Haible  <bruno@clisp.org>
94635
94636                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94637                 function declarations.
94638                 * unsetenv.c (unsetenv): Likewise.
94639
94640         2002-03-04  Bruno Haible  <bruno@clisp.org>
94641
94642                 Portability to AIX 4.3.3.
94643                 * unsetenv.c: New file, extracted from setenv.c.
94644                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94645
94646         2001-12-20  Bruno Haible  <bruno@clisp.org>
94647
94648                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94649                 use malloc instead. For SunOS 4.
94650
94651         2001-12-11  Bruno Haible  <bruno@clisp.org>
94652
94653                 * setenv.c: Declare alloca.
94654                 (compar_fn_t): New typedef.
94655                 (KNOWN_VALUE, STORE_VALUE): Use it.
94656
94657         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94658         setenv.h.
94659
94660 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94661
94662         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94663         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94664         Choose values that are less likely to collide with system fnmatch
94665         options.
94666         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94667         defined (e.g., a pure POSIX system).
94668         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94669         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94670
94671 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94672
94673         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94674         a pain in practice to deal with generated m4 files.  This change
94675         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94676
94677         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94678         and jm-glibc-io.m4, as they are no longer a special case.
94679         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94680         kludge and the auto-generation stuff.  Check only whether the
94681         functions are declared, not whether they exist, since older hosts
94682         that don't declare the functions can't use the optimization anyway.
94683
94684 2002-12-06  Jim Meyering  <jim@meyering.net>
94685
94686         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94687
94688         Merge in changes from libc's misc/error.c, in preparation
94689         for the merge of gnulib's changes back into libc.
94690
94691         * lib/error.c (_): Define only if not already defined.
94692         Move definition to follow all #include directives.
94693         Include unlocked-io.h only if !_LIBC.
94694         [_LIBC]: Include <libio/libioP.h>.
94695         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94696         (fflush): Tweak definition to use INTUSE.
94697         (putc): Define.
94698
94699 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94700
94701         * lib/alloca.c [defined emacs]: Include "lisp.h".
94702         (xalloc_die) [defined emacs]: New macro.
94703         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94704         [! defined emacs]: Include <xalloc.h>.
94705         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94706         (pointer): Typedef to POINTER_TYPE *.
94707         (malloc): Remove decl; we now always use xmalloc.
94708         (alloca): Use old-style definition, since Emacs needs this.
94709         Check for arithmetic overflow when computing combined size.
94710
94711 2002-12-04  Paul Eggert  <eggert@twinsun.com>
94712
94713         Do not generate unlocked-io.h automatically, since it's easier to
94714         maintain it by hand.
94715
94716         * lib/unlocked-io.h: New file, from GNU diffutils,
94717         but with proper copyright notice and attribution.
94718         * lib/gen-uio: Remove.
94719         * lib/Makefile.am: Add copyright notice.
94720         (libfetish_a_SOURCES): Add unlocked-io.h.
94721         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
94722         (DISTCLEANFILES, io_functions): Remove macros.
94723         (EXTRA_DIST): Remove gen_uio.
94724         (unlocked-io.h): Remove rule.
94725
94726 2002-12-04  Jim Meyering  <jim@meyering.net>
94727
94728         Reflect the fact that stat.c and lstat.c are no longer generated.
94729         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
94730         (DISTCLEANFILES): Likewise.
94731         (EXTRA_DIST): Likewise.
94732         (all_local): Don't depend on stat.c or lstat.c.
94733         (stat.c, lstat.c): Remove rules.
94734         (EXTRA_DIST): Remove xstat.in.
94735
94736         * lib/xstat.in: Remove file.  Contents moved into stat.c.
94737         * lib/stat.c: New file.  Contents mostly from xstat.in.
94738         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
94739         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
94740
94741         * lib/safe-read.c: Rework so that it may serve to define safe_write,
94742         too.
94743         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
94744
94745 2002-12-03  Jim Meyering  <jim@meyering.net>
94746
94747         * lib/safe-read.c, safe-write.c: Change variable names and comments,
94748         but not semantics, to minimize the differences between these two files.
94749         (safe_read): Change comment to mention SAFE_READ_ERROR.
94750
94751         * lib/safe-read.c (IS_EINTR): Define.
94752         (safe_read): Use IS_EINTR in place of in-function cpp directives.
94753
94754 2002-12-02  Jim Meyering  <jim@meyering.net>
94755
94756         * lib/safe-read.c (EINTR): Define.
94757         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94758         (INT_MAX): Provide fallback.
94759         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
94760
94761         * lib/safe-read.h (SAFE_READ_ERROR): Define.
94762
94763 2002-12-02  Bruno Haible  <bruno@clisp.org>
94764
94765         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
94766         Define, taken from safe-read.c.
94767         (INT_MAX): Provide fallback.
94768         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
94769         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
94770
94771         * lib/safe-read.c (EINTR): Remove definition.
94772         (safe_read): Don't use EINTR if it is absent.
94773
94774 2002-12-01  Jim Meyering  <jim@meyering.net>
94775
94776         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
94777         zero.
94778         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
94779
94780 2002-11-27  Paul Eggert  <eggert@twinsun.com>
94781
94782         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
94783         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
94784         with `if (! (value < limit)) abort ();', for readability.
94785
94786 2002-11-26  Karl Berry  <karl@gnu.org>
94787
94788         * lib/strdup.c: copy from libc again, with jim's ok.
94789         * lib/.cppi-disable: re-add strdup.c
94790
94791 2002-11-25  Karl Berry  <karl@gnu.org>
94792
94793         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
94794         instead of "strtol.c".
94795
94796 2002-11-25  Karl Berry  <karl@gnu.org>
94797
94798         * config/install-sh: update from automake for variable quoting, $0 in
94799         error msgs, etc.
94800
94801         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
94802         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
94803         entry.
94804
94805 2002-11-25  Jim Meyering  <jim@meyering.net>
94806
94807         * lib/mktime.c: Sync from libc, now that it has the latest fix.
94808
94809 2002-11-24  Karl Berry  <karl@gnu.org>
94810
94811         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
94812         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
94813
94814 2002-11-24  Jim Meyering  <jim@meyering.net>
94815
94816         Update from coreutils:
94817
94818         * lib/mktime.c: Merge in changes from libc.
94819
94820         Avoid a link-time failure on some Linux systems.
94821         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
94822         (otherwise).
94823         (__mon_yday): Declare with the STATIC attribute.
94824         (__mktime_internal): Likewise.
94825         Based on a report from Greg Schafer.
94826
94827 2002-11-23  Jim Meyering  <jim@meyering.net>
94828
94829         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
94830         Use `unsigned', not `int', as type of index.
94831
94832         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
94833
94834         * lib/fsusage.c: Remove unneeded parentheses around operands of
94835         `defined'.
94836
94837 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94838
94839         * lib/quotearg.h: Allow multiple inclusion by surrounding with
94840         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
94841         so that we can be included first.
94842         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
94843         * lib/quotearg.c: Include quotearg.h immediately after config.h.
94844         No need to include stddef.h or sys/types.h any more.
94845         Surround local include files with "", not "<>".
94846         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
94847         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
94848         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
94849         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
94850         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
94851         (ISPRINT): Remove; no longer needed now that we assume C89.
94852
94853         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
94854         Preserve errno.
94855
94856         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
94857         quotearg_char): Use SIZE_MAX rather than
94858         (size_t) -1 when we are talking about "infinity".
94859
94860         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
94861
94862 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94863
94864         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
94865         hint that one should use `if (! x) abort ();' rather than `assert
94866         (x);', and anyway it's one less thing to worry about configuring.
94867         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
94868         hash_rehash, hash_insert): Use abort rather than assert.
94869
94870 2002-11-22  Bruno Haible  <bruno@clisp.org>
94871
94872         * lib/safe-read.h: Assume C89. Add comments.
94873         (safe_read): Change return type to size_t.
94874         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94875         byte counts > SSIZE_MAX correctly.
94876         * lib/safe-write.h: New file.
94877         * lib/safe-write.c: New file.
94878         * lib/full-read.h: New file.
94879         * lib/full-read.c: New file.
94880         * lib/full-write.h: Assume C89. Add comments.
94881         * lib/full-write.c: Include safe-write.h.
94882         (full_write): Rewritten to use safe_write.
94883         Suggested by Jim Meyering and Paul Eggert.
94884
94885 2002-11-21  Jim Meyering  <jim@meyering.net>
94886
94887         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
94888
94889         Merge in changes from the coreutils.
94890
94891         2002-09-25  Paul Eggert  <eggert@twinsun.com>
94892         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
94893         <stdint.h>.
94894         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
94895         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
94896         int.  Work more efficiently if X is the same width as uintmax_t.
94897         Do not compare X to -1, to avoid bogus compiler warning.
94898         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
94899         Don't assume that f_frsize and f_bsize are the same type.
94900
94901         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
94902         warning on FreeBSD.
94903
94904         * lib/makepath.c (make_path): Restore umask *before* creating the final
94905         component.
94906         (make_path): Minor reformatting.
94907
94908         * lib/xmalloc.c: Adjust to work with new autoconf macros,
94909         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
94910         HAVE_MALLOC/HAVE_REALLOC.
94911
94912         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
94913         dummy ones.  At least on GNU/Linux systems, `auto' means something
94914         else.
94915         From Michael Stone.
94916
94917 2002-11-21  Bruno Haible  <bruno@clisp.org>
94918
94919         Remove case insensitive option matching.
94920         * lib/argmatch.h (argcasematch): Remove declaration.
94921         (ARGCASEMATCH): Remove macro.
94922         (__xargmatch_internal): Remove case_sensitive argument.
94923         (XARGMATCH): Update.
94924         (XARGCASEMATCH): Remove macro.
94925         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
94926         case_sensitive argument.
94927         (argcasematch): Remove function.
94928         (__xargmatch_internal): Remove case_sensitive argument.
94929         (main): Use XARGMATCH instead of XARGCASEMATCH.
94930
94931         * lib/xmalloc.c: Change compile-time error message. Add comment about
94932         required autoconf version.
94933
94934 2002-11-20  Paul Eggert  <eggert@twinsun.com>
94935
94936         Merge argmatch cleanups from Bison.  Assume C89.
94937
94938         * lib/argmatch.c: Include config.h here, not in argmatch.h.
94939         Include stdlib.h, for EXIT_FAILURE.
94940         Always include <string.h>, since we assume C89.
94941         (EXIT_FAILURE): Remove pre-C89 bug workaround.
94942         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
94943         Include <stddef.h> instead, since it's all we need for size_t.
94944         (PARAMS): Remove.  All uses removed.
94945         (ARRAY_CARDINALITY): Do not bother to #undef.
94946         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
94947         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94948         Remove unnecessary parentheses.
94949         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94950         Insert necessary parentheses.
94951         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
94952         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
94953
94954 2002-11-19  Bruno Haible  <bruno@clisp.org>
94955
94956         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
94957         * lib/mbswidth.h: Include <stddef.h>, for size_t.
94958
94959         * lib/mbswidth.h (PARAMS): Remove macro.
94960         (mbswidth, mbsnwidth): Use ANSI C function declarations.
94961         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
94962
94963         * lib/gcd.h (PARAMS): Remove macro.
94964         (gcd): Use ANSI C function declarations.
94965         * lib/gcd.c (gcd): Likewise.
94966
94967 2002-11-15  Bruno Haible  <bruno@clisp.org>
94968
94969         * lib/strcspn.c: Include <stddef.h>.
94970         (strcspn): Use ANSI C function declaration. Change return type to
94971         size_t. Use NULL.
94972         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
94973         (strpbrk): Use NULL.
94974         * lib/strpbrk.h (PARAMS): Remove macro.
94975         (strpbrk): Use ANSI C function declaration.
94976         * lib/strstr.c: Don't include <sys/types.h>.
94977         * lib/strstr.h (PARAMS): Remove macro.
94978         (strstr): Use ANSI C function declarations.
94979
94980 2002-11-14  Karl Berry  <karl@gnu.org>
94981
94982         * config/mkinstalldirs: `do' on separate line, instead of
94983         `for var; do'.
94984
94985 2002-11-06  Bruno Haible  <bruno@clisp.org>
94986
94987         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
94988         * lib/gcd.c (gcd): Likewise.
94989
94990 2002-11-05  Bruno Haible  <bruno@clisp.org>
94991
94992         * lib/gcd.h: New file, from gettext-0.11.5.
94993         * lib/gcd.c: New file, from gettext-0.11.5.
94994
94995 2002-11-05  Bruno Haible  <bruno@clisp.org>
94996
94997         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94998         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94999         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95000         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95001
95002         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95003         <libintl.h>.
95004         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95005         <libintl.h>.
95006
95007         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95008         * lib/human.c: Include gettext.h instead of <libintl.h>.
95009         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95010         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95011         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95012         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95013         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95014         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95015         (textdomain): Remove definition.
95016         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95017
95018         * lib/long-options.c: Remove include of <libintl.h> and definition of
95019         _.
95020         * lib/same.c: Remove include of <libintl.h> and definition of _.
95021
95022 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95023
95024         * lib/config.charset: A few additions for Solaris.
95025
95026 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95027
95028         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95029         * lib/localcharset.c (locale_charset): Declare as extern "C".
95030
95031 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95032
95033         * lib/config.charset: msdos in uk_UA uses CP1125.
95034
95035 2002-11-04  Bruno Haible  <bruno@clisp.org>
95036
95037         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95038         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95039         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95040         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95041         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95042
95043 2002-11-04  Bruno Haible  <bruno@clisp.org>
95044
95045         * lib/localcharset.c (locale_charset): Don't return an empty string.
95046
95047 2002-11-04  Bruno Haible  <bruno@clisp.org>
95048
95049         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95050         aliases.
95051
95052 2002-11-04  Bruno Haible  <bruno@clisp.org>
95053
95054         * lib/config.charset: Update for newest glibc. Add canonical names
95055         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95056
95057 2002-11-04  Bruno Haible  <bruno@clisp.org>
95058
95059         * lib/config.charset: Add support for NetBSD.
95060
95061 2002-11-04  Bruno Haible  <bruno@clisp.org>
95062
95063         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95064
95065 2002-11-01  Bruno Haible  <bruno@clisp.org>
95066
95067         * configure.in: Add AC_CONFIG_AUX_DIR call.
95068         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95069         test/Makefile.
95070         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95071
95072 2002-09-28  Karl Berry  <karl@gnu.org>
95073
95074         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95075         installed automake until the next release, since changes have been
95076         made.
95077
95078 2002-09-25  Karl Berry  <karl@gnu.org>
95079
95080         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95081         * lib/getopt*: copy from libc/posix.
95082         * lib/gettext.h: copy from gettext.
95083         * lib/.cppi-disable: add strdup.c, gettext.h.
95084
95085 2002-09-25  Karl Berry  <karl@gnu.org>
95086
95087         * config/srclist.txt: enable gettext.h check.
95088         * config/config.{guess,sub}: update from prep.
95089         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95090                 from automake 1.6.3.
95091         See srclist*.
95092
95093 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95094
95095         * regex.c (PATFETCH): Remove the translating fetch.
95096         (PATFETCH_RAW): Rename to PATFETCH.
95097         (set_image_of_range): New fun.
95098         (SET_RANGE_TABLE_WORK_AREA): Use it.
95099         (regex_compile): Don't translate the pattern chars so eagerly.
95100         Only do it when inserting an `exactn' bytecode or when handling
95101         a char-range.
95102         (mutually_exclusive_p): Avoid empty statement.
95103
95104 2002-07-06  Jim Meyering  <meyering@lucent.com>
95105
95106         * m4/README: Don't mention Makefile.am.in.
95107         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95108
95109 2002-07-01  Jim Meyering  <meyering@lucent.com>
95110
95111         * lib/c-stack.c: Include sys/time.h.
95112         From Volker Borchert.
95113
95114 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95115
95116         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95117
95118 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95119
95120         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95121         New macro.  Use it uniformly instead of
95122         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95123         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95124         reported by Vin Shelton.
95125
95126 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95127
95128         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95129         Do not assume SA_SIGINFO behavior.
95130         Bug reported by Jim Meyering on NetBSD 1.5.2.
95131
95132 2002-06-22  Jim Meyering  <meyering@lucent.com>
95133
95134         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95135         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95136
95137         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95138         now that configure.ac uses AC_GNU_SOURCE.
95139         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95140         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95141
95142         Update to latest tools.  Suggestions from Paul Eggert.
95143         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95144         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95145         * m4/fnmatch.m4: Likewise.
95146         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95147         to AC_HEADER_STDBOOL
95148
95149 2002-06-22  Jim Meyering  <meyering@lucent.com>
95150
95151         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95152         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95153
95154 2002-06-22  Jim Meyering  <meyering@lucent.com>
95155
95156         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95157
95158         * lib/exitfail.c, exitfail.h: Likewise.
95159         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95160
95161         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95162         of fnmatch.h.
95163         (EXTRA_DIST): Add fnmatch_loop.c.
95164         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95165
95166         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95167         * lib/fnmatch.c: Update from diffutils-2.8.2.
95168         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95169         * lib/fnmatch.h: Remove file.
95170
95171 2002-06-21  Jim Meyering  <meyering@lucent.com>
95172
95173         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95174         * m4/mbrtowc.m4: Likewise.
95175
95176         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95177         * m4/mbswidth.m4: Reflect name change:
95178         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95179         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95180
95181         * m4/lib-link.m4: Update from gettext-0.11.2.
95182         * m4/gettext.m4: Likewise.
95183
95184         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95185         From Alfred M. Szmidt.
95186
95187 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95188
95189         * lib/file-type.h: Report an error if neither S_ISREG nor
95190         S_IFREG is defined, instead of using a test specific to glibc
95191         2.2.  This should be safe, since POSIX requires S_ISREG and
95192         Unix Version 7 had S_IFREG.  We don't need to check for
95193         <sys/types.h> since we don't use any symbols that it defines.
95194
95195 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95196
95197         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95198         $@-t, so that each temporary file name is unique and valid in the first
95199         8 characters, for operation under DOS.
95200
95201 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95202
95203         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95204
95205 2002-06-15  Jim Meyering  <meyering@lucent.com>
95206
95207         Work even with DJGPP 2.03, which lacks support for symlinks.
95208         From Richard Dawe.
95209         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95210         is defined.
95211         * lib/lchown.c (S_ISLNK): Likewise.
95212
95213 2002-06-15  Jim Meyering  <meyering@lucent.com>
95214
95215         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95216         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95217         have been included before this file.
95218
95219 2002-06-14  Jim Meyering  <meyering@lucent.com>
95220
95221         * lib/file-type.h: Use the version from diffutils-2.8.2.
95222         * lib/file-type.c: Likewise.
95223
95224 2002-06-07  Jim Meyering  <meyering@lucent.com>
95225
95226         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95227         They're needed at least for NetBSD 1.5.2.
95228         ($statxfs_includes): Include those same headers.
95229         ($statxfs_includes): Include sys/vfs.h if available.
95230         ($statxfs_includes): Likewise for sys/statvfs.h.
95231         Check for the following members in both structs statfs and statvfs:
95232         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95233
95234 2002-06-01  Jim Meyering  <meyering@lucent.com>
95235
95236         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95237         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95238
95239 2002-05-28  Jim Meyering  <meyering@lucent.com>
95240
95241         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95242         Reported by Volker Borchert.
95243
95244 2002-05-27  Jim Meyering  <meyering@lucent.com>
95245
95246         Fix a problem seen only on nonconforming systems whereby ls.c's
95247         use of localtime, and then of gettimeofday would cause trouble:
95248         the localtime call used to initialize rpl_gettimeofday's save
95249         mechanism would clobber ls's current local time information so
95250         that in any long listing the first file would always be listed
95251         with date 1970-01-01.  Analysis by Volker Borchert.
95252
95253         * lib/gettimeofday.c (localtime): Undefine.
95254         (rpl_localtime): New function.
95255
95256 2002-05-27  Jim Meyering  <meyering@lucent.com>
95257
95258         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95259         localtime.
95260
95261         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95262         use the replacement function; it wouldn't resolve at link time.
95263         Reported by Volker Borchert.
95264
95265 2002-05-22  Jim Meyering  <meyering@lucent.com>
95266
95267         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95268         file-type.h.
95269         * lib/file-type.h: New file.
95270         * lib/file-type.c (file_type): New file/function.  Extracted from
95271         diffutils.
95272
95273 2002-04-30  Jim Meyering  <meyering@lucent.com>
95274
95275         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95276
95277 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95278
95279         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95280
95281 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95282
95283         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95284         Do not check for alloca.h (no longer used) or stdbool.h (was never
95285         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95286
95287 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95288
95289         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95290
95291 2002-04-29  Jim Meyering  <meyering@lucent.com>
95292
95293         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95294         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95295         Use AC_FUNC_STRNLEN here instead.
95296
95297         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95298         With autoconf-2.53a, it's part of AC_PROG_CC.
95299
95300 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95301
95302         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95303         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95304
95305 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95306
95307         * lib/sig2str.h, lib/sig2str.c: New files.
95308         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95309
95310 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95311
95312         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95313         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95314         of 127, since 64 is the largest conceivable number for ancient
95315         nonstandard hosts.
95316         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95317
95318 2002-04-28  Jim Meyering  <meyering@lucent.com>
95319
95320         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95321
95322 2002-04-24  Jim Meyering  <meyering@lucent.com>
95323
95324         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95325         (jm_PREREQ): Use it.
95326
95327         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95328         mach/mach.h fcntl.h.
95329         Check for this function: setlocale.
95330
95331 2002-04-24  Jim Meyering  <meyering@lucent.com>
95332
95333         * lib/gettext.h: New file, from Gettext.
95334         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95335         (libfetish_a_SOURCES): Add gettext.h.
95336
95337 2002-04-16  Jim Meyering  <meyering@lucent.com>
95338
95339         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95340         ut_pid, ut_id, ut_exit.
95341
95342 2002-04-16  Jim Meyering  <meyering@lucent.com>
95343
95344         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95345         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95346         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95347
95348 2002-04-12  Jim Meyering  <meyering@lucent.com>
95349
95350         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95351         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95352         existence of the getmntinfo function.  Needed for Darwin 5.3.
95353
95354         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95355         This is necessary at least on Darwin 5.3.
95356
95357         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95358         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95359         strnlen.o in the library, and that makes some versions of ranlib
95360         object.
95361
95362 2002-04-12  Jim Meyering  <meyering@lucent.com>
95363
95364         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95365
95366 2002-04-09  Jim Meyering  <meyering@lucent.com>
95367
95368         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95369         to be more precise.  Rather than saying we're checking whether the
95370         function `works', say what we're testing.
95371         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95372         Reported by Bruno Haible.
95373
95374 2002-03-10  Jim Meyering  <meyering@lucent.com>
95375
95376         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95377         Suggestion from Santiago Vila.
95378
95379 2002-03-08  Jim Meyering  <meyering@lucent.com>
95380
95381         * lib/rename.c: Mention that this wrapper is needed also on
95382         mips-dec-ultrix4.4 systems.
95383
95384 2002-03-02  Jim Meyering  <meyering@lucent.com>
95385
95386         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95387         not HAVE_CLOCK_SETTIME.
95388
95389 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95390
95391         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95392         Check for clock_settime.
95393
95394 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95395
95396         * lib/nanosleep.h: Rename to....
95397         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95398
95399         * lib/gettime.c: New file.
95400         * lib/settime.c: New file.
95401         * lib/stime.c: Remove.
95402
95403         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95404         timespec.h.  Remove nanosleep.h.
95405
95406 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95407
95408         * m4/acl.m4: New file.
95409         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95410         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95411
95412 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95413
95414         * lib/acl.c, lib/acl.h: New files.
95415         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95416
95417 2002-02-24  Jim Meyering  <meyering@lucent.com>
95418
95419         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95420         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95421         cause trouble.  Reported by Nelson Beebe.
95422
95423 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95424
95425         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95426         compilers that don't know that xalloc_die never returns.
95427
95428 2002-02-20  Jim Meyering  <meyering@lucent.com>
95429
95430         * lib/getdate.c: Regenerate using bison-1.33.
95431
95432 2002-02-17  Jim Meyering  <meyering@lucent.com>
95433
95434         * config/config.guess (main): Don't use `head -1'; it's no longer
95435         portable. Use `sed 1q' instead.
95436
95437 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95438
95439         * m4/codeset.m4: Upgrade to gettext-0.11.
95440         * m4/gettext.m4: Upgrade to gettext-0.11.
95441         * m4/glibc21.m4: Upgrade to gettext-0.11.
95442         * m4/iconv.m4: Upgrade to gettext-0.11.
95443         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95444         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95445         * m4/lib-ld.m4: New file, from gettext-0.11.
95446         * m4/lib-link.m4: New file, from gettext-0.11.
95447         * m4/lib-prefix.m4: New file, from gettext-0.11.
95448         * m4/progtest.m4: Upgrade to gettext-0.11.
95449
95450 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95451
95452         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95453         (jm_PREREQ): Use it.
95454
95455 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95456
95457         * lib/posixver.c, lib/posixver.h: New files.
95458         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95459
95460 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95461             Bruno Haible  <bruno@clisp.org>
95462
95463         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95464         (fwrite_success_callback): New declaration.
95465         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95466         print_unicode_char. Call failure callback instead of error.
95467         (fwrite_success_callback): New function.
95468         (exit_failure_callback): New function.
95469         (fallback_failure_callback): New function.
95470         (print_unicode_char): Call unicode_to_mb.
95471
95472 2002-01-26  Jim Meyering  <meyering@lucent.com>
95473
95474         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95475         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95476
95477 2002-01-26  Jim Meyering  <meyering@lucent.com>
95478
95479         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95480
95481 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95482
95483         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95484
95485 2002-01-22  Jim Meyering  <meyering@lucent.com>
95486
95487         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95488         Otherwise, some versions of automake would omit the rule that makes
95489         Makefile from Makefile.in.
95490
95491 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95492
95493         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95494         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95495         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95496         (memcoll): Set errno to zero if there is no error.
95497
95498         * lib/quotearg.c (quotearg_buffer_restyled):
95499         Fix bug with quoting buffers containing NUL when backslashing escapes.
95500         This bug was exposed by the other changes in this patch.
95501         (quotearg_n_options): New arg ARGSIZE.
95502         All callers changed.
95503         (quoting_options_from_style): New function.
95504         (quotearg_n_style): Use it.
95505         (quotearg_n_style_mem): New function.
95506
95507         * lib/quotearg.h (quotearg_n_style_mem): New function.
95508
95509 2002-01-19  Jim Meyering  <meyering@lucent.com>
95510
95511         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95512         Remove useless quotes: DF_PROG="df".
95513         * m4/strnlen.m4: New file.
95514
95515 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95516
95517         * lib/backupfile.c (ISDIGIT): Comment fix.
95518         * lib/getdate.y (ISDIGIT): Likewise.
95519         * lib/posixtm.c (ISDIGIT, year): Likewise.
95520         * lib/strverscmp.c (ISDIGIT): Likewise.
95521         * lib/userspec.c (ISDIGIT): Likewise.
95522
95523 2002-01-16  Jim Meyering  <meyering@lucent.com>
95524
95525         * lib/getdate.y: Add three semicolons, each just before a closing
95526         brace. Bison (as of version 1.31) no longer papers over that mistake.
95527
95528 2002-01-05  Jim Meyering  <meyering@lucent.com>
95529
95530         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95531
95532 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95533
95534         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95535         not silently exit merely because the output buffer happens to
95536         have nothing pending.
95537
95538 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95539
95540         See the big note in ../ChangeLog.
95541         * lib/human.c (suffixes): Prefer K to k for 1024.
95542         (generate_suffix_backwards): New function.
95543         (human_readable_inexact): Use it.
95544         * lib/xstrtol.c (__xstrtol): If there is no number but there
95545         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95546         Accept 'K' as well as 'k'.
95547
95548 2001-12-15  Jim Meyering  <meyering@lucent.com>
95549
95550         * lib/regex.h (__restrict_arr): Update from libc.
95551
95552         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95553         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95554         (STREQ): Define.
95555
95556 2001-12-14  Jim Meyering  <meyering@lucent.com>
95557
95558         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95559         Suggestion from Bruno Haible.
95560
95561 2001-12-10  Jim Meyering  <meyering@lucent.com>
95562
95563         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95564         xrealloc, Instead, include "xalloc.h".
95565         (initbuffer): Don't cast xmalloc return value to char*.
95566         (readline): Reword comment.
95567         Don't cast xrealloc return value to char*
95568         Return NULL, not 0.
95569
95570 2001-12-09  Jim Meyering  <meyering@lucent.com>
95571
95572         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95573         about `signed and unsigned type in conditional expression'.
95574         * lib/posixtm.c (posix_time_parse): Likewise.
95575
95576         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95577
95578         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95579         to avoid a pedantic warning.
95580
95581         * lib/getstr.c: Don't include assert.h.
95582         (getstr): Remove warning-evoking assertions.
95583         Return -1 if offset parameter is out of bounds.
95584         Change the type of a local from int to size_t.
95585
95586         * lib/strftime.c (my_strftime_localtime_r): Include this function
95587         definition in the `#if ! HAVE_TM_GMTOFF' block.
95588
95589         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95590         Include xalloc.h instead.
95591
95592 2001-12-02  Jim Meyering  <meyering@lucent.com>
95593
95594         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95595         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95596         included.
95597
95598         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95599         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95600
95601 2001-11-30  Akim Demaille  <akim@epita.fr>
95602
95603         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95604         before being defined.
95605
95606 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95607
95608         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95609         First arg is int, not unsigned.
95610         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95611         (SIZE_MAX, UINT_MAX): New macros.
95612         (quotearg_n_options): Abort if N is negative.
95613         Avoid overflow check on hosts where size_t is 64 bits and int
95614         is 32 bits, as overflow is impossible there.
95615         Fix off-by-one typo that caused unnecessary reallocation.
95616
95617 2001-11-27  Jim Meyering  <meyering@lucent.com>
95618
95619         * lib/tempname.c: Merge with version from libc.
95620         * lib/regex.c: Likewise.
95621
95622         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95623         systems for which STDC_HEADERS is 0, it was not included, resulting in
95624         a warning about an integer-to-pointer conversion problem with getenv.
95625         Reported by Volker Borchert.
95626
95627 2001-11-26  Jim Meyering  <meyering@lucent.com>
95628
95629         * lib/gtod.h: Remove file.
95630         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95631         * lib/gettimeofday.c: Don't include gtod.h.
95632         (GTOD_init): Remove function.
95633         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95634         Suggestion from Volker Borchert.
95635
95636 2001-11-23  Jim Meyering  <meyering@lucent.com>
95637
95638         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95639         it.
95640         * lib/hash.c (struct hash_table): Define it here instead.
95641
95642 2001-11-22  Jim Meyering  <meyering@lucent.com>
95643
95644         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95645
95646 2001-11-20  Jim Meyering  <meyering@lucent.com>
95647
95648         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95649         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95650
95651 2001-11-19  Jim Meyering  <meyering@lucent.com>
95652
95653         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95654         directory.  Use "conftestXXXXXX" as the template.
95655         Suggestion from Paul Eggert.
95656
95657         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95658         immediately, so the test doesn't mistakenly hit the max-open-files
95659         limit.
95660
95661 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95662
95663         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95664         (TEMPORARIES): New macro.
95665         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95666         removes an artificial limitation (e.g. HP-UX 10.20, where
95667         TMP_MAX is 17576).
95668
95669 2001-11-18  Jim Meyering  <meyering@lucent.com>
95670
95671         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95672
95673 2001-11-18  Jim Meyering  <meyering@lucent.com>
95674
95675         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95676         on SunOS 4.
95677
95678         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95679         files will be created before anything else.
95680
95681 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95682
95683         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95684         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95685
95686 2001-11-17  Jim Meyering  <meyering@lucent.com>
95687
95688         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95689         Prompted by a report from Bob Proulx.
95690
95691         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95692         Instead, require UTILS_FUNC_MKSTEMP.
95693
95694 2001-11-17  Jim Meyering  <meyering@lucent.com>
95695
95696         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95697         Now, that's done as part of AC_FUNC_STRTOD.
95698
95699 2001-11-17  Jim Meyering  <meyering@lucent.com>
95700
95701         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95702         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95703         rather than group writable.  Patch by Juan F. Codagnone.
95704
95705         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95706         xrealloc, Instead, include "xalloc.h".
95707
95708         * lib/mountlist.c: Include unlocked-io.h after all system headers.
95709         Remove explicit declarations of xmalloc, xrealloc,
95710         and xstrdup.  Instead, include "xalloc.h".
95711
95712         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
95713         unlocked-io.h.
95714         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
95715         Likewise.
95716         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
95717
95718         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
95719         Reported by Padraig Brady.
95720
95721         * lib/mkstemp.c: #undef mkstemp.
95722         Include config.h.
95723         (rpl_mkstemp): Rename from mkstemp.
95724         Protoize.
95725
95726 2001-11-16  Jim Meyering  <meyering@lucent.com>
95727
95728         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
95729         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
95730         determine the amount of total physical memory, use pstat_getstatic.
95731         HPUX-11 doesn't define _SC_PHYS_PAGES.
95732         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
95733         If sysconf couldn't be used to determine the amount of available
95734         physical memory, use both pstat_getstatic and pstat_getdynamic.
95735         Based on a patch from Bob Proulx.
95736
95737 2001-11-10  Jim Meyering  <meyering@lucent.com>
95738
95739         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
95740         (jm_PREREQ): Use it.
95741
95742 2001-11-09  Jim Meyering  <meyering@lucent.com>
95743
95744         * m4/jm-macros.m4: Require autoconf-2.52f.
95745         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
95746         Use these AC_-prefixed names, not the AM_-prefixed ones.
95747
95748         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
95749
95750 2001-11-05  Jim Meyering  <meyering@lucent.com>
95751
95752         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
95753
95754 2001-11-04  Jim Meyering  <meyering@lucent.com>
95755
95756         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
95757         $DEFS.
95758
95759 2001-11-03  Jim Meyering  <meyering@lucent.com>
95760
95761         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
95762         of AC_DEFUN.
95763
95764         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
95765         know the name of the variable in the macro definition.
95766
95767 2001-11-03  Jim Meyering  <meyering@lucent.com>
95768
95769         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
95770         in argmatch_to_argument call.
95771
95772         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
95773         argument.
95774
95775         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
95776         e.g., a fault due to an attempt to free a NULL pointer.
95777
95778 2001-11-01  Jim Meyering  <meyering@lucent.com>
95779
95780         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
95781         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
95782
95783 2001-11-01  Jim Meyering  <meyering@lucent.com>
95784
95785         * lib/dirfd.c, lib/dirfd.h: New files.
95786         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
95787
95788         * lib/hash.c (hash_print) [TESTING]: Clean up.
95789
95790 2001-10-22  Paul Eggert  <eggert@twinsun.com>
95791
95792         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
95793         to avoid a warning if -Wall.
95794
95795 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
95796
95797         * README: New file
95798         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
95799         (per RMS's instructions, this is now the canonical source)
95800         * lgpl/, gpl/: New directories.
95801
95802 2001-10-21  Paul Eggert  <eggert@twinsun.com>
95803
95804         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
95805
95806 2001-10-21  Jim Meyering  <meyering@lucent.com>
95807
95808         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
95809         this code would end up calling gettext even in packages built
95810         with --disable-nls.
95811         * lib/getopt.c (_): Likewise.
95812         * lib/regex.c (_): Likewise.
95813
95814 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95815
95816         * m4/error.m4 (jm_PREREQ_ERROR):
95817         Do not invoke AC_CHECK_FUNCS with strerror_r, as
95818         AC_FUNC_STRERROR_R does that.
95819         Check for strerror declaration.
95820
95821         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
95822         are supposed to have them these days.
95823         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
95824         Merge changes from latest Autoconf CVS.
95825         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
95826         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
95827         POSIX decided to standardize on the int flavor of strerror_r.
95828
95829 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95830
95831         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
95832         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
95833         Use strerror_r that is only a macro, even if it is not a function.
95834         (strerror): Check for HAVE_DECL_STRERROR before declaring.
95835         (private_strerror): Use prototypes, not old-style function definition.
95836         (print_errno_message): New function.
95837         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
95838         char*-flavored one.
95839         (error_tail, error, error_at_line): Use it.
95840
95841 2001-10-11  Jim Meyering  <meyering@lucent.com>
95842
95843         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
95844         and quote_n (1, ... to avoid clobbering a buffer.
95845
95846 2001-10-05  Jim Meyering  <meyering@lucent.com>
95847
95848         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
95849         hash-pjw.h.
95850         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
95851         * lib/hash-pjw.h: New file.
95852
95853 2001-09-30  Jim Meyering  <meyering@lucent.com>
95854
95855         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
95856         `struct fsstat' has the `f_fstypename' member.
95857         Use that to define FS_TYPE, which is now used to make
95858         the getfsstat link test tighter.
95859
95860 2001-09-30  Jim Meyering  <meyering@lucent.com>
95861
95862         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
95863         Include <sys/ucred.h>, for Apple Darwin.
95864         Include sys/mount.h and sys/fs_types.h only if available.
95865         (FS_TYPE): Define.
95866         (read_filesystem_list): Use FS_TYPE.
95867
95868 2001-09-29  Paul Eggert  <eggert@twinsun.com>
95869
95870         * lib/exclude.c (excluded_filename): 0 -> false, since it's
95871         a boolean context.
95872
95873 2001-09-29  Jim Meyering  <meyering@lucent.com>
95874
95875         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95876         [one-argument getmntent function]): Include stdio.h before mntent.h.
95877         SunOS 4.1.x needs it for the declaration of `FILE'.
95878         Patch by Volker Borchert.
95879
95880         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95881         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95882         sys/fs_types.h, and make the link-test for getfsstat guard #include
95883         directives with appropriate #if HAVE_*_H tests so that we can
95884         detect getfsstat on Apple Darwin1.3.7 systems.
95885         Reported by Nelson Beebe.
95886         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
95887
95888 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95889
95890         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95891         #defines strtoimax.  Also treat the other strto* functions
95892         like strtoimax.
95893
95894         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95895         Check for strtoul and strtoumax,
95896         as those declarations are made even in the signed case.
95897         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
95898         Likewise, for strtol and strtoimax.
95899
95900 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95901
95902         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95903         #defines strtoimax.  Also treat the other strto* functions
95904         like strtoimax.
95905
95906         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
95907         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
95908         (strtoimax, strtoumax): Do not declare if already defined as a macro.
95909
95910 2001-09-26  Jim Meyering  <meyering@lucent.com>
95911
95912         Most macros in unlocked-io.h had the wrong number of arguments.
95913         * lib/gen-uio: New script.
95914         (USE_UNLOCKED_IO): Define to 1 if not already defined.
95915         * lib/unlocked-io.hin: Remove file.
95916         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
95917         rather than trying to embed it here.
95918         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
95919         Reported by Padraig Brady.
95920
95921 2001-09-25  Volker Borchert  <bt@teknon.de>
95922
95923         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
95924         `result'.
95925
95926 2001-09-24  Jim Meyering  <meyering@lucent.com>
95927
95928         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
95929
95930 2001-09-23  Jim Meyering  <meyering@lucent.com>
95931
95932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
95933         instead of the mere test for existence of mntent.h.  The latter
95934         would get a false-positive on AIX 3.4 systems.
95935         In the outer getmntent if-block, don't die if neither of the getmntent
95936         tests succeeds.  Instead, just fall through and continue with the
95937         remaining tests.
95938
95939 2001-09-23  Jim Meyering  <meyering@lucent.com>
95940
95941         * lib/mountlist.c: Remove useless parentheses in #if directives.
95942         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
95943         the deprecated MOUNTED symbol is no longer defined in mntent.h.
95944
95945 2001-09-22  Jim Meyering  <meyering@lucent.com>
95946
95947         * m4/gettext.m4: New file.  From gettext.
95948         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
95949         * m4/progtest.m4: Likewise
95950         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
95951         * m4/glibc21.m4: Likewise.
95952
95953         * m4/libintl.m4: Remove.  No longer used.
95954
95955 2001-09-22  Jim Meyering  <meyering@lucent.com>
95956
95957         * lib/localcharset.c: Update from latest gettext.
95958         * lib/config.charset: Likewise.
95959
95960 2001-09-20  Jim Meyering  <meyering@lucent.com>
95961
95962         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
95963         strtoimax.
95964         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
95965         strtoumax.
95966
95967 2001-09-20  Jim Meyering  <meyering@lucent.com>
95968
95969         * lib/xstrtol.c (strtoimax): Guard declaration with
95970         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
95971         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
95972         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
95973         (strtoumax): Likewise, for completeness (it wasn't necessary).
95974
95975 2001-09-17  Paul Eggert  <eggert@twinsun.com>
95976
95977         * lib/strtoimax.c (HAVE_LONG_LONG):
95978         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
95979         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
95980         to work around bug in IBM C compiler.
95981
95982 2001-09-17  Jim Meyering  <meyering@lucent.com>
95983
95984         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
95985         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
95986         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
95987         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
95988         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
95989         whenever the right hand side need not be expanded by the shell.
95990
95991 2001-09-16  Paul Eggert  <eggert@twinsun.com>
95992
95993         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
95994         library.  It's not correct, as some older glibcs are buggy.
95995         fnmatch wasn't fixed until glibc 2.2.
95996
95997         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
95998         special shell magic here.
95999
96000 2001-09-16  Jim Meyering  <meyering@lucent.com>
96001
96002         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96003         * m4/jm-macros.m4: Require it.
96004
96005 2001-09-16  Jim Meyering  <meyering@lucent.com>
96006
96007         * lib/mkdir.c: New file.
96008
96009 2001-09-15  Jim Meyering  <meyering@lucent.com>
96010
96011         * m4/jm-macros.m4: Check for help2man.
96012
96013 2001-09-11  Jim Meyering  <meyering@lucent.com>
96014
96015         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96016         The body, by Paul Eggert, was moved here from configure.in.
96017         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96018
96019 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96020
96021         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96022         (jm_PREREQ): Use it.
96023
96024 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96025
96026         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96027         Use ssize_t, not int, to store result of readlink.
96028         Check for ssize_t overflow as well as size_t overflow,
96029         as POSIX says the result of readlink is implementation-defined
96030         when ssize_t overflows.
96031         Remove unnecessary cast to char*.
96032         Use free+malloc instead of realloc, as the storage doesn't need
96033         to be preserved and it's clearer and can be more efficient that way.
96034         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96035         * lib/xreadlink.h (xreadlink): Update prototype.
96036
96037 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96038
96039         * lib/xgetcwd.c: Revert some of the previous change; intead,
96040         fix the HAVE_GETCWD_NULL code to behave more like the
96041         !HAVE_GETCWD_NULL code used to.
96042
96043         Include "xalloc.h".
96044         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96045         invoke xalloc_die.
96046
96047 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96048
96049         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96050         sys/param.h, as pathmax.h includes them.
96051
96052 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96053
96054         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96055         (jm_PREREQ_XGETCWD): New macro.
96056
96057         * m4/getcwd.m4: New file.
96058
96059 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96060
96061         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96062         like the HAVE_GETCWD_NULL code.
96063         Include pathmax.h if not HAVE_GETCWD.
96064         Do not include xalloc.h.
96065         (INITIAL_BUFFER_SIZE): New symbol.
96066         Do not use xmalloc / xrealloc, since the caller is responsible for
96067         handling errors.  Preserve errno around `free' during failure.
96068         Do not overrun buffer when using getwd.
96069
96070 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96071
96072         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96073         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96074         getcwd (NULL, 0).
96075
96076 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96077
96078         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96079         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96080         spotted by Jim Meyering.
96081
96082 2001-09-03  Jim Meyering  <meyering@lucent.com>
96083
96084         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96085         failure.
96086
96087 2001-09-02  Jim Meyering  <meyering@lucent.com>
96088
96089         * lib/error.c: Update from GNU libc.
96090
96091 2001-09-01  Jim Meyering  <meyering@lucent.com>
96092
96093         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96094         Used by df.
96095
96096 2001-09-01  Jim Meyering  <meyering@lucent.com>
96097
96098         * lib/xreadlink.c: New file.
96099         * lib/xreadlink.h: New file.
96100         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96101         xreadlink.h.
96102
96103         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96104         doesn't conflict with sparc Solaris 7's definition in
96105         /usr/include/sys/int_types.h.
96106
96107         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96108         files.
96109         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96110         and strncasecmp as r-values.  Unixware didn't have declarations.
96111
96112 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96113
96114         * lib/xstrtol.h: Add copyright notice.
96115         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96116         LONGINT_INVALID_SUFFIX_CHAR.
96117
96118 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96119
96120         * lib/xstrtol.c (strtoimax): New decl.
96121
96122 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96123
96124         * lib/xgetcwd.c: Don't include pathmax.h.
96125         Include stdlib.h and unistd.h if available.
96126         Include xalloc.h.
96127         (xmalloc, xstrdup, free): Remove decls.
96128         (xgetcwd): Don't assume sizes fit in unsigned.
96129         Check for overflow when computing sizes.
96130         Simplify reallocation code.
96131
96132 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96133
96134         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96135         a directory's st_size can have an arbitrary value, so the old
96136         usage could waste an arbitrary amount of memory.  All uses
96137         changed.
96138         * lib/savedir.h: Update prototype.
96139
96140 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96141
96142         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96143
96144         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96145         old strtoimax.c.
96146
96147         Also, make the following further changes to make this file's
96148         configuration more similar to that of strtol.c:
96149         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96150         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96151         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96152         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96153         changed to signed values.
96154
96155         And make the following changes as well:
96156         Fix copyright notice, as 1999 was missing.
96157         (verify): New macro.
96158         (strtoimax): Check sizes at compile-time, not run-time.
96159         Prefer strtol to strtoll if both work.
96160         (main): Remove; it was not that useful and was a pain to maintain.
96161
96162         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96163
96164 2001-08-31  Jim Meyering  <meyering@lucent.com>
96165
96166         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96167         Use an initial, malloc'd, buffer of length 128 rather than
96168         a statically allocated one of length 1024.
96169
96170 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96171
96172         Simplify code, partly by assuming autoconf 2.52 semantics.
96173
96174         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96175
96176         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96177         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96178         All uses removed.
96179         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96180         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96181         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96182         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96183         jm_AC_HEADER_INTTYPES_H.
96184         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96185
96186         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96187
96188         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96189         Quote first arg of AC_DEFUN.
96190         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96191         since they are needed to parse the include file even if we need
96192         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96193         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96194         but with opposite signedness.
96195
96196 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96197
96198         Merge 'exclude' changes from tar 1.13.22.
96199         This fixes one or two unlikely storage allocation overflow bugs,
96200         but doesn't change user-visible behavior otherwise.
96201
96202 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96203
96204         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96205         (jm_PREREQ_EXCLUDE): New macro.
96206
96207 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96208
96209         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96210         tm to be declared.
96211
96212 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96213
96214         * lib/hash.c: Remove '2001' from copyright notice.
96215
96216 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96217
96218         * lib/full-write.h: New file.
96219         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96220         * lib/full-write.c: Correct credits, as cccp.c no longer
96221         exists and anyway it was so heavily changed from the old cccp
96222         code as to be unrecognizable.  Include full-write.h.
96223         (full_write): Return size_t, with short writes meaning failure.
96224         All callers changed.  This fixes a bug with large buffers
96225         on 64-bit hosts.
96226         * lib/utime.c: Include full-write.h.
96227
96228 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96229
96230         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96231         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96232         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96233         Include if available.
96234         (<xalloc.h>): Include
96235         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96236         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96237         collide with FNM macros.
96238         (struct patopts): New struct.
96239         (struct exclude): Use it, as exclude patterns now come with options.
96240         (new_exclude): Support above changes.
96241         (new_exclude, add_exclude_file):
96242         Initial size must now be a power of two to simplify overflow checking.
96243         (free_exclude, fnmatch_no_wildcards): New function.
96244         (excluded_filename): No longer requires options arg, as the options
96245         are determined by add_exclude.  Now returns bool, not int.
96246         (excluded_filename, add_exclude):
96247         Add support for the fancy new exclusion options.
96248         (add_exclude, add_exclude_file): Now takes int options arg.
96249         Check for arithmetic overflow when computing sizes.
96250         (add_exclude_file): xrealloc might modify errno, so don't
96251         realloc until after errno might be used.
96252
96253         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96254         New macros.
96255         (free_exclude): New decl.
96256         (add_exclude, add_exclude_file): Now takes int options arg.
96257         (excluded_filename): No longer requires options arg, as the options
96258         are determined by add_exclude.  Now returns bool, not int.
96259
96260 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96261
96262         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96263
96264 2001-08-27  Jim Meyering  <meyering@lucent.com>
96265
96266         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96267
96268         * lib/version-etc.c (N_): Remove definition.
96269         Revert most of last change.
96270         Instead, simply don't mark the `Copyright...' string for translation.
96271         Based on advice from Paul Eggert.
96272
96273         * lib/strtoxmax.c: Tweak comment.
96274
96275 2001-08-26  Jim Meyering  <meyering@lucent.com>
96276
96277         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96278
96279         * m4/xstrtoimax.m4: New file.
96280         * m4/xstrtoumax.m4: Add comments explaining why we
96281         AC_REPLACE_FUNCS(strtol).
96282
96283 2001-08-26  Jim Meyering  <meyering@lucent.com>
96284
96285         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96286         of copyright with `%s' so translators don't get an untranslated
96287         message in 2002.
96288         (COPYRIGHT_YEAR): Define.
96289         (version_etc): Use fprintf rather than fputs.
96290         Suggestion from Ulrich Drepper.
96291
96292         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96293
96294         * lib/strtoll.c: New file, from GNU libc.
96295         * lib/xstrtoimax.c: New file.
96296
96297         * lib/xstrtol.h: Add xstrtoimax.
96298         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96299         * lib/strtoimax.c: New file.  Likewise, but first define
96300         STRTOUXMAX_SIGNED.
96301
96302         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96303         ...
96304         * lib/strtoxmax.c: ... then renamed to this.
96305
96306 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96307
96308         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96309         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96310         (jm_AC_TYPE_INTMAX_T): New macro.
96311         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96312
96313         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96314
96315         * m4/longlong.m4: Renamed from ulonglong.m4.
96316         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96317         * m4/uintmax_t.m4: Removed.
96318
96319 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96320
96321         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96322         Port to Solaris 8, where 'sed' requires a space after the 'r'
96323         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96324         Redirect output to $tmp just once.
96325
96326 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96327
96328         * lib/addext.c (<errno.h>): Include.
96329         (errno): Declare if not defined.
96330         (addext): Work correctly when pathconf returns -1 and leaves
96331         errno alone because there is no limit.  Also, work even if
96332         pathconf returns a value greater than SIZE_MAX.
96333
96334 2001-08-12  Jim Meyering  <meyering@lucent.com>
96335
96336         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96337         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96338         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96339         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96340         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96341         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96342         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96343         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96344         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96345         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96346         utime.m4, utimes.m4, xstrtoumax.m4:
96347         Quote the first argument in each use of AC_DEFUN.
96348
96349 2001-08-12  Jim Meyering  <meyering@lucent.com>
96350
96351         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96352         Simply `return getcwd (NULL, 0);'.
96353         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96354         Use 1300 as initial value for length, not PATH_MAX.
96355
96356         * lib/pathmax.h: Clean up cpp syntax.
96357
96358 2001-08-12  Jim Meyering  <meyering@lucent.com>
96359
96360         * lib/gettimeofday.c: New file.
96361         * lib/gtod.h: New file.
96362         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96363
96364 2001-08-05  Jim Meyering  <meyering@lucent.com>
96365
96366         * m4/jm-macros.m4: Require autoconf-2.52.
96367
96368 2001-08-04  Jim Meyering  <meyering@lucent.com>
96369
96370         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96371         stmt, to get in sync with glibc.
96372
96373 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96374
96375         The following changes are from gettext 0.10.39 as maintained by
96376         Bruno Haible.
96377
96378         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96379         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96380         with inverted sense.  All uses changed.
96381
96382         * lib/mbswidth.c: Don't include <limits.h>.
96383         Include <stdlib.h> and <string.h> unconditionally.
96384         (iswcntrl, mbsinit, ISCNTRL): New macros.
96385         (mbsnwidth): Use K&R style function declarations.
96386         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96387         can optimize it when MB_CUR_MAX == 1.
96388         The width of control characters is zero, not 1.
96389
96390 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96391
96392         The following changes are from gettext 0.10.39 as maintained by
96393         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96394
96395         * m4/codeset.m4: Upgrade to serial AM1.
96396         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96397         all uses changed.  Quote first arg of AC_DEFUN.
96398         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96399
96400         * m4/iconv.m4: Upgrade to serial AM2.
96401         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96402         Add --with-libconv-prefix.
96403         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96404         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96405         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96406         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96407         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96408
96409         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96410         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96411         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96412         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96413         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96414         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96415         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96416         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96417         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96418
96419         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96420         string.h any more.
96421
96422         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96423         not the default value.
96424
96425         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96426         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96427         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96428         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96429         Also check for iswcntrl, used for wcwidth fallback.
96430         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96431         to Autoconf 2.13.
96432
96433 2001-08-03  Jim Meyering  <meyering@lucent.com>
96434
96435         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96436         as it was in the original.  Reported by Paul Eggert.
96437
96438 2001-07-16  Jim Meyering  <meyering@lucent.com>
96439
96440         * m4/gettimeofday.m4: New file.
96441         Prompted by a report from Bernhard Baehr.
96442
96443 2001-07-15  Jim Meyering  <meyering@lucent.com>
96444
96445         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96446         stuff. Now it's in ../Makefile.cfg.
96447
96448 2001-07-15  Jim Meyering  <meyering@lucent.com>
96449
96450         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96451         (BUILT_SOURCES): Add unlocked-io.h.
96452         (io_functions): Define.
96453         (unlocked-io.h): New rule.
96454         (DISTCLEANFILES): Add unlocked-io.h.
96455         (all-local): Depend on unlocked-io.h, to ensure it is created.
96456
96457         * lib/unlocked-io.hin: New file
96458
96459         * lib/regex.c: Update from glibc.
96460
96461 2001-07-05  Jim Meyering  <meyering@lucent.com>
96462
96463         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96464         recommendation.
96465         (libfetish_a_SOURCES): Put all .h files here instead.
96466         Remove a thus-exposed (better checks in automake) duplicate and
96467         two unnecessary .h files.
96468
96469 2001-07-04  Jim Meyering  <meyering@lucent.com>
96470
96471         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96472         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96473         distcheck failure.
96474
96475 2001-07-02  Jim Meyering  <meyering@lucent.com>
96476
96477         The following changes were prompted by suggestions from Bruno Haible.
96478
96479         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96480         is now generated.
96481         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96482         definition of EXTRA_DIST.
96483         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96484         ensure that the generated file is created/updated whenever the list
96485         of $(unlocked_functions) is changed.
96486         (jm-glibc-io.m4): New rule.
96487         (unlocked-io.h): New rule -- currently unused.
96488
96489 2001-06-24  Jim Meyering  <meyering@lucent.com>
96490
96491         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96492         unmatched right bracket, rather than kludging it with an extra,
96493         falsely-matching quote in a comment.  Patch by Akim Demaille.
96494
96495 2001-06-11  Jim Meyering  <meyering@lucent.com>
96496
96497         * lib/regex.c: Update from GNU libc.
96498
96499 2001-05-27  Jim Meyering  <meyering@lucent.com>
96500
96501         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96502         Check for ut_type in struct utmp.
96503
96504 2001-05-27  Jim Meyering  <meyering@lucent.com>
96505
96506         * lib/readutmp.h (UT_TYPE): Define.
96507
96508 2001-05-24  Jim Meyering  <meyering@lucent.com>
96509
96510         * lib/argmatch.c: Include "quote.h".
96511         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96512         quote function.  Reported by Göran Uddeborg.
96513
96514 2001-05-22  Jim Meyering  <meyering@lucent.com>
96515
96516         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96517         now that we use the package-supplied version unconditionally.
96518         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96519
96520 2001-05-21  Jim Meyering  <meyering@lucent.com>
96521
96522         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96523         shell syntax errors.
96524
96525 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96526
96527         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96528
96529 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96530
96531         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96532         Don't bother to check library strftime, since
96533         we'll be using our own my_strftime function anyway.
96534         Define my_strftime instead of strftime.
96535
96536 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96537
96538         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96539         which is not yet declared.
96540
96541 2001-05-15  Jim Meyering  <meyering@lucent.com>
96542
96543         * m4/regex.m4: Use proper quoting so brackets appear in the test
96544         program.
96545         Reported by, and with help from, Bruno Haible.
96546
96547 2001-05-13  Jim Meyering  <meyering@lucent.com>
96548
96549         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96550         undefined.
96551
96552 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96553
96554         dirname code cleanup.  base_name now behaves more compatibly
96555         with POSIX basename when given file names that have trailing
96556         slashes, and similarly for dir_name.  Add new primitives
96557         base_len and dir_len.  Put the directory-name-related decls
96558         into dirname.h.
96559
96560         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96561         * lib/backupfile.c (base_name): Likewise.
96562         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96563         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96564         * lib/makepath.c (strip_trailing_slashes): Likewise.
96565         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96566         ISSLASH): Likewise.
96567         * lib/rename.c (strip_trailing_slashes): Likewise.
96568         * lib/same.c (base_name): Likewise.
96569         * lib/stripslash.c (ISSLASH): Likewise.
96570
96571         * lib/addext.c: Include <dirname.h> after size_t is defined.
96572         * lib/backupfile.c: Likewise.
96573
96574         * lib/addext.c (addext): Use base_len to trim redundant
96575         trailing slashes instead of doing it ourselves.
96576         But do not trim the last slash if it is not redundant.
96577
96578         * lib/backupfile.c (find_backup_file_name,
96579         max_backup_version): Use base_len instead of rolling it ourselves.
96580         Handle the case of "" and (on DOS) "C:" correctly.
96581
96582         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96583         needed. Include <string.h>, <dirname.h>.
96584         (base_name): Allow file names ending in slashes, other than names
96585         that are all slashes.  In this case, return the basename followed
96586         by the slashes.  This is more general, and can be used in places
96587         where the original base_name purposely had an assertion failure.
96588         (base_len): New function.
96589
96590         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96591         Do not include <assert.h>; no longer needed.
96592         Include xalloc.h.
96593         (memrchr): Remove decl.
96594         (dir_name_r): Remove.
96595         (dir_len): Renamed from dirlen.  All callers changed.
96596         Rewrite in terms of base_name, for simplicity and consistency.
96597         (dir_name): Never return NULL.  All callers changed.
96598         Do not include <stdlib.h> in test program; no longer needed.
96599         return 0; is fine for test program.
96600
96601         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96602         New macros.
96603         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96604
96605         * lib/path-concat.c (path_concat): Use base_len to compute
96606         base length, not strlen; this means we cannot rely on memcpy
96607         to null-terminate.
96608
96609         * lib/same.c (STREQ): Remove.
96610         (same_name): Handle the case where the basename ends in trailing '/'.
96611
96612         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96613         a slash was stripped.  Do not strip the last slash after a
96614         file system prefix.
96615
96616 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96617
96618         * lib/Makefile.am (libfetish_a_SOURCES):
96619         Add strftime.c, since we now compile it on all hosts.
96620
96621         * lib/strftime.c (my_strftime):
96622         Define to nstrftime if emacs, but only if my_strftime is not defined.
96623         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96624         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96625         Add one more extra argument: a nanoseconds value.
96626         All uses changed.
96627         (ns): New macro.
96628         (my_strftime function): Add %N format.
96629         (emacs_strftimeu): Renamed from emacs_strftime,
96630         with extra ut argument.
96631
96632 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96633
96634         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96635
96636 2001-04-21  Jim Meyering  <meyering@lucent.com>
96637
96638         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96639         doesn't interfere.
96640
96641 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96642
96643         * m4/ftruncate.m4: Check for chsize.
96644         Link with ftruncate.o unconditionally if ftruncate is missing.
96645         This was required when cross-compiling to i586-mingw32msvc.
96646
96647 2001-04-08  Jim Meyering  <meyering@lucent.com>
96648
96649         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96650         recomputed; that's necessary when the offset spans a DST transition.
96651         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96652
96653 2001-04-02  Jim Meyering  <meyering@lucent.com>
96654
96655         * lib/regex.h, regex.c: Update from GNU libc.
96656
96657 2001-03-24  Jim Meyering  <meyering@lucent.com>
96658
96659         * m4/jm-macros.m4: Require autoconf-2.49d.
96660
96661 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96662
96663         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96664
96665 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96666
96667         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96668
96669 2001-03-17  Jim Meyering  <meyering@lucent.com>
96670
96671         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96672         now that the version in autoconf is equivalent.
96673         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96674
96675         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96676         Suggestion from Akim Demaille.
96677
96678         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96679         (jm_PREREQ_TEMPNAME): New function.
96680
96681 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96682
96683         * lib/tempname.c (uint64_t): Define to uintmax_t if
96684         not defined, and if UINT64_MAX is not defined.
96685         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96686         Reported by John David Anglin.
96687
96688 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96689
96690         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96691         resolve alias if codeset is empty.
96692         * lib/config.charset (BeOS): Use wildcard syntax.
96693
96694 2001-03-13  Jim Meyering  <meyering@lucent.com>
96695
96696         * lib/path-concat.c (path_concat)
96697         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96698         concatenating e.g., `C:' and `foo'.
96699         From Bruno Haible.
96700
96701 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96702
96703         * lib/localcharset.c (locale_charset): Don't use
96704         setlocale(LC_CTYPE,NULL). Don't return NULL.
96705         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96706
96707 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96708
96709         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
96710         support for DOS/DJGPP.
96711
96712 2001-03-01  Paul Eggert  <eggert@twinsun.com>
96713
96714         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
96715         lacks mkstemp.  Compile our own tempname.c if we compile our own
96716         mkstemp.c, as mkstemp relies on tempname.
96717
96718 2001-03-01  Jim Meyering  <meyering@lucent.com>
96719
96720         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
96721         AH_VERBATIM really does output its argument verbatim.
96722
96723 2001-02-28  Paul Eggert  <eggert@twinsun.com>
96724
96725         * lib/Makefile.am (libfetish_a_SOURCES):
96726         Add dup-safer.c, fopen-safer.c.
96727         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
96728
96729         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
96730         * lib/unistd-safer.h: New files.
96731
96732 2001-02-25  Paul Eggert  <eggert@twinsun.com>
96733
96734         The mkstemp replacement is taken from glibc 2.2.2, with some
96735         portability fixes for use outside glibc, as follows:
96736
96737         * lib/tempname.c (struct_stat64): New macro.
96738         (direxists, __gen_tempname): Use it.
96739         This avoids a portability problem with Solaris 8.
96740
96741         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
96742         (<stddef.h>, <stdint.h>, <string.h>):
96743         Include only if STDC_HEADERS || _LIBC.
96744         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
96745         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
96746         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
96747         (__set_errno): Define this macro if <errno.h> doesn't.
96748         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
96749         Define these macros if <stdio.h> doesn't.
96750         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
96751         Define these macros if <sys/stat.h>
96752         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
96753         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
96754         __xstat64): Define if not _LIBC.
96755         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
96756         (__gen_tempname): Invoke gettimeofday only if
96757         HAVE_GETTIMEOFDAY || _LIBC;
96758         otherwise, fall back on plain "time".
96759         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
96760
96761         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
96762
96763         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
96764
96765 2001-02-18  Paul Eggert  <eggert@twinsun.com>
96766
96767         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
96768
96769 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96770
96771         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
96772         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
96773         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
96774         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96775
96776 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96777
96778         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
96779         Remove workaround macros for hosts that have mbrtowc but not
96780         mbstate_t, as we now insist on proper declarations for both
96781         before using mbrtowc.
96782
96783 2001-02-17  Jim Meyering  <meyering@lucent.com>
96784
96785         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
96786         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
96787         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
96788         UnixWare 7.1.1.
96789
96790         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
96791         rather than AC_CACHE_VAL.
96792
96793 2001-02-17  Jim Meyering  <meyering@lucent.com>
96794
96795         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
96796         around included file name.
96797
96798         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
96799
96800         * lib/strftime.c: Update from GNU libc (the only changes were to
96801         comments).
96802
96803 2001-02-17  Jim Meyering  <meyering@lucent.com>
96804
96805         * lib/regex.c: Update from libc.
96806
96807 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
96808
96809         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
96810         clash.
96811
96812 2001-02-16  Paul Eggert  <eggert@twinsun.com>
96813
96814         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
96815         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
96816         Reported by Mark Hounschell via Paul Eggert.
96817
96818 2001-02-07  Jim Meyering  <meyering@lucent.com>
96819
96820         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
96821
96822 2001-02-05  Jim Meyering  <meyering@lucent.com>
96823
96824         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
96825         it includes the patch required for `large file' support with at least
96826         HP-UX's 10.20 /bin/cc.
96827
96828 2001-02-03  Jim Meyering  <meyering@lucent.com>
96829
96830         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
96831         AS_IF, now that it works once again (mysteriously).
96832         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96833
96834 2001-01-30  Jim Meyering  <meyering@lucent.com>
96835
96836         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
96837         * m4/chown.m4: Rename conftestchown to conftest.chown.
96838         * m4/rename.m4: s/conftestdir/conftest.d1/ and
96839         s/conftestdir2/conftest.d2/.
96840         * m4/utimes.m4: s/conftestdata/conftest.data/
96841         Inspired by Pavel Roskin's change in autoconf.
96842
96843 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
96844
96845         * lib/config.charset: Update for FreeBSD 4.2.
96846
96847 2001-01-27  Jim Meyering  <meyering@lucent.com>
96848
96849         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
96850         a use of AS_IF.
96851         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96852
96853 2001-01-26  Jim Meyering  <meyering@lucent.com>
96854
96855         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
96856         quotearg.c includes it.
96857
96858 2001-01-26  Jim Meyering  <meyering@lucent.com>
96859
96860         * lib/quotearg.c: Include stddef.h.
96861         * lib/quote.c: Include stddef.h.
96862         Reported by Axel Kittenberger.
96863
96864         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
96865         line in double quotes so that it evokes a better diagnostic.
96866         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
96867         Reported by Axel Kittenberger.
96868
96869 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
96870
96871         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
96872         as if it was a `charset'.
96873
96874 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96875
96876         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96877         has const.
96878
96879 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96880
96881         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96882         to avoid a warning.  Add back 'const' to inptr.
96883
96884 2001-01-20  Jim Meyering  <meyering@lucent.com>
96885
96886         Be sure that headers are checked before used in code compiled
96887         for the type checks.
96888         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
96889         In place of that, invoke jm_CHECK_ALL_TYPES.
96890         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
96891         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
96892         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
96893         The check for ssize_t was mistakenly run before the test for unistd.h.
96894
96895         The configure-time check for stdbool.h was missing.
96896         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
96897         (jm_PREREQ_HASH): New function.
96898
96899 2001-01-17  Jim Meyering  <meyering@lucent.com>
96900
96901         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
96902         for autoconf-2.49c.
96903         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
96904
96905 2001-01-16  Jim Meyering  <meyering@lucent.com>
96906
96907         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
96908         From Bruno Haible.
96909
96910 2001-01-14  Jim Meyering  <meyering@lucent.com>
96911
96912         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
96913         foo and bar.  Create conftestdir/ in the script, not in the C code.
96914         Remove directories in the script, not in the C code.
96915         Remove conftestdir{,2} before trying to create the directory.
96916         Make the entire configure script fail if the mkdir fails.
96917
96918 2001-01-14  Jim Meyering  <meyering@lucent.com>
96919
96920         * lib/rename.c: New file.  From Volker Borchert.
96921         Include stdlib.h, string.h or strings.h, and xalloc.h.
96922         Use strip_trailing_slashes rather than open-coding it.
96923
96924 2001-01-03  Paul Eggert  <eggert@twinsun.com>
96925
96926         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
96927
96928 2001-01-03  Jim Meyering  <meyering@lucent.com>
96929
96930         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
96931         of local `inptr' to avoid warning with some system declarations of
96932         iconv.
96933
96934 2001-01-02  Volker Borchert  <bt@teknon.de>
96935
96936         * m4/rename.m4: New file.
96937         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
96938
96939 2001-01-01  Jim Meyering  <meyering@lucent.com>
96940
96941         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
96942         even on systems with utmpx.h.  It's necessary for the declaration of
96943         utmp's ut_user member.  Reported by Andreas Jaeger.
96944
96945         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
96946         available. They are required for the declarations of getgrgid and
96947         getpwuid resp.
96948         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
96949         Reported by Andreas Jaeger.
96950
96951 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
96952
96953         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
96954         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
96955         so `make install' also works in VPATH builds.
96956
96957 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
96958
96959         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
96960         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
96961         can be used in subdirectories.
96962
96963 2000-12-29  Paul Eggert  <eggert@twinsun.com>
96964
96965         * lib/modechange.c: Do not assume that mode_t uses the
96966         traditional octal encoding.  E.g. "chmod 1 FOO" should set
96967         the other-execute bit of FOO even if S_IXOTH != 1.
96968
96969         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
96970         WOTH, XOTH, ALLM): New macros.
96971         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
96972          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
96973         Use them.
96974         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
96975         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
96976         (mode_compile):
96977         No need to use uintmax_t; unsigned long is long enough.
96978         Don't bother to get suffix since we don't use it.
96979
96980 2000-12-26  Jim Meyering  <meyering@lucent.com>
96981
96982         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
96983         better with autoheader.
96984
96985 2000-12-24  Jim Meyering  <meyering@lucent.com>
96986
96987         * lib/hash.c (is_prime): Return explicit boolean values.
96988         (hash_get_first): Return NULL to appease Irix5.6's 89.
96989         Reported by Nelson Beebe.
96990
96991 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
96992
96993         * lib/localcharset.c (locale_charset): Add support for Win32.
96994
96995 2000-12-18  Paul Eggert  <eggert@twinsun.com>
96996
96997         * lib/physmem.h, lib/physmem.c: New files.
96998
96999         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97000         (noinst_HEADERS): Add physmem.h.
97001
97002         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97003         't' for compatibility with Solaris 8 sort.
97004
97005 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97006
97007         * lib/config.charset: Add support for BeOS.
97008
97009 2000-12-17  Jim Meyering  <meyering@lucent.com>
97010
97011         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97012         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97013
97014 2000-12-16  Jim Meyering  <meyering@lucent.com>
97015
97016         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97017         N and M) would have treated it like `chown N:N FILE'.
97018
97019         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97020
97021 2000-12-16  Jim Meyering  <meyering@lucent.com>
97022
97023         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97024         SHELLS_FILE to a file name that's useful on djgpp systems.
97025         Include stdlib.h.
97026         (ADDITIONAL_DEFAULT_SHELLS): Define.
97027         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97028         Based mostly on a patch from Prashant TR.
97029
97030 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97031
97032         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97033         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97034         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97035
97036 2000-12-08  Andreas Schwab  <schwab@suse.de>
97037
97038         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97039         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97040
97041 2000-12-07  Jim Meyering  <meyering@lucent.com>
97042
97043         * lib/stripslash.c (ISSLASH): Define.
97044         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97045         `/'.
97046         From Prashant TR.
97047
97048         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97049         (dir_name_r): Declare this function as static.
97050         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97051         manifest itself on a name containing a mix of slashes and
97052         backslashes.
97053         Make this function work with names starting with a DOS-style
97054         drive letter and colon prefix.
97055         (dir_name): Append `.' if necessary.
97056         Based mostly on patches from Prashant TR and Eli Zaretskii.
97057
97058         * lib/dirname.h (dir_name_r): Remove prototype.
97059
97060 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97061
97062         * m4/off_t-format.m4: Remove this file.
97063         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97064
97065 2000-12-06  Jim Meyering  <meyering@lucent.com>
97066
97067         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97068         replacement strtoull, we may well need the replacement strtoul, too.
97069         Check for declarations of strtoul and strtoull.
97070         Check for strtol.  Mainly as a cue to cause automake to include
97071         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97072         Check for limits.h -- strtol.c needs it.
97073
97074 2000-12-05  Jim Meyering  <meyering@lucent.com>
97075
97076         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97077
97078 2000-12-04  Jim Meyering  <meyering@lucent.com>
97079
97080         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97081         Also include memory.h, stdlib.h, unistd.h if appropriate.
97082         Reported by Andreas Jaeger (conflicting declaration of malloc).
97083
97084 2000-12-02  Jim Meyering  <meyering@lucent.com>
97085
97086         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97087         * m4/jm-macros.m4 (jm_MACROS): require it.
97088
97089 2000-12-02  Jim Meyering  <meyering@lucent.com>
97090
97091         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97092
97093 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97094
97095         * lib/memrchr.c: Include <config.h> before any system include file.
97096
97097 2000-11-30  Jim Meyering  <meyering@lucent.com>
97098
97099         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97100
97101 2000-11-30  Jim Meyering  <meyering@lucent.com>
97102
97103         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97104
97105 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97106
97107         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97108
97109 2000-11-26  Jim Meyering  <meyering@lucent.com>
97110
97111         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97112
97113 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97114
97115         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97116         size of (size_t) -1; it's not portable.
97117
97118 2000-11-17  Jim Meyering  <meyering@lucent.com>
97119
97120         * lib/strstr.c: Update from GNU libc.
97121
97122 2000-11-17  Akim Demaille  <akim@epita.fr>
97123
97124         * lib/obstack.h: Formatting changes.
97125         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97126         prevent type checking.
97127         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97128         cast the value to (void *): assigning a `foo *' to a `void *'
97129         variable is valid.
97130         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97131
97132 2000-11-16  Jim Meyering  <meyering@lucent.com>
97133
97134         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97135
97136 2000-11-11  Jim Meyering  <meyering@lucent.com>
97137
97138         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97139
97140 2000-11-10  Jim Meyering  <meyering@lucent.com>
97141
97142         * lib/obstack.h: Update from GNU libc.
97143         * lib/obstack.c: Likewise.
97144
97145 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97146
97147         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97148
97149 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97150
97151         * lib/getusershell.c (setusershell): Use rewind rather than
97152         fseek/fseeko, to avoid configuration hassles with fseeko.
97153         Don't bother opening SHELLS_FILE if shellstream is NULL;
97154         it's not necessary.
97155
97156 2000-11-05  Jim Meyering  <meyering@lucent.com>
97157
97158         * lib/makepath.h (make_dir): Declare.
97159         * lib/makepath.c (make_dir): Remove `static' attribute.
97160         Tweak a comment.
97161
97162 2000-11-04  Jim Meyering  <meyering@lucent.com>
97163
97164         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97165
97166 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97167
97168         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97169         last one in a bucket, advance to the next bucket.
97170
97171 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97172
97173         * lib/fnmatch.c: Do not comment out all the code if we are using
97174         the GNU C library, because in some cases we are replacing buggy
97175         code in the GNU C library itself.
97176
97177 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97178
97179         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97180         (regex_compile): Catch bogus \(\1\).
97181
97182 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97183
97184         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97185         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97186         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97187
97188 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97189
97190         * lib/error.h, getline.h, modechange.h:
97191         Remove "2000" from Copyright line, as the file hasn't been
97192         changed this year other than in the copyright notice.
97193
97194         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97195         was changed this year.
97196
97197 2000-10-29  Jim Meyering  <meyering@lucent.com>
97198
97199         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97200         renaming.
97201         * m4/ls-mntd-fs.m4: Likewise
97202
97203 2000-10-29  Jim Meyering  <meyering@lucent.com>
97204
97205         * lib/xstat.in: Fix grammar in comment.
97206
97207 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97208
97209         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97210         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97211         doesn't define __restrict_arr.
97212
97213 2000-10-28  Jim Meyering  <meyering@lucent.com>
97214
97215         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97216         (jm_PREREQ_MEMCHR): New function.
97217
97218 2000-10-28  Jim Meyering  <meyering@lucent.com>
97219
97220         * lib/memchr.c: Update from libc.
97221         Adjust for portability:
97222         [HAVE_STDLIB_H]: Include stdlib.h.
97223         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97224         Undef __memchr, too.
97225         [!weak_alias]: Define __memchr to memchr.
97226
97227         * lib/regex.c: Update from libc.
97228         * lib/regex.h: Likewise.
97229         * lib/getopt1.c: Likewise.
97230         * lib/memcmp.c: Likewise.
97231
97232         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97233         Avoid using fseek, when possible -- it's broken by design.
97234         Patch by Ulrich Drepper.
97235
97236 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97237
97238         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97239         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97240         Giving in to popular pressure to shut up the compiler with casts.
97241
97242 2000-10-26  Jim Meyering  <meyering@lucent.com>
97243
97244         * lib/strftime.c: Update from libc.
97245
97246 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97247
97248         * regex.c: More `unsigned char' -> `re_char' changes.
97249         Also change several `int' into `re_wchar_t'.
97250         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97251         (PUSH_FAILURE_POINTER): Don't cast any more.
97252         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97253         We want GCC to complain, since this piece of code makes
97254         re_match non-reentrant, which *should* be fixed.
97255         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97256         (EXTEND_BUFFER): Use RETALLOC.
97257         (SET_LIST_BIT): Don't cast.
97258         (re_wchar_t): New type.
97259         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97260         that those two functions will always properly return.
97261         (IMMEDIATE_QUIT_CHECK): Cast to void.
97262         (analyse_first): Use recursion rather than an explicit stack.
97263         (re_compile_fastmap): Can't fail anymore.
97264         (re_search_2): Don't check re_compile_fastmap for failure.
97265         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97266         Now also sets the new value (passed in a new argument).
97267         (re_match_2_internal): Use it.
97268         Also, use a new var `reg' of type size_t when looping through regs
97269         rather than reuse the inappropriate `mcnt'.
97270
97271 2000-10-25  Jim Meyering  <meyering@lucent.com>
97272
97273         * lib/obstack.c: Update from libc.
97274
97275 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97276
97277         * regex.c (regex_compile): Change the way of handling a range from
97278         a char less than 256 to a char not less than 256.
97279
97280 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97281
97282         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97283         NT-Emacs only.
97284         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97285         so that re_search functions only quit when callers expect them to.
97286
97287 2000-10-23  Jim Meyering  <meyering@lucent.com>
97288
97289         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97290         wrong.  That set_locale call must not have any side effects.
97291         From Paul Eggert.
97292
97293 2000-10-22  Jim Meyering  <meyering@lucent.com>
97294
97295         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97296         [CYCLIC]: Remove now-unused definition.
97297
97298         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97299         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97300         Suggestion from Ulrich Drepper.
97301
97302 2000-10-21  Jim Meyering  <meyering@lucent.com>
97303
97304         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97305         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97306         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97307
97308 2000-10-21  Jim Meyering  <meyering@lucent.com>
97309
97310         * lib/dirname.c (memrchr): Declare if necessary.
97311         (dir_name): Remove the restriction that there be no
97312         trailing slashes.  Now, this code skips past them, effectively
97313         ignoring them.
97314         [TEST_DIRNAME] (main): New unit tests.
97315
97316         * lib/memrchr.c: New file from GNU libc.
97317         Undef __memrchr, too.
97318         [!weak_alias]: Define __memrchr to memrchr.
97319         Guard weak_alias use with `#ifdef weak_alias'.
97320
97321 2000-10-21  Jim Meyering  <meyering@lucent.com>
97322
97323         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97324         (dir_name): Use dir_name_r.
97325         * lib/dirname.h (dir_name_r): Declare it.
97326
97327 2000-10-17  Jim Meyering  <meyering@lucent.com>
97328
97329         * lib/quote.h (PARAMS): Define and use.
97330         Reported by Akim Demaille.
97331
97332         * lib/getopt.c: Update from libc.
97333
97334 2000-10-16  Jim Meyering  <meyering@lucent.com>
97335
97336         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97337         setlocale.
97338         From Jan Fedak.
97339
97340 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97341
97342         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97343
97344 2000-09-25  Jim Meyering  <meyering@lucent.com>
97345
97346         * lib/md5.h (rol): Define (from GnuPG).
97347
97348         * lib/sha.c: Give credit (GnuPG) where due.
97349         (M): Use rol rather than open-coding it.
97350         Add a FIXME comment.
97351
97352 2000-09-21  Jim Meyering  <meyering@lucent.com>
97353
97354         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97355         Reported by Michael Stone.
97356
97357 2000-09-20  Jim Meyering  <meyering@lucent.com>
97358
97359         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97360         (noinst_HEADERS): Add sha.h.
97361         Based on code from Scott G. Miller and from GnuPG.
97362
97363 2000-09-18  Jim Meyering  <meyering@lucent.com>
97364
97365         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97366         LIBS. Otherwise, everyone ends up linking with -lelf for some
97367         configurations.
97368         Reported by Mike Stone.
97369
97370 2000-09-15  Jim Meyering  <meyering@lucent.com>
97371
97372         * lib/regex.c: Update from libc.
97373
97374 2000-09-10  Jim Meyering  <meyering@lucent.com>
97375
97376         * lib/getopt.c (_getopt_internal): Update from glibc.
97377
97378 2000-09-09  Jim Meyering  <meyering@lucent.com>
97379
97380         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97381         think it should be used as a general replacement for isascii.
97382         * lib/fnmatch.c: Likewise.
97383         * lib/mbswidth.c: Likewise
97384         * lib/regex.c: Likewise.
97385
97386         Don't use atoi.
97387         * lib/userspec.c: Include sys/param.h and limits.h.
97388         Include xstrtol.h.
97389         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97390         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97391         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97392         UID, GID.  Check range.
97393
97394 2000-09-06  Jim Meyering  <meyering@lucent.com>
97395
97396         * lib/getopt.c (_getopt_internal): Update from glibc.
97397
97398 2000-08-30  Jim Meyering  <meyering@lucent.com>
97399
97400         * lib/strftime.c: Merge in changes from GNU libc.
97401
97402 2000-08-26  Jim Meyering  <meyering@lucent.com>
97403
97404         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97405         * m4/fpending.m4: New file.
97406
97407 2000-08-26  Jim Meyering  <meyering@lucent.com>
97408
97409         * lib/closeout.c: Include "__fpending.h".
97410         (close_stdout_status): Return right away if there's nothing to flush.
97411
97412         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97413         * lib/__fpending.c: New file.
97414         * lib/__fpending.h: New file.
97415
97416 2000-08-20  Jim Meyering  <meyering@lucent.com>
97417
97418         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97419         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97420         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97421
97422 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97423
97424         Improve fileutils installation on systems where running
97425         programs (like install) can't be unlinked.
97426         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97427         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97428
97429 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97430
97431         Standardize on "memory exhausted" instead of "Memory exhausted"
97432         or "virtual memory exhausted".
97433         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97434         "virtual memory exhausted".
97435         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97436         our own message.
97437         * lib/userspec.c (parse_user_spec): Likewise.
97438         * lib/bumpalloc.h: comment fix
97439         * lib/same.c, userspec.c: Include xalloc.h.
97440
97441         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97442         not char *const and pointing to a constant array.
97443         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97444         (xrealloc): Comment fix.
97445
97446         * lib/userspec.c (parse_user_spec):
97447         Don't translate a message until just before returning,
97448         to avoid unnecessary translation.
97449
97450 2000-08-07  Jim Meyering  <meyering@lucent.com>
97451
97452         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97453         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97454         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97455         getgroups.c, gethostname.c, getopt.h, group-member.c,
97456         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97457         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97458         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97459         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97460         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97461         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97462         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97463         yesno.c: Back out Copyright date changes for each file with no change
97464         this year.  This eases coordination with other programs using the same
97465         source code modules.  From Paul Eggert.
97466
97467 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97468
97469         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97470         not char, for compatibility with glibc 2.1.3 strftime.c.
97471
97472 2000-08-03  Greg McGary  <greg@mcgary.org>
97473
97474         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97475         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97476         (EXTEND_BUFFER): Use them.
97477
97478 2000-08-01  Jim Meyering  <meyering@lucent.com>
97479
97480         * lib/dirname.c (ISSLASH): Define.
97481         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97482         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97483         both `\' and `/' may be use as path separators.
97484         Based on a patch from Prashant TR.
97485
97486 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97487
97488         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97489         slot vector a constant, since it might get modified.
97490
97491 2000-07-31  Jim Meyering  <meyering@lucent.com>
97492
97493         * lib/xmalloc.c: Use `virtual memory exhausted', not
97494         `Memory exhausted'.
97495         * lib/obstack.c (print_and_abort): Likewise.
97496
97497 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97498
97499         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97500         buffer, so that the caller can always quote one small
97501         component of a "memory exhausted" message in slot 0.
97502         From a suggestion by Jim Meyering.
97503
97504 2000-07-30  Jim Meyering  <meyering@lucent.com>
97505
97506         * lib/makepath.c (make_path): Quote the other instance, too.
97507
97508         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97509         (STATIC_BUF_SIZE): Define.
97510         (quotearg_n_options): Use only statically allocated storage when
97511         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97512         than STATIC_BUF_SIZE.
97513
97514 2000-07-29  Jim Meyering  <meyering@lucent.com>
97515
97516         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97517         * lib/dirname.c (dir_name): Likewise.
97518
97519         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97520         `/'.
97521
97522         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97523         (dir_name): Assert that there are no trailing slashes.
97524
97525 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97526
97527         * lib/mbswidth.h (mbswidth): Add a flags argument.
97528         (mbswidth): New declaration.
97529         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97530         * lib/mbswidth.c (mbswidth): Add a flags argument.
97531         (mbsnwidth): New function.
97532
97533 2000-07-24  Jim Meyering  <meyering@lucent.com>
97534
97535         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97536
97537 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97538
97539         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97540
97541 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97542
97543         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97544         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97545         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97546         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97547         invoke multibyte primitives.
97548
97549 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97550
97551         * lib/quotearg.c:
97552         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97553         so that mbstate_t is always defined.
97554
97555         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97556         be 1 in at least one GCC installation, and this configuration
97557         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97558         performance on hosts that have mbrtowc but have only unibyte
97559         locales, but I assume these hosts are rare.
97560
97561 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97562
97563         * lib/mbswidth.c (_XOPEN_SOURCE):
97564         Don't define; this causes problems on Solaris 7.
97565         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97566
97567 2000-07-23  Jim Meyering  <meyering@lucent.com>
97568
97569         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97570         too: getgrgid, getpwuid, getuid.
97571
97572 2000-07-23  Jim Meyering  <meyering@lucent.com>
97573
97574         * lib/basename.c (base_name): Add an assertion.
97575
97576 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97577
97578         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97579         shadow its mbsinit function.
97580
97581 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97582
97583         * lib/mbswidth.h: New file.
97584         * lib/mbswidth.c: New file.
97585         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97586         (noinst_HEADERS): Add mbswidth.h.
97587
97588 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97589
97590         * lib/config.charset: Add support for FreeBSD. Improve support for
97591         HP-UX and IRIX 6.
97592
97593 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97594
97595         * m4/mbswidth.m4: New file.
97596         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97597
97598 2000-07-15  Jim Meyering  <meyering@lucent.com>
97599
97600         * lib/makepath.c: Include quote.h.
97601         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97602         corresponding argument in a `quote (...)' call.
97603         Give better diagnostics.
97604
97605         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97606         (noinst_HEADERS): Add quote.h.
97607
97608         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97609         from tar's src/misc.c.
97610         * lib/quote.h: New file.  Prototypes for same.
97611
97612 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97613
97614         From a suggestion by Bruno Haible.
97615         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97616         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97617         to decide whether to define the BeOS workaround macro;
97618         this adjusts to the change to AC_MBSTATE_T.
97619
97620 2000-07-14  Jim Meyering  <meyering@lucent.com>
97621
97622         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97623         jm_AC_TYPE_UINTMAX_T.
97624
97625 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97626
97627         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97628
97629         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97630         quotearg_buffer_restyled): Add support for
97631         clocale_quoting_style.  Undo previous change to
97632         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97633         and "{RIGHT QUOTATION MARK}" msgids.
97634
97635 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97636
97637         From a suggestion by Bruno Haible.
97638         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97639         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97640         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97641         and mbstate_t, to a single-part test that simply defines mbstate_t.
97642         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97643         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97644
97645 2000-07-10  Jim Meyering  <meyering@lucent.com>
97646
97647         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97648
97649         * m4/gnu-source.m4: Output to confdefs.h directly.
97650         Suggestion from Akim Demaille.
97651
97652 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97653
97654         The old behavior of quoting `like this' doesn't look good with
97655         newer, ISO-style fonts.  See:
97656         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97657
97658         Instead, quote "like this" by default.  Let the translator
97659         tailor the locale-specific quoting behavior by providing
97660         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97661
97662         * lib/quotearg.c (N_): New macro.
97663         (gettext_default): New function.
97664         (quotearg_buffer_restyled): Use
97665         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97666         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97667
97668 2000-07-09  Jim Meyering  <meyering@lucent.com>
97669
97670         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97671         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97672
97673         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97674         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97675
97676 2000-07-09  Jim Meyering  <meyering@lucent.com>
97677
97678         * lib/Most files: Update copyright dates to include 2000.
97679
97680 2000-07-08  Jim Meyering  <meyering@lucent.com>
97681
97682         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97683         if not defined.
97684         (xgethostname): Remove now-unnecessary #ifdef.
97685         Move declaration of `err' into loop where it's used.
97686
97687 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97688         and Bruno Haible  <haible@clisp.cons.org>
97689
97690         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97691         only if the test for an object-type mbstate_t fails.  This
97692         prevents us from mistakenly reporting that mbstate_t is a
97693         system object type after we "#define mbstate_t int" to work
97694         around its lack.
97695
97696 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97697         and Bruno Haible  <haible@clisp.cons.org>
97698
97699         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97700
97701 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97702
97703         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97704         to strerror_r.
97705         Include <ctype.h> for use of isalpha.
97706
97707 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97708
97709         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
97710         by allocating a larger buffer. Test the gethostname return value for
97711         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
97712         returns an error and ENAMETOOLONG isn't defined.
97713
97714 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97715
97716         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
97717         dimension.
97718
97719 2000-07-04  Jim Meyering  <meyering@lucent.com>
97720
97721         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
97722         of the deprecated AC_CHECKING.
97723
97724 2000-07-04  Jim Meyering  <meyering@lucent.com>
97725
97726         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
97727         Reported by Bruno Haible.
97728
97729 2000-07-04  Jim Meyering  <meyering@lucent.com>
97730
97731         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
97732         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
97733         lacks mbrtowc.
97734
97735 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97736
97737         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
97738         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
97739
97740 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97741         and Bruno Haible  <haible@clisp.cons.org>
97742
97743         * lib/quotearg.c (mbrtowc):
97744         Assign to *pwc, and return 1 only if result is nonzero.
97745         (iswprint): Use ISPRINT when substituting our own mbrtowc.
97746
97747 2000-07-03  Jim Meyering  <meyering@lucent.com>
97748
97749         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
97750
97751 2000-07-03  Jim Meyering  <meyering@lucent.com>
97752
97753         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
97754         This is necessary to get a definition of e.g., UTMP_FILE on
97755         HP-UX 10.20.
97756         From Bob Proulx.
97757
97758 2000-07-02  Jim Meyering  <meyering@lucent.com>
97759
97760         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
97761
97762         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
97763         AC_LIBOBJ(function_name).
97764         * m4/chown.m4: Likewise.
97765         * m4/fnmatch.m4: Likewise.
97766         * m4/ftruncate.m4: Likewise.
97767         * m4/getgroups.m4: Likewise.
97768         * m4/getline.m4: Likewise.
97769         * m4/group-member.m4: Likewise.
97770         * m4/jm-macros.m4: Likewise.
97771         * m4/lstat.m4: Likewise.
97772         * m4/malloc.m4: Likewise.
97773         * m4/memcmp.m4: Likewise.
97774         * m4/nanosleep.m4: Likewise.
97775         * m4/putenv.m4: Likewise.
97776         * m4/realloc.m4: Likewise.
97777         * m4/regex.m4: Likewise.
97778         * m4/stat.m4: Likewise.
97779         * m4/strftime.m4: Likewise.
97780
97781 2000-07-02  Jim Meyering  <meyering@lucent.com>
97782
97783         * lib/quotearg.c (mbstate_t): Don't define here.
97784
97785 2000-07-02  Jim Meyering  <meyering@lucent.com>
97786
97787         * lib/nanosleep.c (SIGCONT): Define if not already defined.
97788
97789 2000-07-01  Jim Meyering  <meyering@lucent.com>
97790
97791         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
97792
97793 2000-07-01  Jim Meyering  <meyering@lucent.com>
97794
97795         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
97796         problem.
97797
97798 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97799
97800         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
97801         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
97802
97803 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97804
97805         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
97806         per change in ../m4/ls-mntd-fs.m4.
97807         (read_filesystem_list): Ignore symbolic links.
97808
97809 2000-06-29  Jim Meyering  <meyering@lucent.com>
97810
97811         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
97812         for declaration of strcmp.
97813
97814         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
97815
97816         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
97817         Avoid warning by casting result to `char *' to remove `const'.
97818
97819 2000-06-28  Jim Meyering  <meyering@lucent.com>
97820
97821         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
97822         included by quotearg.c, for which we perform this test.  From
97823         Bruno Haible.
97824
97825 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97826
97827         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
97828         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
97829         <utmpx.h> exists, put readutmp.o into LIBOBJS.
97830
97831 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97832
97833         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
97834
97835 2000-06-26  Paul Eggert  <eggert@twinsun.com>
97836
97837         savedir now sets errno on failure and invokes xmalloc to get memory.
97838         Fix a couple of other minor bugs while we're at it.
97839
97840         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
97841         (NAMLEN): Remove macro.
97842         (malloc, realloc): Remove decls.
97843         (stpcpy): Likewise.
97844         ("xalloc.h"): Include.
97845         (NAME_SIZE_DEFAULT): New macro.
97846         (savedir): Use xmalloc / xrealloc to allocate memory.
97847         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
97848         Skip "" directory entries.
97849         Use strlen to calculate directory entry length, since the old method
97850         is rarely used these days and isn't worth supporting.
97851         Don't use a pointer after freeing it.
97852         Check for integer overflow when calculating allocation size.
97853         Use memcpy to copy entries, instead of stpcpy.
97854         Set errno properly when returning NULL.
97855         Check for readdir error.
97856
97857 2000-06-26  Jim Meyering  <meyering@lucent.com>
97858
97859         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
97860
97861 2000-06-25  Jim Meyering  <meyering@lucent.com>
97862
97863         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
97864         Linux header bug when _XOPEN_SOURCE is defined to 500.
97865
97866 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97867
97868         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
97869         deficiency.
97870
97871 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97872
97873         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97874         Include xalloc.h.
97875         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97876
97877 2000-06-24  Jim Meyering  <meyering@lucent.com>
97878
97879         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97880         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97881         for which strerror does return char*, but which lacks a conveniently
97882         accessible declaration of the function.  If the compile-test says
97883         strerror_r doesn't work, then resort to a `run'-test that works on
97884         BeOS and segfaults on DEC Unix.
97885
97886 2000-06-24  Jim Meyering  <meyering@lucent.com>
97887
97888         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
97889
97890 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97891
97892         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
97893         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
97894
97895 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97896
97897         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
97898         (mbrtowc, mbstate_t): Define substitutes if
97899         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
97900         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
97901         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
97902
97903 2000-06-23  Jim Meyering  <meyering@lucent.com>
97904
97905         * m4/afs.m4: Add missing AC_MSG_RESULT.
97906         Reported by Bruno Haible.
97907
97908         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
97909         Suggestion from Bruno Haible.
97910
97911 2000-06-23  Jim Meyering  <meyering@lucent.com>
97912
97913         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
97914
97915 2000-06-21  Jim Meyering  <meyering@lucent.com>
97916
97917         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
97918
97919 2000-06-21  Jim Meyering  <meyering@lucent.com>
97920
97921         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
97922         (noinst_HEADERS): Add getstr.h.
97923
97924         * lib/getline.c (getstr): Move into a separate file.
97925         * lib/getstr.c (getstr): New file, extracted from getline.c, with
97926         the following changes: new parameter, delim2; both delim[12]
97927         parameters have type `int', not `char'.  The latter would lose
97928         with 8-bit delimiters.
97929         * lib/getstr.h: New file.
97930
97931 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97932
97933         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
97934         than 1024, return a memory chunk of least possible size, instead
97935         of size PATH_MAX + 2. In the loop, increment the size proportionally.
97936         Use free/xmalloc instead of xrealloc to avoid copying for very long
97937         paths.
97938
97939 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97940
97941         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
97942         the empty string.
97943
97944 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97945
97946         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
97947         address, not strdup.  Include <stdlib.h> and don't declare free().
97948
97949 2000-06-19  Jim Meyering  <meyering@lucent.com>
97950
97951         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
97952
97953 2000-06-18  Jim Meyering  <meyering@lucent.com>
97954
97955         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
97956
97957         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
97958         `checking whether...' message to be consistent with that of the
97959         lstat test.
97960
97961 2000-06-18  Jim Meyering  <meyering@lucent.com>
97962
97963         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
97964         Besides, these days every porting target provides a mkdir function.
97965
97966         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
97967         needed. (this snippet comes from src/system.h).
97968
97969 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
97970
97971         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
97972
97973 2000-06-15  Paul Eggert  <eggert@twinsun.com>
97974
97975         * lib/human.c (adjust_value): New function.
97976         (human_readable_inexact): Apply rounding style even when
97977         printing approximate values.
97978
97979 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97980
97981         * lib/human.c (human_readable_inexact): Allow an input block
97982         size that is not a multiple of the output block size, and vice versa.
97983         Reported by Piergiorgio Sartor.
97984
97985 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97986
97987         * lib/getdate.y (get_date): Apply relative times after time
97988         zone indicator, not before.  Reported by Todd A. Jacobs.
97989
97990 2000-06-13  Jim Meyering  <meyering@lucent.com>
97991
97992         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
97993
97994         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
97995
97996 2000-06-12  Paul Eggert  <eggert@twinsun.com>
97997
97998         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
97999
98000 2000-06-12  Jim Meyering  <meyering@lucent.com>
98001
98002         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98003         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98004         optional argument.
98005         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98006         the optional argument, `lib'.
98007
98008 2000-06-08  Jim Meyering  <meyering@lucent.com>
98009
98010         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98011
98012 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98013
98014         Rewrite largefile configuration so that we don't need to run
98015         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98016         AC_CANONICAL_HOST in configure.in -- jmm]
98017
98018         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98019         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98020         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98021         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98022         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98023         All uses changed.
98024         Instead of inspecting the output of getconf, try to compile the
98025         test program without and with the macro definition.
98026         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98027         for getconf.  Instead, check for the needed flags by compiling
98028         test programs.
98029
98030 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98031
98032         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98033
98034 2000-06-04  Jim Meyering  <meyering@lucent.com>
98035
98036         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98037         SunOS 4.1.4 for which gid_t is an unsigned type.
98038
98039 2000-06-03  Jim Meyering  <meyering@lucent.com>
98040
98041         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98042         now that autoconf requires that.
98043
98044         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98045         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98046         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98047
98048 2000-06-03  Jim Meyering  <meyering@lucent.com>
98049
98050         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98051
98052 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98053
98054         * m4/glibc21.m4: New file.
98055         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98056
98057 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98058
98059         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98060         newer, don't install charset.alias.
98061         * lib/config.charset: Change the Linux/glibc rules so they become empty
98062         on glibc-2.1 or newer.
98063
98064 2000-06-02  Jim Meyering  <meyering@lucent.com>
98065
98066         * lib/mountlist.c: Back out last change.  Instead, do this...
98067         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98068         me_dummy member using the same `ignore'-testing code.
98069         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98070         fs_type strings.
98071         From Mark D. Roth.
98072
98073 2000-05-29  Jim Meyering  <meyering@lucent.com>
98074
98075         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98076         mounts with the `ignore' attribute.  Based on a patch from
98077         Mark D. Roth.
98078
98079 2000-05-28  Jim Meyering  <meyering@lucent.com>
98080
98081         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98082         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98083         * m4/stat.m4: Likewise.
98084         * m4/lstat.m4: Likewise.
98085         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98086
98087         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98088         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98089
98090 2000-05-26  Jim Meyering  <meyering@lucent.com>
98091
98092         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98093
98094 2000-05-24  Jim Meyering  <meyering@lucent.com>
98095
98096         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98097         autoconf requires that.
98098         * m4/lib-check.m4: Likewise.
98099         * m4/jm-macros.m4: Likewise.
98100         * m4/strftime.m4: Likewise.
98101
98102         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98103         AC_CHECK_DECLS, now that autoconf requires that.
98104
98105 2000-05-22  Jim Meyering  <meyering@lucent.com>
98106
98107         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98108         * m4/lstat.m4: Likewise.
98109
98110 2000-05-22  Jim Meyering  <meyering@lucent.com>
98111
98112         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98113
98114 2000-05-20  Jim Meyering  <meyering@lucent.com>
98115
98116         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98117         (jm_PREREQ): Use it.
98118
98119 2000-05-18  Jim Meyering  <meyering@lucent.com>
98120
98121         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98122         back, too, since it may have been modified by allocate_entry.
98123         (hash_delete): Rewrite to use neither the assignment operator
98124         nor the comma operator in an if-expression.
98125
98126 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98127
98128         * lib/closeout.c:
98129         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98130         Remove; no longer needed.
98131         "quotearg.h": Add include.
98132         (file_name): Do not bother to explicitly initialize to NULL; it's less
98133         efficient on some hosts.
98134         (close_stdout_status): Remove test as to whether stdout was already
98135         closed; it breaks for the case "echo x | sort >&-".
98136         Quote file name colons.
98137         Do not assume that _("write error") lacks format strings.
98138
98139 2000-05-15  Jim Meyering  <meyering@lucent.com>
98140
98141         * lib/version-etc.c (version_etc_copyright): Update the copyright
98142         string used in all --version output.
98143
98144 2000-05-14  Jim Meyering  <meyering@lucent.com>
98145
98146         * lib/closeout.c (close_stdout_set_file_name): New function.
98147         (close_stdout_status): Use new file-scoped global.
98148         Return right away if fstat says the stdout file descriptor is invalid.
98149         * lib/closeout.h (close_stdout_set_file_name): Declare.
98150
98151 2000-05-10  Jim Meyering  <meyering@lucent.com>
98152
98153         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98154         (close_stdout_set_status): New function.
98155         * lib/closeout.h (close_stdout_set_status): Declare.
98156
98157 2000-05-09  Jim Meyering  <meyering@lucent.com>
98158
98159         * m4/gettext.m4: Rename this...
98160         * m4/libintl.m4: ...to this.
98161
98162 2000-05-08  Jim Meyering  <meyering@lucent.com>
98163
98164         * lib/long-options.c: Don't include closeout.h.
98165         (parse_long_options): Don't call close_stdout for --version.
98166
98167 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98168
98169         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98170         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98171         2.1.3 bug.  This avoids a clash when files like regex.c define
98172         _GNU_SOURCE.
98173
98174 2000-05-06  Jim Meyering  <meyering@lucent.com>
98175
98176         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98177         (AC_REPLACE_FUNCS): Add strnlen.
98178
98179         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98180         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98181
98182         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98183         AC_SEARCH_LIBS call for nanosleep.
98184         (LIB_NANOSLEEP): Set and AC_SUBST.
98185
98186 2000-05-06  Jim Meyering  <meyering@lucent.com>
98187
98188         * lib/strnlen.c: Undefine __strnlen and strnlen.
98189         [!weak_alias]: Define __strnlen to strnlen.
98190
98191         * lib/atexit.c: New file, from libiberty.
98192
98193 2000-05-06  Jim Meyering  <meyering@lucent.com>
98194
98195         * lib/closeout.c (close_stdout_status): Also check for errors on the
98196         stderr stream.
98197
98198 2000-05-05  Jim Meyering  <meyering@lucent.com>
98199
98200         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98201         AC_SEARCH_LIBS call for clock_gettime.
98202         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98203
98204         * m4/search-libs.m4: Update from autoconf.
98205
98206         su doesn't work on Solaris 2.6.
98207         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98208         <shadow.h>.  Reported by Dragos Harabor.
98209
98210 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98211
98212         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98213         memcpy instead of xmalloc, xrealloc, path_concat.
98214         (locale_charset): Treat empty environment variables as absent.
98215         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98216
98217 2000-05-04  Jim Meyering  <meyering@lucent.com>
98218
98219         * lib/getopt.c: Update from glibc.
98220         * lib/obstack.c: Likewise.
98221         * lib/obstack.h: Likewise.
98222         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98223         file
98224
98225         * lib/regex.h: Likewise.
98226         * lib/strndup.c: Likewise.
98227         * lib/strnlen.c: New file, from glibc.
98228
98229 2000-05-03  Jim Meyering  <meyering@lucent.com>
98230
98231         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98232
98233 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98234
98235         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98236         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98237         compile-time test, rather than inspecting host and OS, to
98238         decide whether to define _LARGEFILE_SOURCE.
98239
98240 2000-05-01  Jim Meyering  <meyering@lucent.com>
98241
98242         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98243
98244         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98245         Based on a patch from Bruno Haible.
98246
98247 2000-05-01  Jim Meyering  <meyering@lucent.com>
98248
98249         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98250
98251 2000-04-29  Jim Meyering  <meyering@lucent.com>
98252
98253         * lib/path-concat.c: Declare strdup only if it's not defined.
98254         * lib/canon-host.c: Likewise.
98255
98256 2000-04-28  Jim Meyering  <meyering@lucent.com>
98257
98258         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98259         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98260         is included first, then limits.h is included by locale.h by libintl.h.
98261         From John David Anglin.
98262
98263 2000-04-25  Jim Meyering  <meyering@lucent.com>
98264
98265         * lib/makepath.c (S_IRWXUGO): Define.
98266         (make_path): Always perform explicit chmod if MODE specifies any
98267         of the `special' permission bits.  Prompted by a bug report against
98268         install from Mate Wierdl and Joost van Baal.
98269
98270 2000-04-18  Jim Meyering  <meyering@lucent.com>
98271
98272         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98273         (jm_PREREQ): Use it.
98274
98275 2000-04-18  Jim Meyering  <meyering@lucent.com>
98276
98277         * lib/README: New file.
98278
98279         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98280         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98281
98282 2000-04-17  Jim Meyering  <meyering@lucent.com>
98283
98284         Get it right :-)
98285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98286         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98287         Suggestion from Akim Demaille.
98288
98289 2000-04-17  Jim Meyering  <meyering@lucent.com>
98290
98291         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98292         the definition of it to rpl_strftime also defined-away the system's
98293         declaration.
98294
98295 2000-04-15  Jim Meyering  <meyering@lucent.com>
98296
98297         Use `C' to denote so-called `contiguous' files, the same way
98298         that tar does.
98299         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98300         (ftypelet): Use S_ISCTG.
98301         From Michael Deutschmann.
98302
98303 2000-04-14  Jim Meyering  <meyering@lucent.com>
98304
98305         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98306         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98307         clobbered.
98308
98309 2000-04-14  Jim Meyering  <meyering@lucent.com>
98310
98311         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98312
98313 2000-04-13  Jim Meyering  <meyering@lucent.com>
98314
98315         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98316         AH_VERBATIM to insert required #ifndef into config.h.in.
98317         Suggestion from Akim Demaille.
98318
98319 2000-04-12  Jim Meyering  <meyering@lucent.com>
98320
98321         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98322         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98323         Christian Krackowizer.
98324
98325         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98326         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98327         (AC_SYS_LARGEFILE): Require.
98328         (AM_C_PROTOTYPES): Require.
98329
98330 2000-04-08  Jim Meyering  <meyering@lucent.com>
98331
98332         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98333         names don't conflict.  Reported by Eli Zaretskii.
98334
98335 2000-04-07  Jim Meyering  <meyering@lucent.com>
98336
98337         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98338         sys/types.h, to work around system header problems on AIX 3.2.5.
98339         From Bruno Haible.
98340
98341 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98342
98343         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98344         bug.  Deal with the different error behavior of Irix iconv.
98345
98346 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98347
98348         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98349         IRIX if the installer said otherwise.
98350
98351 2000-04-05  Jim Meyering  <meyering@lucent.com>
98352
98353         Portability tweaks required for ultrix4.3.
98354         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98355         (jm_CHECK_DECLS): Add getutent to the list of functions.
98356         (_jm_DECL_HEADERS): Add utmpx.h.
98357         From John David Anglin.
98358
98359         * m4/strftime.m4: Back out the 2000-04-02 change.
98360         Instead of that change, simply undefine putenv in the test program.
98361
98362 2000-04-05  Jim Meyering  <meyering@lucent.com>
98363
98364         Portability tweaks required for ultrix4.3.
98365         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98366         getutent.
98367         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98368         * lib/canon-host.c: Declare strdup.
98369         * lib/path-concat.c: Likewise.
98370         From John David Anglin.
98371
98372 2000-04-04  Jim Meyering  <meyering@lucent.com>
98373
98374         Be more DOS 8.3-friendly.
98375         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98376         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98377         * lib/Makefile.am: Reflect renaming.
98378         Reported by Eli Zaretskii.
98379
98380         Use a temporary file name that won't clash with `charset.alias'
98381         in the DOS 8.3 name space.
98382         * lib/Makefile.am (charset_tmp): Define.
98383         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98384         (uninstall-local): Likewise.
98385         Reported by Eli Zaretskii.
98386
98387 2000-04-03  Jim Meyering  <meyering@lucent.com>
98388
98389         * m4/gettext.m4: Fix typo in comment.
98390
98391         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98392         textutils/configure.in).  Suggestion from Paul Eggert.
98393         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98394
98395 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98396
98397         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98398         variable in the shell rather than using putenv, which isn't
98399         portable.  This avoids the configure-time inter-test dependency
98400         on the potentially-renamed putenv function.
98401
98402 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98403
98404         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98405         before checking struct stat.st_blksize, so that
98406         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98407
98408 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98409
98410         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98411         since strftime.c uses HAVE_STRFTIME to decide whether to use
98412         the underlying strftime.
98413
98414 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98415
98416         * lib/time/strftime.c (my_strftime): Make sure we call the system
98417         strftime, not ourselves, when invoking the underlying strftime.
98418
98419 2000-03-24  Jim Meyering  <meyering@lucent.com>
98420
98421         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98422         (charset_alias): Define.
98423         (install-exec-local): Factor out common code.
98424         (uninstall-local): Split lines longer than 80.
98425         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98426         (SUFFIXES): Define.
98427         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98428         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98429
98430 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98431
98432         * lib/config.charset: Output a line containing "Packages using this
98433         file".
98434         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98435         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98436         ref-del.sed): New rules.
98437
98438 2000-03-17  Jim Meyering  <meyering@lucent.com>
98439
98440         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98441         Otherwise, include <strings.h>
98442
98443 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98444
98445         * lib/unicodeio.c (utf8_wctomb): New function.
98446         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98447         format instead of in UCS-4 with platform dependent endianness.
98448
98449 2000-03-10  Jim Meyering  <meyering@lucent.com>
98450
98451         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98452         From Marco Franzen.
98453
98454 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98455
98456         * lib/savedir.c (savedir): Work even if directory size is
98457         negative; this can happen with some screwy NFS configurations.
98458
98459 2000-03-06  Jim Meyering  <meyering@lucent.com>
98460
98461         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98462         if it's NULL (because we ran out of memory).  From Bruno Haible.
98463
98464 2000-03-05  Jim Meyering  <meyering@lucent.com>
98465
98466         * lib/localcharset.c ("path-concat.h"): Include.
98467         (get_charset_aliases): Use path_concat instead of ANSI string
98468         concatenation.
98469
98470         * lib/unicodeio.h (PARAMS): Define.
98471         Use it to guard prototype.
98472
98473 2000-03-04  Jim Meyering  <meyering@lucent.com>
98474
98475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98476         for lib/localcharset.c.
98477
98478 2000-03-04  Jim Meyering  <meyering@lucent.com>
98479
98480         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98481         installing into it.
98482         (uninstall-local): Uncomment this rule so `make distcheck' works
98483         once again.
98484
98485         * lib/unicodeio.c (<errno.h>): Include it.
98486         (errno): Declare if not defined.
98487
98488         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98489
98490         * lib/config.charset: New version, incorporating remarks from a linux
98491         i18n mailing list.  From Bruno Haible.
98492
98493 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98494
98495         * m4/codeset.m4: New file.
98496         * m4/iconv.m4: New file.
98497         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98498
98499 2000-03-03  Jim Meyering  <meyering@lucent.com>
98500
98501         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98502
98503 2000-03-02  Jim Meyering  <meyering@lucent.com>
98504
98505         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98506         the messages come out on separate lines.
98507
98508         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98509         rather than jm_CHECK_DECLARATIONS.
98510         * m4/decl.m4: Remove now-unused file.
98511
98512         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98513         geteuid.
98514
98515 2000-03-02  Jim Meyering  <meyering@lucent.com>
98516
98517         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98518
98519 2000-03-01  Jim Meyering  <meyering@lucent.com>
98520
98521         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98522         * lib/unicodeio.c: Likewise.
98523
98524 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98525
98526         * lib/config.charset: New file.
98527         * lib/localcharset.c: New file.
98528         * lib/unicodeio.h, lib/unicodeio.c: New files.
98529         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98530         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98531         (noinst_HEADERS): Add unicodeio.h.
98532         (all-local, install-exec-local, charset.alias): New targets.
98533
98534 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98535
98536         * lib/quotearg.c (ALERT_CHAR): New macro.
98537         (quotearg_buffer_restyled): Use it.
98538
98539 2000-02-27  Jim Meyering  <meyering@lucent.com>
98540
98541         * m4/check-decl.m4: Add getenv to the list.
98542
98543 2000-02-27  Jim Meyering  <meyering@lucent.com>
98544
98545         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98546         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98547
98548         * lib/backupfile.c: Guard inclusion of stdlib.h with
98549         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98550         Declare malloc if needed.
98551
98552         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98553         `#ifndef HAVE_DECL..'
98554         now that autoconf always defines the HAVE_DECL_ symbols.
98555         * lib/human.c: Likewise.
98556         * lib/same.c: Likewise.
98557         * lib/strtoumax.c: Likewise.
98558
98559         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98560         declaration check was not run.
98561         * lib/hash.c: Likewise.
98562         * lib/human.c: Likewise.
98563         * lib/same.c: Likewise.
98564         * lib/strtoumax.c: Likewise.
98565
98566         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98567         `.', then first look up the entire `.'-containing string as a login
98568         name.
98569
98570 2000-02-23  Jim Meyering  <meyering@lucent.com>
98571
98572         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98573         in place of my hack.
98574
98575 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98576
98577         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98578         (textint): New typedef.
98579         (parser_control): Member year changed from int to textint.
98580         All uses changed.
98581         (YYSTYPE): Removed; replaced by %union with int and textint members.
98582         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98583         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98584         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98585         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98586         (date, number, to_year): Use width of number in digits, not its value,
98587         to determine whether it's a 2-digit year, or a 2-digit time.
98588         (yylex): Store number of digits of numeric tokens.
98589         Reported by John Kendall.
98590
98591         (parser_control): Changed from struct parser_control to typedef (for
98592         consistency).  All uses changed.
98593
98594         (tID): Removed; not used.
98595         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98596
98597 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98598
98599         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98600         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98601
98602 2000-02-12  Jim Meyering  <meyering@lucent.com>
98603
98604         * lib/userspec.c (ISDIGIT): Define it.
98605         (isdigit): Remove definition.
98606         (is_number): Use ISDIGIT, not isdigit.
98607         <libintl.h>: Include.
98608         (_ and N_): Define.
98609         (parse_user_spec): Mark translatable strings.
98610
98611 2000-02-10  Jim Meyering  <meyering@lucent.com>
98612
98613         With these changes, nanosleep.[ch] are finally enough like the other
98614         lib/* replacement files to compile on a few more losing systems.
98615
98616         * lib/nanosleep.h: Don't include config.h.
98617         Remove prototype from declaration of nanosleep.
98618         (PARAMS): Remove now-unneeded definition.
98619         * lib/nanosleep.c: #undef nanosleep.
98620         (rpl_nanosleep): Rename from nanosleep.
98621
98622 2000-02-10  Jim Meyering  <meyering@lucent.com>
98623
98624         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98625         gnu_nanosleep to rpl_nanosleep.
98626
98627 2000-02-09  Jim Meyering  <meyering@lucent.com>
98628
98629         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98630         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98631
98632 2000-02-08  Akim Demaille  <akim@epita.fr>
98633
98634         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98635         `[' and `]' and remove uses of `changequote'.
98636         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98637         (AC_SYS_LARGEFILE): Likewise.
98638         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98639         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98640         of changequote.
98641         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98642         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98643         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98644         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98645
98646 2000-02-05  Jim Meyering  <meyering@lucent.com>
98647
98648         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98649         Remove explicit use of AC_HEADER_TIME.  It is required by
98650         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98651         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98652         in autoconf whereby the expansion of the latter ended up preceding
98653         the expansion of its prerequisite, AC_HEADER_TIME.
98654         Reported by Volker Borchert.
98655
98656 2000-02-03  Jim Meyering  <meyering@lucent.com>
98657
98658         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98659
98660 2000-02-03  Jim Meyering  <meyering@lucent.com>
98661
98662         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98663         rather than with `#if HAVE_UTMPNAME'.
98664
98665 2000-02-02  Jim Meyering  <meyering@lucent.com>
98666
98667         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98668         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98669         Reported by Eli Zaretskii.
98670
98671 2000-02-01  Jim Meyering  <meyering@lucent.com>
98672
98673         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98674
98675 2000-01-31  Jim Meyering  <meyering@lucent.com>
98676
98677         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98678         functions.  Add the time.h and sys/time.h headers along with the
98679         AC_REQUIRE'ment of AC_HEADER_TIME.
98680
98681 2000-01-31  Jim Meyering  <meyering@lucent.com>
98682
98683         * lib/nanosleep.h (nanosleep): Guard declaration with
98684         `#if ! HAVE_DECL_NANOSLEEP'.
98685         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98686         the declaration in that vendor's sys/timers.h.
98687         Reported by Christian Krackowizer.
98688
98689         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98690         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98691         (ISPRINT): Likewise.
98692         Reported by Tom Tromey.
98693
98694 2000-01-30  Jim Meyering  <meyering@lucent.com>
98695
98696         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98697
98698         * m4/prereq.m4 (utmp_includes): Define.
98699         Check for ut_user and ut_name members in both struct utmpx
98700         and struct utmp.
98701
98702 2000-01-30  Jim Meyering  <meyering@lucent.com>
98703
98704         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98705         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98706         header files where only utmpx.ut_user is declared.
98707
98708         * lib/readutmp.h (UT_USER): Define.
98709
98710 2000-01-29  Jim Meyering  <meyering@lucent.com>
98711
98712         * m4/lib-check.m4: New file containing library-related checks from
98713         fileutils and sh-utils (textutils had none).
98714
98715 2000-01-28  Jim Meyering  <meyering@lucent.com>
98716
98717         * m4/perl.m4: Change format of warning message to look more like that
98718         from the missing script.  Suggestion from François Pinard.
98719
98720 2000-01-25  Jim Meyering  <meyering@lucent.com>
98721
98722         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
98723         well as time.h in the compile check.
98724         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
98725         Fix typo in cross-compiling case: s/yes/no/.
98726
98727 2000-01-23  Jim Meyering  <meyering@lucent.com>
98728
98729         * m4/jm-macros.m4: Move df-related tests here from
98730         fileutils/configure.in
98731
98732         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
98733         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
98734
98735         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
98736         s/space/ac_fsusage_space/.
98737         (jm_FILE_SYSTEM_USAGE): Take two parameters.
98738
98739         * m4/ftruncate.m4: New file (derived from part of
98740         fileutils/configure.in).
98741         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
98742         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
98743
98744         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
98745         AC_SUBST these here, rather than just in sh-util/configure.in, so
98746         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
98747         all the same.
98748         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
98749         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
98750         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
98751         (AC_SUBST(POW_LIBM)): Likewise.
98752         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
98753
98754 2000-01-23  Jim Meyering  <meyering@lucent.com>
98755
98756         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
98757         obstack.c.
98758
98759 2000-01-22  Jim Meyering  <meyering@lucent.com>
98760
98761         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
98762
98763         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
98764
98765         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
98766         configure.in
98767         (AC_CHECK_HEADERS): Likewise for sh-utils.
98768         (AC_CHECK_HEADERS): Likewise for textutils.
98769         Merge the three lists of headers.
98770
98771         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
98772         from fileutils' configure.in.
98773
98774         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
98775         code. Moved tests into their own function (_jm_DECL_HEADERS) in
98776         check-decl.m4.
98777
98778         * m4/check-decl.m4: Use #if rather than #ifdef.
98779         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
98780         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
98781         (_jm_DECL_HEADERS): Define new function.
98782         (jm_CHECK_DECLARATIONS): Require it.
98783
98784 2000-01-22  Jim Meyering  <meyering@lucent.com>
98785
98786         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
98787         [! HAVE_DECL_STRTOULL]: Declare strtoull.
98788         Required for some AIX systems.  Reported by Christian Krackowizer.
98789         [TESTING] (main): New function.
98790
98791         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
98792         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
98793         letters.
98794
98795         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
98796         iswprint.
98797
98798         * lib/strverscmp.c (ISDIGIT): Define.
98799         (strverscmp): Use ISDIGIT, not isdigit.
98800
98801 2000-01-19  Jim Meyering  <meyering@lucent.com>
98802
98803         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
98804         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
98805         defines `struct timespec' in <sys/time.h>
98806
98807         * m4/c-bs-a.m4: Remove uses of changequote altogether.
98808         Thanks to Akim for explaining.
98809
98810 2000-01-17  Paul Eggert  <eggert@twinsun.com>
98811
98812         * lib/nanosleep.c (nanosleep):
98813         Don't use SA_INTERRUPT to decide whether to call sigaction, as
98814         POSIX.1 doesn't require SA_INTERRUPT and some systems
98815         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
98816         it's been part of POSIX.1 since day 1 (in 1988).
98817
98818 2000-01-17  Jim Meyering  <meyering@lucent.com>
98819
98820         * lib/interlock: Remove unused file.  Reported by François Pinard.
98821
98822 2000-01-16  Paul Eggert  <eggert@twinsun.com>
98823
98824         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
98825         alert, backslash, formfeed, and vertical tab unnecessarily in
98826         shell quoting style.
98827
98828 2000-01-16  Jim Meyering  <meyering@lucent.com>
98829
98830         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
98831         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
98832         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
98833         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
98834
98835 2000-01-16  Jim Meyering  <meyering@lucent.com>
98836
98837         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
98838         because the latter didn't work.
98839
98840 2000-01-15  Jim Meyering  <meyering@lucent.com>
98841
98842         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
98843         (AC_REPLACE_FUNCS): Add memcpy and memset.
98844         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
98845         Add strpbrk.
98846         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
98847
98848 2000-01-12  Jim Meyering  <meyering@lucent.com>
98849
98850         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
98851         (jm_PREREQ): Use it.
98852         (jm_PREREQ_READUTMP): New macro.
98853         (jm_PREREQ): Use it.
98854
98855 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98856
98857         Quote multibyte characters correctly.
98858         * m4/c-bs-a.m4: New file.
98859         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
98860         (jm_PREREQ): Use it.
98861
98862 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98863
98864         * m4/uintmax_t.m4: Port to autoconf 2.13.
98865
98866 2000-01-08  Jim Meyering  <meyering@ascend.com>
98867
98868         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
98869         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
98870
98871 2000-01-04  Jim Meyering  <meyering@ascend.com>
98872
98873         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98874         jm_STRUCT_DIRENT_D_TYPE.
98875         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98876         jm_STRUCT_DIRENT_D_INO.
98877         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98878         jm_STRUCT_UTIMBUF.
98879         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98880         renamings.
98881         * m4/utime.m4: Likewise.
98882
98883         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
98884         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
98885
98886 2000-01-03  Paul Eggert  <eggert@twinsun.com>
98887
98888         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
98889         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
98890
98891 2000-01-02  Jim Meyering  <meyering@ascend.com>
98892
98893         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
98894         remember if this is necessary.
98895
98896 1999-12-26  Jim Meyering  <meyering@ascend.com>
98897
98898         * m4/jm-macros.m4: Use it here.
98899         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
98900
98901 1999-12-23  Jim Meyering  <meyering@ascend.com>
98902
98903         * m4/jm-macros.m4: Check for clock_gettime (moved from
98904         fileutils/configure.in)
98905         Check for gettimeofday.
98906
98907 1999-12-20  Jim Meyering  <meyering@ascend.com>
98908
98909         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
98910         autoconf-2.14a-1999-12-20.
98911
98912 1999-12-19  Jim Meyering  <meyering@ascend.com>
98913
98914         * m4/lstat-slash.m4: New file.
98915         * m4/jm-macros.m4: Use the new macro:
98916         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98917
98918 1999-12-07  Jim Meyering  <meyering@ascend.com>
98919
98920         * m4/perl.m4: Require that File::Compare be available, too.
98921         Too many systems seem to lack it.
98922
98923         * m4/strftime.m4: Add checks for most of the cpp macros tested in
98924         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
98925
98926 1999-11-18  Paul Eggert  <eggert@twinsun.com>
98927
98928         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
98929         problem with the QNX 4.25 shell, which doesn't propagate exit
98930         status of failed commands inside shell assignments.
98931
98932 1999-11-17  Jim Meyering  <meyering@ascend.com>
98933
98934         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
98935
98936 1999-11-07  Jim Meyering  <meyering@ascend.com>
98937
98938         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
98939
98940 1999-11-06  Jim Meyering  <meyering@ascend.com>
98941
98942         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
98943         * m4/jm-macros.m4 (jm_MACROS): Use it here.
98944
98945 1999-11-05  Jim Meyering  <meyering@ascend.com>
98946
98947         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
98948         configure.in of textutils, fileutils, and sh-utils into this one
98949         (shared between those packages) file.
98950         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
98951         AC_STRUCT_ST_BLKSIZE.
98952
98953 1999-11-03  Jim Meyering  <meyering@ascend.com>
98954
98955         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
98956         of AC_CHECK_TYPE checks includes unistd.h.
98957         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
98958         Suggestion from Akim Demaille.
98959
98960 1999-10-30  Jim Meyering  <meyering@ascend.com>
98961
98962         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
98963         m4-quoted string.
98964         * m4/ls-mntd-fs.m4: Likewise.
98965         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
98966         * m4/jm-winsz1.m4: Likewise.
98967
98968         * m4/const.m4: Remove file, since the fix made it into the experimental
98969         version of autoconf.
98970         * m4/mktime.m4: Likewise.
98971
98972         * m4/check-type.m4: Remove file, now that the latest version of
98973         AC_CHECK_TYPE takes a third arg to specify additional #includes.
98974
98975         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
98976         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
98977         AC_CHECK_TYPE.
98978
98979 1999-10-04  Jim Meyering  <meyering@ascend.com>
98980
98981         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
98982
98983 1999-09-22  Paul Eggert  <eggert@twinsun.com>
98984
98985         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
98986         2.95.1 bug with HP-UX 10.20.
98987
98988 1999-09-17  Jim Meyering  <meyering@ascend.com>
98989
98990         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
98991         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
98992         due to missing strdup (against sh-utils-2.0).
98993
98994 1999-08-29  Jim Meyering  <meyering@ascend.com>
98995
98996         * m4/jm-macros.m4: Require jm_BISON.
98997         * m4/bison.m4: New file.
98998
98999 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99000
99001         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99002         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99003
99004 1999-08-05  Jim Meyering  <meyering@ascend.com>
99005
99006         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99007         to avoid conflicts with `conftest' on 8+3 filesystems.
99008         Suggestion from Eli Zaretskii.
99009
99010 1999-08-04  Jim Meyering  <meyering@ascend.com>
99011
99012         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99013         fileutils and sh-utils (textutils's getline test was inadequate).
99014         (AM_FUNC_GETLINE): Run this test.
99015         (AC_CHECK_FUNCS): Check for getdelim.
99016         Reported by Bob Proulx.
99017
99018 1999-08-02  Jim Meyering  <meyering@ascend.com>
99019
99020         * m4/jm-macros.m4: Add a comment.
99021
99022 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99023
99024         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99025         <inttypes.h> defines strtoumax as a macro (and not as a
99026         function).
99027
99028 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99029
99030         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99031         that we can shift, multiply and divide unsigned long long
99032         values; Ultrix cc can't do it.
99033
99034 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99035
99036         * m4/mktime.m4: New file, which is a preview of what should appear
99037         in the next public autoconf release.
99038
99039 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99040
99041         * m4/lfs.m4: Remove this file.
99042         * m4/largefile.m4: New file.  It contains the old contents of
99043         lfs.m4, except that all names with prefix AC_LFS have been
99044         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99045         compatible with future autoconf versions.  Also, some minor m4
99046         quoting problems have been fixed.
99047
99048 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99049
99050         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99051         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99052         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99053         and simplify the shell code.
99054
99055 1999-08-01  Jim Meyering  <meyering@ascend.com>
99056
99057         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99058         m4.
99059
99060 1999-07-20  Jim Meyering  <meyering@ascend.com>
99061
99062         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99063
99064 1999-07-15  Jim Meyering  <meyering@ascend.com>
99065
99066         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99067
99068 1999-05-22  Jim Meyering  <meyering@ascend.com>
99069
99070         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99071
99072 1999-05-20  Jim Meyering  <meyering@ascend.com>
99073
99074         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99075         Add a colon after each `then' in case $4 is empty.
99076
99077 1999-05-16  Jim Meyering  <meyering@ascend.com>
99078
99079         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99080
99081 1999-05-10  Jim Meyering  <meyering@ascend.com>
99082
99083         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99084
99085         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99086         AC_FUNC_MKTIME.
99087
99088 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99089
99090         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99091
99092 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99093
99094         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99095         not CPPFLAGS, so that linking works correctly in IRIX.
99096
99097 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99098
99099         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99100
99101 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99102
99103         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99104         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99105         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99106         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99107         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99108
99109         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99110
99111 1999-04-20  Jim Meyering  <meyering@ascend.com>
99112
99113         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99114         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99115         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99116
99117 1999-04-18  Jim Meyering  <meyering@ascend.com>
99118
99119         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99120         * m4/jm-macros.m4: Use it.
99121
99122 1999-04-06  Jim Meyering  <meyering@ascend.com>
99123
99124         * m4/strftime.m4: Remove test for %f.
99125
99126 1999-03-29  Jim Meyering  <meyering@ascend.com>
99127
99128         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99129         superset of the AC_TYPE_* checks in the textutils, fileutils,
99130         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99131         AC_TYPE_PID_T.
99132
99133 1999-03-28  Jim Meyering  <meyering@ascend.com>
99134
99135         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99136         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99137         replaced e.g., in the *.sh files of the sh-utils.
99138
99139 1999-03-20  Jim Meyering  <meyering@ascend.com>
99140
99141         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99142         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99143         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99144
99145 1999-03-19  Jim Meyering  <meyering@ascend.com>
99146
99147         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99148
99149 1999-03-12  Jim Meyering  <meyering@ascend.com>
99150
99151         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99152
99153 1999-03-07  Jim Meyering  <meyering@ascend.com>
99154
99155         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99156         declared.
99157
99158 1999-02-17  Jim Meyering  <meyering@ascend.com>
99159
99160         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99161         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99162
99163 1999-02-07  Jim Meyering  <meyering@ascend.com>
99164
99165         * m4/group-member.m4: New file -- extracted from sh-utils'
99166         configure.in.
99167
99168         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99169         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99170
99171 1999-02-06  Jim Meyering  <meyering@ascend.com>
99172
99173         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99174         * m4/fnmatch.m4: Likewise.
99175         * m4/getgroups.m4: Likewise.
99176         * m4/lstat.m4: Likewise.
99177         * m4/malloc.m4: Likewise.
99178         * m4/putenv.m4: Likewise.
99179         * m4/realloc.m4: Likewise.
99180         * m4/regex.m4: Likewise.
99181         * m4/stat.m4: Likewise.
99182         * m4/strftime.m4: Likewise.
99183         Suggestion from Alain Magloire.
99184
99185         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99186         * m4/fnmatch.m4: Likewise.
99187         * m4/getgroups.m4: Likewise.
99188         * m4/getline.m4: Likewise.
99189         * m4/lstat.m4: Likewise.
99190         * m4/malloc.m4: Likewise.
99191         * m4/memcmp.m4: Likewise.
99192         * m4/putenv.m4: Likewise.
99193         * m4/realloc.m4: Likewise.
99194         * m4/regex.m4: Likewise.
99195         * m4/stat.m4: Likewise.
99196         * m4/strftime.m4: Likewise.
99197         Suggestion from Alain Magloire.
99198
99199         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99200         an argument.
99201
99202         * m4/regex.m4: Add a run-time Test for proper operation of
99203         re_compile_pattern.
99204
99205 1999-01-31  Jim Meyering  <meyering@ascend.com>
99206
99207         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99208
99209 1999-01-30  Jim Meyering  <meyering@ascend.com>
99210
99211         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99212
99213         * m4/jm-mktime.m4: Make this a wrapper around the official
99214         AM_FUNC_MKTIME rather than my private copy, now that the official one
99215         is up to date.
99216         * m4/mktime.m4: Remove file.
99217
99218         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99219         * m4/uptime.m4: Likewise.
99220         * m4/uintmax_t.m4: Likewise.
99221
99222 1999-01-28  Jim Meyering  <meyering@ascend.com>
99223
99224         * m4/jm-macros.m4: Use jm_AFS.
99225         * m4/afs.m4: New file (from fileutils' configure.in).
99226
99227         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99228         * m4/chown.m4: Likewise.
99229         * m4/d-ino.m4: Likewise.
99230         * m4/d-type.m4: Likewise.
99231         * m4/fnmatch.m4: Likewise.
99232         * m4/getgroups.m4: Likewise.
99233         * m4/gettext.m4: Likewise.
99234         * m4/jm-mktime.m4: Likewise.
99235         * m4/jm-winsz2.m4: Likewise.
99236         * m4/lcmessage.m4: Likewise.
99237         * m4/ls-mntd-fs.m4: Likewise.
99238         * m4/malloc.m4: Likewise.
99239         * m4/memcmp.m4: Likewise.
99240         * m4/putenv.m4: Likewise.
99241         * m4/realloc.m4: Likewise.
99242         * m4/st_mtim.m4: Likewise.
99243         * m4/strftime.m4: Likewise.
99244
99245 1999-01-16  Jim Meyering  <meyering@ascend.com>
99246
99247         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99248         (ARGMATCH_DIE_DECL): Define.
99249
99250 1999-01-12  Jim Meyering  <meyering@ascend.com>
99251
99252         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99253         Reported by Lars Hecking.
99254
99255 1999-01-10  Jim Meyering  <meyering@ascend.com>
99256
99257         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99258         gross kludge.
99259         * m4/inttypes_h.m4: Likewise.
99260         * m4/lstat.m4: Likewise.
99261         * m4/malloc.m4: Likewise.
99262         * m4/readdir.m4: Likewise.
99263         * m4/realloc.m4: Likewise.
99264         * m4/st_dm_mode.m4: Likewise.
99265         * m4/stat.m4: Likewise.
99266         * m4/utimbuf.m4: Likewise.
99267         * m4/utimes.m4: Likewise.
99268
99269         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99270         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99271         comments in config.h.in are meaningful.
99272
99273         * m4/jm-macros.m4: Require autoconf-2.13 here.
99274
99275         * m4/regex.m4: By default, don't use the included regex.c on systems
99276         with glibc 2.  Suggestion from Uli Drepper.
99277
99278 1999-01-02  Jim Meyering  <meyering@ascend.com>
99279
99280         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99281
99282 1998-12-18  Jim Meyering  <meyering@ascend.com>
99283
99284         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99285         Based on a suggestion from Lars Hecking.
99286
99287 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99288
99289         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99290
99291 1998-11-16  Jim Meyering  <meyering@ascend.com>
99292
99293         * m4/lfs.m4: Double-quote the `uname...` expression.
99294
99295 1998-11-14  Jim Meyering  <meyering@ascend.com>
99296
99297         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99298         * m4/stat.m4: Likewise.
99299
99300 1998-11-03  Jim Meyering  <meyering@ascend.com>
99301
99302         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99303         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99304
99305 1998-10-18  Jim Meyering  <meyering@ascend.com>
99306
99307         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99308
99309 1998-10-17  Jim Meyering  <meyering@ascend.com>
99310
99311         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99312         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99313         calls for those previously hard-coded headers.  Instead, take a new
99314         parameter.
99315         (jm_CHECK_DECLARATIONS): Reflect interface change.
99316         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99317         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99318
99319         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99320
99321 1998-10-14  Jim Meyering  <meyering@ascend.com>
99322
99323         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99324         instead of "TZ=America/Vancouver".  From Paul Eggert.
99325
99326 1998-10-11  Jim Meyering  <meyering@ascend.com>
99327
99328         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99329         This adds a test for a recently added compatibility fix for mktime.c.
99330         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99331
99332 1998-09-27  Jim Meyering  <meyering@ascend.com>
99333
99334         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99335
99336         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99337         ../configure.in, including a change from Gordon Matzigkeit to allow
99338         cross-compiling for the Hurd.
99339
99340         * m4/glibc.m4: New file/macro to test for the GNU C Library
99341         versions 1 and 2.  From Gordon Matzigkeit.
99342         Indent.
99343
99344 1998-09-21  Jim Meyering  <meyering@ascend.com>
99345
99346         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99347
99348 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99349
99350         Port nanosecond-resolution times to UnixWare 2.1.2 and
99351         pedantic Solaris 2.6.
99352
99353         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99354         AC_STRUCT_ST_MTIM.
99355         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99356         Generate name of ns member, instead of just 1 or undef.
99357         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99358
99359 1998-08-15  Jim Meyering  <meyering@ascend.com>
99360
99361         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99362         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99363         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99364         instead of jm_TYPE_SSIZE_T.
99365
99366 1998-08-12  Jim Meyering  <meyering@ascend.com>
99367
99368         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99369
99370 1998-08-02  Jim Meyering  <meyering@ascend.com>
99371
99372         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99373         in acconfig.h manually.
99374
99375 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99376
99377         * m4/st_mtim.m4: New file.
99378
99379 1998-07-28  Jim Meyering  <meyering@ascend.com>
99380
99381         * m4/utimes.m4: Undef stat.
99382
99383 1998-07-25  Jim Meyering  <meyering@ascend.com>
99384
99385         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99386         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99387
99388 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99389
99390         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99391         uid and gid actually remain unchanged.
99392
99393 1998-07-07  Jim Meyering  <meyering@ascend.com>
99394
99395         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99396
99397 1998-07-04  Jim Meyering  <meyering@ascend.com>
99398
99399         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99400         to prove that this macro can be used in packages without regex.c.
99401
99402 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99403
99404         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99405         is to be used.
99406
99407 1998-07-03  Jim Meyering  <meyering@ascend.com>
99408
99409         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99410
99411         * m4/gettext.m4: New file -- from gettext-0.10.35.
99412         * m4/lcmessage.m4: Likewise.
99413         * m4/progtest.m4: Likewise.
99414
99415         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99416         * m4/jm-macros.m4: Require the new macro.
99417
99418 1998-06-29  Jim Meyering  <meyering@ascend.com>
99419
99420         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99421         for the definition of NGROUPS (used in a system header included
99422         by sys/mount.h).
99423
99424 1998-06-28  Jim Meyering  <meyering@ascend.com>
99425
99426         * m4/ls-mntd-fs.m4: New file.
99427         * m4/fstypename.m4: New file.
99428
99429         * m4/jm-macros.m4: Require the new macro.
99430         * m4/jm-glibc-io.m4: New file.
99431
99432 1998-05-19  Jim Meyering  <meyering@ascend.com>
99433
99434         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99435         * m4/lchown.m4: New file.
99436
99437         * m4/Makefile.am.in: New file.
99438         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99439
99440 1998-05-14  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/Makefile.am (EXTRA_DIST): Add them.
99443         * m4/jm-macros.m4: New file.
99444         * m4/utimbuf.m4: New file.
99445
99446 1998-05-12  Jim Meyering  <meyering@ascend.com>
99447
99448         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99449
99450 1998-05-11  Jim Meyering  <meyering@ascend.com>
99451
99452         * m4/isc-posix.m4: New file.
99453
99454 1998-05-10  Jim Meyering  <meyering@ascend.com>
99455
99456         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99457
99458 1998-05-09  Jim Meyering  <meyering@ascend.com>
99459
99460         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99461         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99462         with automake.
99463
99464         * m4/ssize_t.m4: New file.
99465         * m4/mktime.m4: Remove file -- the new automake has this now.
99466
99467 1998-04-26  Jim Meyering  <meyering@ascend.com>
99468
99469         * m4/assert.m4: New file.
99470         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99471
99472 1998-04-05  Jim Meyering  <meyering@ascend.com>
99473
99474         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99475         (jm_PREREQ): Use it here.
99476
99477 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99478
99479         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99480         in acconfig.h.
99481
99482 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99483
99484         * m4/prereq.m4: New file.
99485         * m4/error.m4: New file.
99486         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99487
99488 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99489
99490         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99491         cache-check for the same variable -- that defeated the purpose of
99492         the test; the test program was never run.  This was a problem only
99493         on systems with losing getline functions -- HP-UX 10.20 is one.
99494         Reported by Bjorn Helgaas.
99495
99496 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99497
99498         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99499
99500 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99501
99502         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99503
99504         * m4/const.m4: New file.  Use an initializer in this declaration
99505         typedef int charset[2]; const charset x;
99506         Reported by Bob Glickstein.
99507
99508 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99509
99510         * m4/chown.m4: Fix reversed types on -1 args to chown.
99511         From Kaveh Ghazi.
99512
99513 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99514
99515         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99516         Add lseek and memchr.
99517
99518         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99519         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99520         have a 20-character limit on names.
99521
99522 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99523
99524         * m4/inttypes_h.m4: New file.
99525         * m4/uintmax_t.m4: New file.
99526         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99527
99528
99529         -----
99530
99531         Local Variables:
99532         coding: utf-8
99533         End:
99534
99535         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99536
99537         Copying and distribution of this file, with or without
99538         modification, are permitted provided the copyright notice
99539         and this notice are preserved.